From c89152faa2a55fb14062ec738046874a33855eef Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 15 Jun 2021 11:23:28 -0400 Subject: [PATCH 01/41] more liquid fixes --- content/admin/overview/managing-billing-for-your-enterprise.md | 2 +- .../about-repository-visibility.md | 2 +- data/reusables/enterprise_installation/replica-limit.md | 2 +- data/reusables/secret-scanning/beta.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/admin/overview/managing-billing-for-your-enterprise.md b/content/admin/overview/managing-billing-for-your-enterprise.md index 04a6d42e01..1d37d9d212 100644 --- a/content/admin/overview/managing-billing-for-your-enterprise.md +++ b/content/admin/overview/managing-billing-for-your-enterprise.md @@ -42,7 +42,7 @@ You can see your current usage in your [Azure account portal](https://portal.azu Enterprise accounts are currently available to {% data variables.product.prodname_enterprise %} customers paying by invoice. Billing for all of the organizations and {% data variables.product.prodname_ghe_server %} instances connected to your enterprise account is aggregated into a single bill charge for all of your paid {% data variables.product.prodname_dotcom_the_website %} services (including paid licenses in organizations, {% data variables.large_files.product_name_long %} data packs, and subscriptions for {% data variables.product.prodname_marketplace %} apps). -Enterprise owners and billing managers can access and manage all billing settings for enterprise accounts. For more information about enterprise accounts, {% if currentVersion == "free-pro-team@latest" or "github-ae@latest" %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)."For more information about managing billing managers, see "[Inviting people to manage your enterprise](/github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise)." +Enterprise owners and billing managers can access and manage all billing settings for enterprise accounts. For more information about enterprise accounts, {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)."For more information about managing billing managers, see "[Inviting people to manage your enterprise](/github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise)." ## Viewing your current invoice diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility.md index 0a9b25e853..fec288c4d2 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility.md @@ -37,7 +37,7 @@ People with admin permissions for a repository can change an existing repository {% data reusables.repositories.about-internal-repos %} For more information on innersource, see {% data variables.product.prodname_dotcom %}'s whitepaper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)." -All enterprise members have read permissions to the internal repository, but internal repositories are not visible to people {% if currentVersion == "free-pro-team@latest" %}outside of the enterprise{% else %}who are not members of an organization{% endif %}, including outside collaborators on organization repositories. For more information, see {% if currentVersion == "free-pro-team@latest" or "github-ae@latest" %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)." +All enterprise members have read permissions to the internal repository, but internal repositories are not visible to people {% if currentVersion == "free-pro-team@latest" %}outside of the enterprise{% else %}who are not members of an organization{% endif %}, including outside collaborators on organization repositories. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)." {% data reusables.repositories.internal-repo-default %} diff --git a/data/reusables/enterprise_installation/replica-limit.md b/data/reusables/enterprise_installation/replica-limit.md index 21bd197854..651ca9a206 100644 --- a/data/reusables/enterprise_installation/replica-limit.md +++ b/data/reusables/enterprise_installation/replica-limit.md @@ -1,4 +1,4 @@ -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% if currentVersion ver_gt "enterprise-server@2.21" %} {% note %} **Note:** There is a maximum of 8 high availability replicas (both passive and active/geo replicas) allowed for {% data variables.product.product_name %}. diff --git a/data/reusables/secret-scanning/beta.md b/data/reusables/secret-scanning/beta.md index 6adcb7d57e..6fe10a2992 100644 --- a/data/reusables/secret-scanning/beta.md +++ b/data/reusables/secret-scanning/beta.md @@ -1,4 +1,4 @@ -{% if currentVersion == "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} {% note %} **Note:** {% data variables.product.prodname_secret_scanning_caps %} for organization-owned repositories is currently in beta and subject to change. From eb31eca24010b28fb1cbcfc225198efd2650b41e Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 15 Jun 2021 12:55:33 -0400 Subject: [PATCH 02/41] more liquid fixes --- .../creating-issues/creating-an-issue.md | 2 +- .../notifications/vulnerable-dependency-notification-options.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue.md b/content/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue.md index 79edf63c61..cb4be39347 100644 --- a/content/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue.md +++ b/content/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue.md @@ -41,7 +41,7 @@ If you're using a project board to track and prioritize your work, you can conve ![New Issues button](/assets/images/help/issues/new_issues_button.png) 4. If there are multiple issue types, click **Get started** next to the type of issue you'd like to open. ![Select the type of issue you want to create](/assets/images/help/issues/issue_template_get_started_button.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion >= "enterprise-server@2.21" %} +{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} 5. Optionally, click **Open a blank issue.** if the type of issue you'd like to open isn't included in the available options. ![Link to open a blank issue](/assets/images/help/issues/blank_issue_link.png) {% else %} diff --git a/data/reusables/notifications/vulnerable-dependency-notification-options.md b/data/reusables/notifications/vulnerable-dependency-notification-options.md index c85f038f8a..8bd3744ea0 100644 --- a/data/reusables/notifications/vulnerable-dependency-notification-options.md +++ b/data/reusables/notifications/vulnerable-dependency-notification-options.md @@ -1,5 +1,5 @@ {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} -{% if currentVersion == "free-pro-team@latest"%}By default, you will receive notifications:{% endif %}{% if enterpriseServerVersions contains currentVersion and currentVersion gt "enterprise-server@3.1" %}By default, if your site administrator has configured email for notifications on your instance, you will receive {% data variables.product.prodname_dependabot_alerts %}:{% endif %} +{% if currentVersion == "free-pro-team@latest"%}By default, you will receive notifications:{% endif %}{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@3.1" %}By default, if your site administrator has configured email for notifications on your instance, you will receive {% data variables.product.prodname_dependabot_alerts %}:{% endif %} - by email, an email is sent when {% data variables.product.prodname_dependabot %} is enabled for a repository, when a new manifest file is committed to the repository, and when a new vulnerability with a critical or high severity is found (**Email each time a vulnerability is found** option). - in the user interface, a warning is shown in your repository's file and code views if there are any vulnerable dependencies (**UI alerts** option). From 8d3375d75c22b2e579c3d3a30c874c0c61e9088b Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 15 Jun 2021 13:39:19 -0400 Subject: [PATCH 03/41] remove deprecated content --- ...ependencies-on-github-enterprise-server.md | 3 - ...-management-policies-in-your-enterprise.md | 8 --- .../creating-a-github-app-from-a-manifest.md | 5 -- ...g-and-authorizing-users-for-github-apps.md | 3 - .../reviewing-your-security-log.md | 2 +- .../about-git-large-file-storage.md | 2 +- ...bout-alerts-for-vulnerable-dependencies.md | 2 +- .../linking-a-pull-request-to-an-issue.md | 2 +- content/rest/overview/api-previews.md | 56 ------------------- .../permissions-required-for-github-apps.md | 3 - content/rest/reference/repos.md | 9 +-- .../apps/deprecating_github_services_ghe.md | 7 --- .../deprecating_token_oauth_authorizations.md | 17 ------ .../pre-release-program/fury-pre-release.md | 11 ---- 14 files changed, 5 insertions(+), 125 deletions(-) delete mode 100644 data/reusables/apps/deprecating_github_services_ghe.md delete mode 100644 data/reusables/apps/deprecating_token_oauth_authorizations.md delete mode 100644 data/reusables/pre-release-program/fury-pre-release.md diff --git a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server.md b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server.md index 32cb9c7faa..dc0823d6c9 100644 --- a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server.md +++ b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server.md @@ -28,9 +28,6 @@ After connecting {% data variables.product.product_location %} to {% data variab {% if currentVersion == "enterprise-server@2.21" %}When {% data variables.product.product_location %} receives information about a vulnerability, it will identify repositories in your instance that use the affected version of the dependency and generate security alerts. You can customize how you receive security alerts. For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies/#configuring-notifications-for-security-alerts)." {% endif %} -{% if currentVersion ver_lt "enterprise-server@2.21" %}When {% data variables.product.product_location %} receives information about a vulnerability, it will identify repositories in your instance that use the affected version of the dependency and generate security alerts. You can customize how you receive security alerts. For more information, see "[Choosing the delivery method for your notifications](/github/receiving-notifications-about-activity-on-github/choosing-the-delivery-method-for-your-notifications#choosing-the-delivery-method-for-security-alerts-for-vulnerable-dependencies)." -{% endif %} - {% if currentVersion ver_gt "enterprise-server@2.21" %} ## Enabling {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies on {% data variables.product.prodname_ghe_server %} {% else %} diff --git a/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md index ac0a5823b9..740c9b4901 100644 --- a/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md +++ b/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -107,14 +107,6 @@ To keep your repository size manageable and prevent performance issues, you can By default, when you enforce repository upload limits, people cannot add or update files larger than 100 MB. -{% if currentVersion ver_lt "enterprise-server@2.20" %} -{% tip %} - -**Note:** Only files larger than {% data variables.large_files.warning_size %} will be checked against the Git push limit. If you need to set a lower push limit, contact {% data variables.contact.contact_ent_support %} for assistance. - -{% endtip %} -{% endif %} - {% data reusables.enterprise-accounts.access-enterprise %} {% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} {% data reusables.enterprise-accounts.policies-tab %} diff --git a/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md b/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md index 05662d8139..dfe3589e7f 100644 --- a/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md +++ b/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md @@ -173,11 +173,6 @@ You must complete this step of the GitHub App Manifest flow within one hour. {% endnote %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" %} -{% data reusables.pre-release-program.fury-pre-release %} -{% data reusables.pre-release-program.api-preview-warning %} -{% endif %} - POST /app-manifests/{code}/conversions For more information about the endpoint's response, see [Create a GitHub App from a manifest](/rest/reference/apps#create-a-github-app-from-a-manifest). diff --git a/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md b/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md index 9cd5fcac7d..3c7d4a1e34 100644 --- a/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md +++ b/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md @@ -465,9 +465,6 @@ While most of your API interaction should occur using your server-to-server inst * [List teams](/rest/reference/teams#list-teams) * [Create a team](/rest/reference/teams#create-a-team) * [Get a team by name](/rest/reference/teams#get-a-team-by-name) -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" %} -* [Get a team](/rest/reference/teams#get-a-team) -{% endif %} * [Update a team](/rest/reference/teams#update-a-team) * [Delete a team](/rest/reference/teams#delete-a-team) {% if currentVersion == "free-pro-team@latest" %} diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md index d2fa36bd68..ed22a5ae28 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md @@ -15,7 +15,7 @@ topics: --- ## Accessing your security log -The security log lists all actions performed within the last 90 days{% if currentVersion ver_lt "enterprise-server@2.20" %}, up to 50{% endif %}. +The security log lists all actions performed within the last 90 days. {% data reusables.user_settings.access_settings %} {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} diff --git a/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md b/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md index 2f8ad993f3..824b0e9b8f 100644 --- a/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md +++ b/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md @@ -21,7 +21,7 @@ Using {% data variables.large_files.product_name_short %}, you can store files u | {% data variables.product.prodname_pro %} | 2 GB | | {% data variables.product.prodname_team %} | 4 GB | | {% data variables.product.prodname_ghe_cloud %} | 5 GB |{% else %} -Using {% data variables.large_files.product_name_short %}, you can store files up to {% if currentVersion ver_lt "enterprise-server@2.21" %}{% data variables.large_files.max_lfs_size %}{% else %}5 GB{% endif %} in your repository. +Using {% data variables.large_files.product_name_short %}, you can store files up to in your repository. {% endif %} You can also use {% data variables.large_files.product_name_short %} with {% data variables.product.prodname_desktop %}. For more information about cloning Git LFS repositories in {% data variables.product.prodname_desktop %}, see "[Cloning a repository from GitHub to GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)." diff --git a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md index 5275870a2d..9df15d6bc7 100644 --- a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md +++ b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md @@ -66,4 +66,4 @@ By default, we notify people with admin permissions in the affected repositories We send security alerts to people with admin permissions in the affected repositories by default. {% data variables.product.product_name %} never publicly discloses identified vulnerabilities for any repository. {% endif %} -{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %}{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" %} For more information, see "[Choosing the delivery method for your notifications](/github/receiving-notifications-about-activity-on-github/choosing-the-delivery-method-for-your-notifications)."{% endif %}{% if currentVersion ver_gt "enterprise-server@2.20" %} For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."{% endif %} +{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %}{% if currentVersion ver_gt "enterprise-server@2.20" %} For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."{% endif %} diff --git a/content/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue.md b/content/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue.md index 97b5f2cf83..138456b947 100644 --- a/content/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue.md +++ b/content/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue.md @@ -25,7 +25,7 @@ topics: You can link an issue to a pull request {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}manually or {% endif %}using a supported keyword in the pull request description. -When you link a pull request to the issue the pull request addresses, collaborators can see that someone is working on the issue. {% if currentVersion ver_lt "enterprise-server@2.21" %}If the pull request and the issue are in different repositories, {% data variables.product.product_name %} will display the link after the pull request is merged, if the person who merges the pull request also has permission to close the issue.{% endif %} +When you link a pull request to the issue the pull request addresses, collaborators can see that someone is working on the issue. When you merge a linked pull request into the default branch of a repository, its linked issue is automatically closed. For more information about the default branch, see "[Changing the default branch](/github/administering-a-repository/changing-the-default-branch)." diff --git a/content/rest/overview/api-previews.md b/content/rest/overview/api-previews.md index 73b1bfe0c6..6c511b2779 100644 --- a/content/rest/overview/api-previews.md +++ b/content/rest/overview/api-previews.md @@ -95,16 +95,6 @@ View all [codes of conduct](/rest/reference/codes-of-conduct) or get which code **Custom media type:** `scarlet-witch-preview` -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.20" %} -## Nested teams - -Include nested team content in [team](/rest/reference/teams) payloads. - -**Custom media type:** `hellcat-preview` -**Announced:** [2017-09-01](https://developer.github.com/changes/2017-08-30-preview-nested-teams) - -{% endif %} - {% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} ## Global webhooks @@ -116,15 +106,6 @@ Enables [global webhooks](/rest/reference/enterprise-admin#global-webhooks/) for {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.20" %} -## Repository transfer - -Transfer a [repository](/rest/reference/repos) to an organization or user. - -**Custom media type:** `nightshade-preview` -**Announced:** [2017-11-09](https://developer.github.com/changes/2017-11-09-repository-transfer-api-preview) -{% endif %} - {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} ## Add lock reason @@ -148,16 +129,6 @@ You can now [require multiple approving reviews](/rest/reference/repos#branches) **Custom media type:** `luke-cage-preview` **Announced:** [2018-03-16](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.19" %} -## Retrieve hovercard information - -Retrieve information from [someone's hovercard](/rest/reference/users#get-contextual-information-for-a-user). - -**Custom media type:** `hagar-preview` -**Announced:** [2018-03-21](https://developer.github.com/changes/2018-03-21-hovercard-api-preview) - -{% endif %} - {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %} ## Check runs and check suites API @@ -216,16 +187,6 @@ You can now provide more information in GitHub for URLs that link to registered **Custom media types:** `corsair-preview` **Announced:** [2018-12-10](https://developer.github.com/changes/2018-12-10-content-attachments-api/) -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" %} -## Draft pull requests - -You can use the Draft Pull Requests API and its [pull request](/rest/reference/pulls) endpoints to see whether a pull request is in draft state. To learn more about draft pull requests, see "[About pull requests](/articles/about-pull-requests/)". - -**Custom media types:** `shadow-cat-preview` -**Announced:** [2019-02-14](https://developer.github.com/changes/2019-02-14-draft-pull-requests/) - -{% endif %} - ## Enable and disable Pages You can use the new endpoints in the [Pages API](/rest/reference/repos#pages) to enable or disable Pages. To learn more about Pages, see "[GitHub Pages Basics](/categories/github-pages-basics)". @@ -240,14 +201,6 @@ You can use two new endpoints in the [Commits API](/rest/reference/repos#commits **Custom media types:** `groot-preview` **Announced:** [2019-04-11](https://developer.github.com/changes/2019-04-11-pulls-branches-for-commit/) -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" %} -## Uninstall a GitHub App - -Owners of GitHub Apps can now uninstall an app using the [Apps API](/rest/reference/apps#delete-an-installation-for-the-authenticated-app). - -**Custom media types:** `gambit-preview` -{% endif %} - ## Enable or disable vulnerability alerts for a repository You can use two new endpoints in the [Repos API](/rest/reference/repos) to enable or disable vulnerability alerts. @@ -278,15 +231,6 @@ You can use a new endpoint to [Create a repository using a template](/rest/refer **Custom media types:** `baptiste-preview` **Announced:** [2019-07-05](https://developer.github.com/changes/2019-07-16-repository-templates-api/) -{% if currentVersion == "enterprise-server@2.20" %} -## New OAuth Applications API endpoints - -You can more securely manage tokens for OAuth Apps by using OAuth tokens as input parameters instead of path parameters with the new [OAuth Applications API](/rest/reference/apps#oauth-applications) endpoints. - -**Custom media types:** `doctor-strange-preview` -**Announced:** [2019-11-05](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api/) -{% endif %} - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} ## New visibility parameter for the Repositories API diff --git a/content/rest/reference/permissions-required-for-github-apps.md b/content/rest/reference/permissions-required-for-github-apps.md index 517f7a35c4..a5f4457976 100644 --- a/content/rest/reference/permissions-required-for-github-apps.md +++ b/content/rest/reference/permissions-required-for-github-apps.md @@ -604,9 +604,6 @@ _Teams_ - [`GET /orgs/:org/teams`](/rest/reference/teams#list-teams) (:read) - [`POST /orgs/:org/teams`](/rest/reference/teams#create-a-team) (:write) - [`GET /orgs/:org/teams/:team_slug`](/rest/reference/teams#get-a-team-by-name) (:read) -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" %} -- [`GET /teams/:team_id`](/rest/reference/teams#get-a-team) (:read) -{% endif %} - [`PATCH /teams/:team_id`](/rest/reference/teams#update-a-team) (:write) - [`DELETE /teams/:team_id`](/rest/reference/teams#delete-a-team) (:write) {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} diff --git a/content/rest/reference/repos.md b/content/rest/reference/repos.md index 5092a4e15c..63a6807317 100644 --- a/content/rest/reference/repos.md +++ b/content/rest/reference/repos.md @@ -337,18 +337,11 @@ The default format is what [existing post-receive hooks should expect](/post-rec #### Callback URLs -Callback URLs can use the `http://` protocol. {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.20" %}You can also `github://` callbacks to specify a GitHub service. -{% data reusables.apps.deprecating_github_services_ghe %} -{% endif %} +Callback URLs can use the `http://` protocol. # Send updates to postbin.org http://postbin.org/123 -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.20" %} - # Send updates to Campfire - github://campfire?subdomain=github&room=Commits&token=abc123 -{% endif %} - #### Subscribing The GitHub PubSubHubbub endpoint is: `{% data variables.product.api_url_code %}/hub`. A successful request with curl looks like: diff --git a/data/reusables/apps/deprecating_github_services_ghe.md b/data/reusables/apps/deprecating_github_services_ghe.md deleted file mode 100644 index b44e17370a..0000000000 --- a/data/reusables/apps/deprecating_github_services_ghe.md +++ /dev/null @@ -1,7 +0,0 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.20" %} -{% note %} - -**Note:** GitHub Enterprise release 2.17 and higher no longer allows admins to install new GitHub Services, and existing services will stop working in GitHub Enterprise release 2.20 and higher. You can use the [Replacing GitHub Services guide](/developers/overview/replacing-github-services) to help you update your services to webhooks. - -{% endnote %} -{% endif %} diff --git a/data/reusables/apps/deprecating_token_oauth_authorizations.md b/data/reusables/apps/deprecating_token_oauth_authorizations.md deleted file mode 100644 index 030d31cf89..0000000000 --- a/data/reusables/apps/deprecating_token_oauth_authorizations.md +++ /dev/null @@ -1,17 +0,0 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.20" %} -{% warning %} - -**Deprecation Notice:** The `token` attribute is deprecated in some OAuth Authorizations API responses: -* List your authorizations -* Get a single authorization -* Get-or-create an authorization for a specific app - `token` is still returned for "create" -* Get-or-create an authorization for a specific app and fingerprint - `token` is still returned for "create" -* Update an existing authorization - -To reduce the impact of removing the `token` value, the OAuth Authorizations API now includes a new request attribute -(`fingerprint`), three new response attributes (`token_last_eight`, `hashed_token`, and `fingerprint`), and the [Get or create an authorization for a specific app and fingerprint](/rest/reference/oauth-authorizations#get-or-create-an-authorization-for-a-specific-app-and-fingerprint) endpoint. - -This functionality became the default for all requests on April 20, 2015. Please see [the blog post](https://developer.github.com/changes/2015-04-20-authorizations-api-response-changes-are-now-in-effect/) for full details. - -{% endwarning %} -{% endif %} diff --git a/data/reusables/pre-release-program/fury-pre-release.md b/data/reusables/pre-release-program/fury-pre-release.md deleted file mode 100644 index adf434c97e..0000000000 --- a/data/reusables/pre-release-program/fury-pre-release.md +++ /dev/null @@ -1,11 +0,0 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" %} -{% note %} - -**Note:** {% data variables.product.prodname_github_app %} Manifests are currently available for developers to preview. To access this API during the preview period, you must provide a custom [media type](/rest/overview/media-types) in the `Accept` header: - -``` -application/vnd.github.fury-preview+json -``` - -{% endnote %} -{% endif %} From bf23c05cb5f9e9dd44b3fe5c049471fcf45a8e80 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 15 Jun 2021 15:03:17 -0400 Subject: [PATCH 04/41] rename helper module --- tests/helpers/get-ifversion-conditionals.js | 17 ----------------- tests/helpers/get-liquid-conditionals.js | 11 +++++++++++ 2 files changed, 11 insertions(+), 17 deletions(-) delete mode 100644 tests/helpers/get-ifversion-conditionals.js create mode 100644 tests/helpers/get-liquid-conditionals.js diff --git a/tests/helpers/get-ifversion-conditionals.js b/tests/helpers/get-ifversion-conditionals.js deleted file mode 100644 index 8d6956a5a9..0000000000 --- a/tests/helpers/get-ifversion-conditionals.js +++ /dev/null @@ -1,17 +0,0 @@ -const renderContent = require('../../lib/render-content') - -module.exports = function getIfversionConditionals (str) { - const conditionals = [] - - renderContent.liquid.parse(str) - .filter(block => block.name === 'ifversion') - // block.impl.branches is the only way to get an array of ifs and elsifs. - .map(block => block.impl.branches.map(branch => branch.cond)) - .forEach(block => { - block.forEach(branch => { - conditionals.push(branch) - }) - }) - - return conditionals -} diff --git a/tests/helpers/get-liquid-conditionals.js b/tests/helpers/get-liquid-conditionals.js new file mode 100644 index 0000000000..2328e392b1 --- /dev/null +++ b/tests/helpers/get-liquid-conditionals.js @@ -0,0 +1,11 @@ +const { Tokenizer } = require('liquidjs') + +module.exports = function getLiquidConditionals (str, tagNames) { + const tokenizer = new Tokenizer(str) + + tagNames = Array.isArray(tagNames) ? tagNames : [tagNames] + + return tokenizer.readTopLevelTokens() + .filter(token => tagNames.includes(token.name)) + .map(token => token.args) +} From b848e89ae566239b0276d9cf07c92e26c3003ab4 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 15 Jun 2021 15:03:39 -0400 Subject: [PATCH 05/41] add a linter to prevent if tags for versioning --- tests/linting/lint-files.js | 71 ++++++++++++++++++++++++------------- 1 file changed, 46 insertions(+), 25 deletions(-) diff --git a/tests/linting/lint-files.js b/tests/linting/lint-files.js index 0b0497fe6f..0b8dfa59ee 100644 --- a/tests/linting/lint-files.js +++ b/tests/linting/lint-files.js @@ -17,10 +17,11 @@ const renderContent = require('../../lib/render-content') const getApplicableVersions = require('../../lib/get-applicable-versions') const { execSync } = require('child_process') const allVersions = require('../../lib/all-versions') -const { supported } = require('../../lib/enterprise-server-releases') -const getIfversionConditionals = require('../helpers/get-ifversion-conditionals') +const { supported, next } = require('../../lib/enterprise-server-releases') +const getLiquidConditionals = require('../helpers/get-liquid-conditionals') const enterpriseServerVersions = Object.keys(allVersions).filter(v => v.startsWith('enterprise-server@')) const versionShortNames = Object.values(allVersions).map(v => v.shortName) +const versionKeywords = versionShortNames.concat(['currentVersion', 'enterpriseServerReleases']) const allowedVersionOperators = require('../../lib/liquid-tags/ifversion-supported-operators') const rootDir = path.join(__dirname, '../..') @@ -286,7 +287,7 @@ describe('lint markdown content', () => { '%s', (markdownRelPath, markdownAbsPath) => { let content, ast, links, yamlScheduledWorkflows, isHidden, isEarlyAccess, isSitePolicy, frontmatterErrors, frontmatterData, - ifversionConditionals + ifversionConditionals, ifConditionals beforeAll(async () => { const fileContents = await readFileAsync(markdownAbsPath, 'utf8') @@ -322,8 +323,11 @@ describe('lint markdown content', () => { .flat() .map(schedule => schedule.cron) - ifversionConditionals = getIfversionConditionals(data) - .concat(getIfversionConditionals(bodyContent)) + ifversionConditionals = getLiquidConditionals(data, ['ifversion', 'elsif']) + .concat(getLiquidConditionals(bodyContent, ['ifversion', 'elsif'])) + + ifConditionals = getLiquidConditionals(data, 'if') + .concat(getLiquidConditionals(bodyContent, 'if')) }) // We need to support some non-Early Access hidden docs in Site Policy @@ -338,6 +342,13 @@ describe('lint markdown content', () => { expect(errors.length, errors.join('\n')).toBe(0) }) + test('ifversion, not if, is used for versioning in markdown', async () => { + const ifsForVersioning = ifConditionals.filter(cond => versionKeywords.some(keyword => cond.includes(keyword))) + const errorMessage = `Found ${ifsForVersioning.length} "if" conditionals used for versioning! Use "ifversion" instead. +${ifsForVersioning.join('\n')}` + expect(ifsForVersioning.length, errorMessage).toBe(0) + }) + test('relative URLs must start with "/"', async () => { const matches = links.filter(link => { if ( @@ -513,15 +524,17 @@ describe('lint yaml content', () => { describe.each(ymlToLint)( '%s', (yamlRelPath, yamlAbsPath) => { - let dictionary, isEarlyAccess, ifversionConditionals + let dictionary, isEarlyAccess, ifversionConditionals, ifConditionals beforeAll(async () => { const fileContents = await readFileAsync(yamlAbsPath, 'utf8') - ifversionConditionals = getIfversionConditionals(fileContents) - dictionary = yaml.load(fileContents, { filename: yamlRelPath }) isEarlyAccess = yamlRelPath.split('/').includes('early-access') + + ifversionConditionals = getLiquidConditionals(fileContents, ['ifversion', 'elsif']) + + ifConditionals = getLiquidConditionals(fileContents, 'if') }) test('ifversion conditionals are valid in yaml', async () => { @@ -529,6 +542,13 @@ describe('lint yaml content', () => { expect(errors.length, errors.join('\n')).toBe(0) }) + test('ifversion, not if, is used for versioning in markdown', async () => { + const ifsForVersioning = ifConditionals.filter(cond => versionKeywords.some(keyword => cond.includes(keyword))) + const errorMessage = `Found ${ifsForVersioning.length} "if" conditionals used for versioning! Use "ifversion" instead. +${ifsForVersioning.join('\n')}` + expect(ifsForVersioning.length, errorMessage).toBe(0) + }) + test('relative URLs must start with "/"', async () => { const matches = [] @@ -840,9 +860,6 @@ describe('lint learning tracks', () => { }) it('has one and only one featured track per supported version', async () => { - const featuredTracks = {} - const context = { enterpriseServerVersions } - // Use the YAML filename to determine which product this refers to, and then peek // inside the product TOC frontmatter to see which versions the product is available in. const product = path.posix.basename(yamlRelPath, '.yml') @@ -851,21 +868,26 @@ describe('lint learning tracks', () => { const { data } = frontmatter(productContents) const productVersions = getApplicableVersions(data.versions, productTocPath) + const featuredTracks = {} + const context = { enterpriseServerVersions } + // For each of the product's versions, render the learning track data and look for a featured track. await Promise.all(productVersions.map(async (version) => { - const featuredTracksPerVersion = (await Promise.all(Object.values(dictionary).map(async (entry) => { + const featuredTracksPerVersion = [] + + for (const entry of Object.values(dictionary)) { if (!entry.featured_track) return context.currentVersion = version + context[allVersions[version].shortName] = true const isFeaturedLink = typeof entry.featured_track === 'boolean' || (await renderContent(entry.featured_track, context, { textOnly: true, encodeEntities: true }) === 'true') - return isFeaturedLink - }))) - .filter(Boolean) + featuredTracksPerVersion.push(isFeaturedLink) + } featuredTracks[version] = featuredTracksPerVersion.length })) Object.entries(featuredTracks).forEach(([version, numOfFeaturedTracks]) => { - const errorMessage = `Expected one featured learning track for ${version} in ${yamlAbsPath}` + const errorMessage = `Expected 1 featured learning track but found ${numOfFeaturedTracks} for ${version} in ${yamlAbsPath}` expect(numOfFeaturedTracks, errorMessage).toBe(1) }) }) @@ -931,15 +953,14 @@ function validateIfversionConditionals (conds) { // the second item is a supported operator, and the third is a supported GHES release. if (strParts.length === 3) { const [version, operator, release] = strParts - const isGhes = version === 'ghes' - const isSupportedOperator = allowedVersionOperators.includes(operator) - const isSupportedRelease = supported.includes(release) - const isValid = isGhes && isSupportedOperator && isSupportedRelease - const errorMessage = str === cond - ? `"${str}" is not a valid operation` - : `"${str}" is not a valid operation inside "${cond}"` - if (!isValid) { - errors.push(errorMessage) + if (version !== 'ghes') { + errors.push(`Found "${version}" inside "${cond}" with a "${operator}" operator; expected "ghes"`) + } + if (!allowedVersionOperators.includes(operator)) { + errors.push(`Found a "${operator}" operator inside "${cond}", but "${operator}" is not supported`) + } + if (!(supported.includes(release) || release === next)) { + errors.push(`Found ${release} inside "${cond}", but ${release} is not a supported GHES release`) } } }) From ac8c65fffca3920214fe7834d59db8149569ffb8 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 15 Jun 2021 15:03:53 -0400 Subject: [PATCH 06/41] update test to use short names --- tests/unit/page.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/unit/page.js b/tests/unit/page.js index 6e0d012699..0cc7cdc3f8 100644 --- a/tests/unit/page.js +++ b/tests/unit/page.js @@ -497,8 +497,8 @@ describe('Page class', () => { basePath: path.join(__dirname, '../../content'), languageCode: 'en' }) - expect(nonEnterpriseDefaultPlan in page.versions).toBe(true) - expect(page.versions['enterprise-server']).toBe('>=2.21') + expect('fpt' in page.versions).toBe(true) + expect(page.versions.ghes).toBe('>=2.21') }) test('pages that use short names in versions frontmatter', async () => { @@ -532,7 +532,7 @@ describe('Page class', () => { }) expect(nonEnterpriseDefaultPlan in page.versions).toBe(false) - expect(page.versions['enterprise-server']).toBe('*') + expect(page.versions.ghes).toBe('*') }) }) From c954c6c3ea415e44d5113149104f67571efd751a Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 15 Jun 2021 15:04:20 -0400 Subject: [PATCH 07/41] add the script! --- .../content-migrations/use-short-versions.js | 240 ++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100755 script/content-migrations/use-short-versions.js diff --git a/script/content-migrations/use-short-versions.js b/script/content-migrations/use-short-versions.js new file mode 100755 index 0000000000..ba67def38d --- /dev/null +++ b/script/content-migrations/use-short-versions.js @@ -0,0 +1,240 @@ +#!/usr/bin/env node + +const fs = require('fs') +const walk = require('walk-sync') +const path = require('path') +const { escapeRegExp } = require('lodash') +const { Tokenizer } = require('liquidjs') +const frontmatter = require('../../lib/read-frontmatter') +const allVersions = Object.values(require('../../lib/all-versions')) +const { deprecated, oldestSupported } = require('../../lib/enterprise-server-releases') +const dryRun = ['-d', '--dry-run'].includes(process.argv[2]) + +const walkFiles = (pathToWalk, ext) => { + return walk(path.posix.join(process.cwd(), pathToWalk), { includeBasePath: true, directories: false }) + .filter(file => file.endsWith(ext) && !file.endsWith('README.md')) + .filter(file => !file.includes('/early-access/')) // ignore EA for now +} + +const markdownFiles = walkFiles('content', '.md').concat(walkFiles('data', '.md')) +const yamlFiles = walkFiles('data', '.yml') + +const operatorsMap = { + // old: new + '==': '=', + 'ver_gt': '>', + 'ver_lt': '<', + '!=': '!=' // noop +} + +// [start-readme] +// +// Run this script to convert long form Liquid conditionals (e.g., {% if currentVersion == "free-pro-team" %}) to +// the new custom tag (e.g., {% ifversion fpt %}) and also use the short names in versions frontmatter. +// +// [end-readme] + +async function main () { + if (dryRun) console.log('This is a dry run! The script will not write any files. Use for debugging.\n') + + // 1. UPDATE MARKDOWN FILES (CONTENT AND REUSABLES) + console.log('Updating Liquid conditionals and versions frontmatter in Markdown files...\n') + for (const file of markdownFiles) { + // A. UPDATE LIQUID CONDITIONALS IN CONTENT + // Create an { old: new } conditionals object so we can get the replacements and + // make the replacements separately and not do both in nested loops. + const content = fs.readFileSync(file, 'utf8') + const contentReplacements = getLiquidReplacements(content, file) + const newContent = makeLiquidReplacements(contentReplacements, content) + + // B. UPDATE FRONTMATTER VERSIONS PROPERTY + const { data } = frontmatter(newContent) + if (data.versions && typeof data.versions !== 'string') { + Object.entries(data.versions).forEach(([plan, value]) => { + // Find the relevant version from the master list so we can access the short name. + const versionObj = allVersions.find(version => version.plan === plan) + delete data.versions[plan] + data.versions[versionObj.shortName] = value + }) + } + + if (dryRun) { + console.log(contentReplacements) + } else { + fs.writeFileSync(file, frontmatter.stringify(newContent, data, { lineWidth: 10000 })) + } + } + + // 2. UPDATE LIQUID CONDITIONALS IN DATA YAML FILES + console.log('Updating Liquid conditionals in YAML files...\n') + for (const file of yamlFiles) { + const yamlContent = fs.readFileSync(file, 'utf8') + const yamlReplacements = getLiquidReplacements(yamlContent, file) + const newYamlContent = makeLiquidReplacements(yamlReplacements, yamlContent) + + if (dryRun) { + console.log(yamlReplacements) + } else { + fs.writeFileSync(file, newYamlContent) + } + } +} + +main() + .then( + () => { console.log('Done!') }, + (err) => { + console.error(err) + process.exit(1) + } + ) + +// Convenience function to help with readability by removing this large but unneded property. +function removeInputProps (arrayOfObjects) { + return arrayOfObjects.map(obj => { + delete obj.input || delete obj.token.input + return obj + }) +} + +function makeLiquidReplacements (replacementsObj, text) { + let newText = text + Object.entries(replacementsObj).forEach(([oldCond, newCond]) => { + const oldCondRegex = new RegExp(`({%-?)\\s*?${escapeRegExp(oldCond)}\\s*?(-?%})`, 'g') + newText = newText + .replace(oldCondRegex, `$1 ${newCond} $2`) + // Content files use an old-school hack to ensure our old regex deprecation script DTRT, for example: + // `if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21"` + // This script will change the above to `if ghes and ghes > 2.21`. + // But we don't need the hack for the new deprecation script, because it will change `if ghes > 2.21` to `if ghes`. + // So we can update this to the simpler `{% if ghes > 2.21 %}`. + .replace(/ghes and ghes/g, 'ghes') + }) + + return newText +} + +// Versions map: +// if currentVersion == "myVersion@myRelease" -> ifversion myVersionShort OR ifversion myVersionShort = @myRelease +// if currentVersion != "myVersion@myRelease" -> ifversion not myVersionShort OR ifversion myVersionShort != @myRelease +// if currentVersion ver_gt "myVersion@myRelease -> ifversion myVersionShort > myRelease +// if currentVersion ver_lt "myVersion@myRelease -> ifversion myVersionShort < myRelease +// if enterpriseServerVersions contains currentVersion -> ifversion ghes +function getLiquidReplacements (content, file) { + const replacements = {} + + const tokenizer = new Tokenizer(content) + const tokens = removeInputProps(tokenizer.readTopLevelTokens()) + + tokens + .filter(token => (token.name === 'if' || token.name === 'elsif') && token.content.includes('currentVersion')) + .map(token => token.content) + .forEach(token => { + const newToken = token.startsWith('if') ? ['ifversion'] : ['elsif'] + // Everything from here on pushes to the `newToken` array to construct the new conditional. + token + .replace(/(if|elsif) /, '') + .split(/ (or|and) /) + .forEach(op => { + if (op === 'or' || op === 'and') { + newToken.push(op) + return + } + + // This string will always resolve to `ifversion ghes`. + if (op.includes('enterpriseServerVersions contains currentVersion')) { + newToken.push('ghes') + return + } + + // For the rest, we need to check the release string. + + // E.g., [ 'currentVersion', '==', '"enterprise-server@3.0"']. + const opParts = op.split(' ') + + if (!(opParts.length === 3 && opParts[0] === 'currentVersion')) { + console.error(`Something went wrong with ${token} in ${file}`) + process.exit(1) + } + + const operator = opParts[1] + // Remove quotes around the version and then split it on the at sign. + const [plan, release] = opParts[2].slice(1, -1).split('@') + + // Find the relevant version from the master list so we can access the short name. + const versionObj = allVersions.find(version => version.plan === plan) + + if (!versionObj) { + console.error(`Couldn't find a version for ${plan} in "${token}" in ${file}`) + process.exit(1) + } + + // Handle numbered releases! + if (versionObj.hasNumberedReleases) { + const newOperator = operatorsMap[operator] + if (!newOperator) { + console.error(`Couldn't find an operator that corresponds to ${operator} in "${token} in "${file}`) + process.exit(1) + } + + // Account for this one weird version included in a couple content files + deprecated.push('1.19') + + // E.g., ghes > 2.20 + const availableInAllGhes = deprecated.includes(release) && newOperator === '>' + + // We can change > deprecated releases, like ghes > 2.19, to just ghes. + // These are now available for all ghes releases. + if (availableInAllGhes) { + newToken.push(versionObj.shortName) + return + } + + // E.g., ghes < 2.20 + const lessThanDeprecated = deprecated.includes(release) && newOperator === '<' + // E.g., ghes < 2.21 + const lessThanOldestSupported = release === oldestSupported && newOperator === '<' + // E.g., ghes = 2.20 + const equalsDeprecated = deprecated.includes(release) && newOperator === '=' + const hasDeprecatedContent = lessThanDeprecated || lessThanOldestSupported || equalsDeprecated + + // Remove these by hand. + if (hasDeprecatedContent) { + console.error(`Found content that needs to be removed! See "${token} in "${file}`) + process.exit(1) + } + + // Override for legacy 2.23, which should be 3.0 + const releaseToUse = release === '2.23' ? '3.0' : release + + newToken.push(`${versionObj.shortName} ${newOperator} ${releaseToUse}`) + return + } + + // Turn != into nots, now that we can assume this is not a numbered release. + if (operator === '!=') { + newToken.push(`not ${versionObj.shortName}`) + return + } + + // We should only have equality conditionals left. + if (operator !== '==') { + console.error(`Expected == but found ${operator} in "${op}" in ${token}`) + process.exit(1) + } + + // Handle `latest`! + if (release === 'latest') { + newToken.push(versionObj.shortName) + return + } + + // Handle all other non-standard releases, like github-ae@next and github-ae@issue-12345 + newToken.push(`${versionObj.shortName}-${release}`) + }) + + replacements[token] = newToken.join(' ') + }) + + return replacements +} From bc1a3336e18369f77cd50ae5d3ab38eb57a32221 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 16 Jun 2021 12:33:44 -0400 Subject: [PATCH 08/41] update versions props in yaml too --- contributing/liquid-helpers.md | 262 ++++-------------- .../content-migrations/use-short-versions.js | 4 + 2 files changed, 55 insertions(+), 211 deletions(-) diff --git a/contributing/liquid-helpers.md b/contributing/liquid-helpers.md index 51f86e4ef8..42b3f6bd48 100644 --- a/contributing/liquid-helpers.md +++ b/contributing/liquid-helpers.md @@ -1,250 +1,90 @@ # Liquid helpers -We use the [Liquid template language](https://shopify.github.io/liquid/basics/introduction/) (specifically, [this Node.js port](https://github.com/docs/liquid)) to create different versions of our content. +We use the [Liquid template language](https://shopify.github.io/liquid/basics/introduction/) (specifically, [this Node.js port](https://github.com/harttle/liquidjs)) and a custom `{% ifversion ... %}` tag to create versions of our documentation. Note: If you are an open source contributor, you should not worry about versioning content. This document is only here as reference. -## Versioning documentation for GitHub.com, GitHub Enterprise Server, and GitHub AE +:arrow_upper_left: TOC -**In this guide** -- [Versioned documentation](#versioned-documentation) - - [Dotcom](#dotcom) - - [GitHub Enterprise Server](#github-enterprise-server) - - [GitHub AE](#github-ae) -- [Versioning in the YAML front matter](#versioning-in-the-yaml-front-matter) -- [Liquid conditional operators](#liquid-conditional-operators) - - [Comparison operators](#comparison-operators) - - [Logical operators](#logical-operators) -- [Liquid conditional statements for Dotcom](#liquid-conditional-statements-for-dotcom) - - [Including content that *only applies to Dotcom*](#including-content-that-only-applies-to-dotcom) -- [Liquid conditional statements for GitHub Enterprise Server](#liquid-conditional-statements-for-github-enterprise-server) - - [Including content that only applies to all supported versions of Enterprise Server](#including-content-that-only-applies-to-all-supported-versions-of-enterprise-server) - - [Including content for *new Dotcom features* that will be included in Enterprise Server](#including-content-for-new-dotcom-features-that-will-be-included-in-enterprise-server) - - [Including content for *changed* Dotcom features that will also change in Enterprise Server](#including-content-for-changed-dotcom-features-that-will-also-change-in-enterprise-server) - - [Including content for *changed* Dotcom features that will also change in Enterprise Server but don't exist in some older versions](#including-content-for-changed-dotcom-features-that-will-also-change-in-enterprise-server-but-dont-exist-in-some-older-versions) - - [Including content for *new Enterprise Server features* that don't exist on Dotcom](#including-content-for-new-enterprise-server-features-that-dont-exist-on-dotcom) - - [Including content for *changed Enterprise Server features* that don't exist on Dotcom](#including-content-for-changed-enterprise-server-features-that-dont-exist-on-dotcom) -- [Liquid conditional statements for GitHub AE](#liquid-conditional-statements-for-github-ae) - - [Including content that *only applies to GitHub AE*](#including-content-that-only-applies-to-github-ae) - - [Including content that only applies to *GitHub AE and Enterprise Server*](#including-content-that-only-applies-to-github-ae-and-github-enterprise-server) - - [Including content for features that will be included in the *next release* of GitHub AE](#including-content-for-features-that-will-be-included-in-the-next-release-of-github-ae) +## Versioned documentation -### Versioned documentation +We provide versioned documentation for users of GitHub.com, Enterprise Server, and GitHub AE (with more to come). If multiple versions of a Docs site page exist, readers can choose the version from the version picker at the top of the page. -We provide versioned documentation for users of GitHub.com (Dotcom), GitHub Enterprise Server, and GitHub AE. This means the material on docs.github.com is scoped to specific product offerings. If multiple versions of content exist, readers can choose the version from the version picker at the top of the page. +### Dotcom -#### Dotcom +Documentation for Dotcom has one version: the `free-pro-team@latest` version. The short name is `fpt`. -Documentation for Dotcom has one version: the latest version. +### Enterprise Server -#### GitHub Enterprise Server +Documentation for Enterprise Server has multiple versions and can be divided into two types: documentation for **supported releases** (we support four at any one time), and documentation for **deprecated releases** (we do not link to these on the Docs site but we support a "frozen" snapshot of these docs in perpetuity, so they can still be accessed if you know the URLs). See `lib/enterprise-server-releases.js` for a list. -Documentation for GitHub Enterprise Server can generally be divided into three types: documentation for the latest release, documentation for any previous supported release, and documentation for a deprecated release. +The versions are named `enterprise-server@`. The short name is `ghes`. In Liquid conditionals, we can specify ranges, like `ghes > 3.0`. (See more on operators below.) -#### GitHub AE +### GitHub AE -Documentation for GitHub AE is similar to Dotcom: we only offer one version of the content for the product, the latest version. +Documentation for GitHub AE is similar to Dotcom: we only offer one version of the content for the product, the `github-ae@latest` version. The short name is `ghae`. -### Versioning in the YAML front matter +## Versioning in the YAML frontmatter -Use the `versions` key within the file's YAML front matter to define which products an entire page applies to. For more information, see [the _content_ directory's README](/content#versions). +Use the `versions` property within the file's frontmatter to define which products an entire page applies to. For more information, see [the _content_ directory's README](/content#versions). -By default, any text in the body of the Markdown file will display for all product versions that you define in the `versions` key. +## Liquid conditional operators -### Liquid conditional operators +If you define multiple products in the `versions` key within a page's YAML frontmatter, you can use the conditional operators `ifversion`/`else` (or `ifversion`/`elsif`/`else`) in the Markdown to control how the site renders content on the page for a particular product. For example, a feature may have more options on Dotcom than on GitHub Enterprise Server, so you can version the content for both Dotcom and GitHub Enterprise Server via the `versions` frontmatter, and use Liquid conditionals to describe the additional options for Dotcom. -If you define multiple products in the `versions` key within a page's YAML front matter, you can use the conditional operators `if`/`else` and `if`/`elsif`/`else` in the page's body to control how the site renders content on the page for a particular product. For example, a feature may have more options on Dotcom than on GitHub Enterprise Server, so you can version the content for both Dotcom and GitHub Enterprise Server via the `versions` front matter, then use Liquid conditionals to describe the additional options for Dotcom within the rendered HTML. +Important notes: -Use the operators in Liquid tags (`{% ... %}`). Do not use `else if`. If you do, the content in that portion of the block will not render. +* Make sure to use `ifversion` and not `if`. A test will fail if an `if` statement is used for versioning. +* Make sure to use `elsif` and not `else if`. Liquid does not recognize `else if` and will not render content inside an `else if` block. -#### Comparison operators +### Comparison operators -|Operator | Meaning| -|--|--| -|`ver_gt`| Greater than| -|`ver_lt`| Less than| -|`==`| Equal to| -|`!=`| Not equal to**| +For versions that don't have numbered releases (like `fpt` and `ghae`), you have two options: -#### Logical operators +* `{% ifversion ghae %}` +* `{% ifversion not ghae %}` -Note: The below examples are only intended to show Liquid syntax and operators. The variables may not reflect what's currently in the content files. +For versions that have numbered releases (currently only `ghes`), you can do the same for content that is either available in all of the releases or not available in any of the releases: -In statements where **all** operands must be true for the condition to be true, use the operator `and`: +* `{% ifversion ghes %}` +* `{% ifversion not ghes %}` + +If you need to denote content that is only available (or not available) in **certain** releases, you can use the following operators: + +|Operator | Meaning| Example +|--|--|--| +|`=`| Equal to| `{% ifversion ghes = 3.0 %}` +|`>`| Newer than| `{% ifversion ghes > 3.0 %}` +|`<`| Older than| `{% ifversion ghes < 3.0 %}` +|`!=`| Not equal to| `{% ifversion ghes != 3.0 %}` (don't use `not` in ranges) + +### Logical operators + +When **all** operands must be true for the condition to be true, use the operator `and`: ``` -{% if currentVersion != "free-pro-team@latest" and currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt and ghes > 2.21 %} ``` -In statements where **at least one** operand must be true for the condition to be true, use the operator `or`: +When **at least one** operand must be true for the condition to be true, use the operator `or`: ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} ``` -Do **not** use the operators `&&` or `||`. If you do, the content will not render in the intended versions. Only use `and` or `or`. +Do **not** use the operators `&&` or `||`. Liquid does not recognize them, and the content will not render in the intended versions. -### Liquid conditional statements for Dotcom +### Versioning content for _future_ releases of GitHub AE -If the Markdown source's `versions` front matter includes Dotcom and you want the content to display for Dotcom, do not include any Liquid logic at all. Deploying the site will automatically generate the HTML content for Dotcom. - -#### Including content that *only applies to Dotcom* - -If your content only applies to GitHub.com, such as billing information, use this logic: +If your content describes a feature that will be included in the next release of GitHub AE, you can use a placeholder version string, `ghae-next`. Before the next GitHub AE release, we will run a script to replace the placeholder with `ghae`. +For example, you can use this logic before the feature is available in GitHub AE: ``` -{% if currentVersion == "free-pro-team@latest" %}This is how you pay for your personal account, which is something you wouldn't do in Enterprise.{% endif %} +{% ifversion fpt or ghae-next %}This is a brand new feature, the likes of which have never been seen at this company before!{% endif %} +``` +After the feature becomes available in GitHub AE and we run the replacement script, this statement will become: +``` +{% ifversion fpt or ghae %}This is a brand new feature, the likes of which have never been seen at this company before!{% endif %} ``` -In this example: -- `if currentVersion == "free-pro-team@latest"` will include the content for Dotcom output and *only* Dotcom. -- `{% endif %}` ends the statement. - -### Liquid conditional statements for GitHub Enterprise Server - -Use the custom `ver_gt` and `ver_lt` Liquid operators to conditionally include or exclude GitHub Enterprise Server content. - -- `ver_lt` stands for "version less than" -- `ver_gt` stands for "version greater than" - -See the [Semantic Versioning specification](https://semver.org/#spec-item-11) for more details on version precedence. - -If the Markdown source's `versions` front matter includes a version or versions of GitHub Enterprise Server and you want the content to display for those versions of GitHub Enterprise Server, do not include any Liquid logic at all. Deploying the site will automatically generate the HTML content for the supported versions of GitHub Enterprise Server. - -#### Including content that *only applies to all supported versions of Enterprise Server* - -If your content only applies to Enterprise Server, and the content applies to all supported versions, such as subdomain isolation, use this logic: - -``` -{% if enterpriseServerVersions contains currentVersion %}Remember to isolate your subdomains, administrator.{% endif %} -``` - -In this example: -- `if enterpriseServerVersions contains currentVersion` checks to see if the version of the article you're viewing, `currentVersion`, is a supported version of Enterprise Server within an array of the supported versions of Enterprise Server, `enterpriseServerVersions`. -- `{% endif %}` ends the statement. - -#### Including content for *new Dotcom features* that will be included in Enterprise Server - -If your content is describing a new feature that was added to GitHub.com and will be automatically included in the next release of GitHub Enterprise Server, use this logic: - -``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}This is a brand new feature, the likes of which have never been seen at this company before!{% endif %} -``` - -In this example: - -- `if currentVersion == "free-pro-team@latest"` will include the content for GitHub.com output. -- `or currentVersion ver_gt "enterprise-server@2.21"` will include the content for releases *after* Enterprise Server 2.21, which means the content will be included for 2.22+. -- `{% endif %}` ends the statement. - -#### Including content for *changed* Dotcom features that will also change in Enterprise Server - -If your content is describing a change to existing functionality in Dotcom, such as changed UI text or a more simple means of completing a task, use this logic: - -``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" %}This is the new way of doing things {% else %}This is the old way of doing things {% endif %} -``` - -In this example: - -- `if currentVersion == "free-pro-team@latest"` will include the content for GitHub.com output. -- `or currentVersion ver_gt "enterprise-server@2.21"` will include the content for releases *after* Enterprise Server 2.21, which means the content will be included for 2.22+. -- `{% else %}` means if the above is NOT true, then display the content that follows, `This is the old way of doing things`. -- `{% endif %}` ends the statement. - -#### Including content for *changed* Dotcom features that will also change in Enterprise Server but don't exist in some older versions - -If your content is describing a change to existing functionality in Dotcom, and that functionality doesn't exist in all older Enterprise versions, use logic like this: - -``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" %} - -This is the new way of doing things. - -{% elsif currentVersion ver_gt "enterprise-server@2.19" and currentVersion ver_lt "enterprise-server@2.21" %} - -This is the old way of doing things (which did not exist before 2.20). - -{% endif %} -``` - -In this example: - -- `if currentVersion == "free-pro-team@latest"` will include the content for GitHub.com output. -- `or currentVersion ver_gt "enterprise-server@2.20"` will include the content for releases *after* Enterprise Server 2.20, which means the content will be included for 2.21+. -- `elsif currentVersion ver_gt "enterprise-server@2.19" and currentVersion ver_lt "enterprise-server@2.21"` means if the above is NOT true, and the version is 2.20, then display the content that follows, `This is the old way of doing things`. No content will be displayed for versions older than 2.20. -- `{% endif %}` ends the statement. - -#### Including content for *new Enterprise Server features* that don't exist on Dotcom - -If your content is describing a new feature that was added to GitHub Enterprise Server but not GitHub, such as LDAP support, use this logic: - -``` -{% if currentVersion ver_gt "enterprise-server@2.21" %}This is a brand new feature, admin-type people!{% endif %} -``` - -In this example: - -- `if currentVersion != "free-pro-team@latest"` will exclude the content for GitHub.com output. -- `and currentVersion ver_gt "enterprise-server@2.21"` will *additionally* include the content for releases *after* Enterprise Server 2.21, which means the content will be included for 2.22+. -- `{% endif %}` ends the statement. - -#### Including content for *changed Enterprise Server features* that don't exist on Dotcom - -If your content is describing a change to existing functionality in GitHub Enterprise Server, such as changed UI text or a more simple means of completing a task in the Management Console, use this logic: - -``` -{% if currentVersion ver_gt "enterprise-server@2.21" %}This is the new way of doing things, admins! {% else %}This is the old way of doing things, admins! {% endif %} -``` - -In this example: - -- `if currentVersion != "free-pro-team@latest"` will exclude the content for GitHub.com output. -- `and currentVersion ver_gt "enterprise-server@2.21"` will *additionally* include the content for releases *after* Enterprise Server 2.21, which means the content will be included for 2.22+. -- `{% else %}` means if the above is NOT true, then display the content that follows, `This is the old way of doing things, admins!`. -- `{% endif %}` ends the statement. - -### Liquid conditional statements for GitHub AE - -If the Markdown source's `versions` front matter includes GitHub AE and you want the content to display for GitHub AE, do not include any Liquid logic at all. Deployment of the site will automatically generate the HTML content for GitHub AE. - -You may notice version strings like issue-#### for content versioned for GitHub AE. The content with this versioning will not render on GitHub Docs, and these strings are internal references. These strings are only intended to be edited by GitHub staff. - -#### Including content that *only applies to GitHub AE* - -If your content only applies to GitHub AE, use this logic: - -``` -{% if currentVersion == "github-ae@latest" %}This content describes something you can only do on GitHub AE.{% endif %} -``` - -In this example: -- `if currentVersion == "github-ae@latest"` will include the content for GitHub AE output and *only* GitHub AE. -- `{% endif %}` ends the statement. - -#### Including content that *only applies to GitHub AE and Enterprise Server* - -If your content only applies to GitHub AE and all supported versions of GitHub Enterprise Server, use this logic: - -``` -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}This content describes something you can only do on GitHub Enterprise Server or GitHub AE.{% endif %} -``` - -In this example: -- `if enterpriseServerVersions contains currentVersion` will include the content for all supported versions of GitHub Enterprise Server. -- `or currentVersion == "github-ae@latest"` will include the content for GitHub AE output. -- `{% endif %}` ends the statement. - -#### Including content for features that will be included in the *next release* of GitHub AE - -If your content is describing a feature that will be included in the next release of GitHub AE, you can use a placeholder version string, `github-ae@next`. Before the next GitHub AE release, replace the instances of the placeholder with `github-ae@latest`. For example, you can use this logic: - -``` -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" %}This is a brand new feature, the likes of which have never been seen at this company before!{% endif %} -``` - -In this example: - -- `if currentVersion == "free-pro-team@latest"` will include the content for GitHub.com output. -- `or currentVersion == "github-ae@next"` indicates that the content should also appear for the next release of GitHub AE, when we replace any instances of `github-ae@next` with `github-ae@latest`. -- `{% endif %}` ends the statement. +`ifversion` tags can also support `ghae-issue-` as an additional way to version content more granularly for upcoming GitHub AE releases. diff --git a/script/content-migrations/use-short-versions.js b/script/content-migrations/use-short-versions.js index ba67def38d..31316d466f 100755 --- a/script/content-migrations/use-short-versions.js +++ b/script/content-migrations/use-short-versions.js @@ -70,7 +70,11 @@ async function main () { for (const file of yamlFiles) { const yamlContent = fs.readFileSync(file, 'utf8') const yamlReplacements = getLiquidReplacements(yamlContent, file) + // Update any `versions` properties in the YAML as well (learning tracks, etc.) const newYamlContent = makeLiquidReplacements(yamlReplacements, yamlContent) + .replace(/("|')?free-pro-team("|')?:/g, 'fpt:') + .replace(/("|')?enterprise-server("|')?:/g, 'ghes:') + .replace(/("|')?github-ae("|')?:/g, 'ghae:') if (dryRun) { console.log(yamlReplacements) From 4c366e3d2fe3ae991a9286ef923e2ea3171bcd79 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 16 Jun 2021 12:34:01 -0400 Subject: [PATCH 09/41] update READMEs --- content/README.md | 12 ++++++------ data/learning-tracks/README.md | 4 ++-- data/product-examples/README.md | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/README.md b/content/README.md index 233d4bc9b9..1e1536a702 100644 --- a/content/README.md +++ b/content/README.md @@ -61,8 +61,8 @@ Example that applies to GitHub.com and recent versions of GitHub Enterprise Serv ```yaml title: About your personal dashboard versions: - free-pro-team: '*' - enterprise-server: '>=2.20' + fpt: '*' + ghes: '>=2.20' ``` Example that applies to all supported versions of GitHub Enterprise Server: @@ -71,15 +71,15 @@ Example that applies to all supported versions of GitHub Enterprise Server: ```yaml title: Downloading your license versions: - enterprise-server: '*' + ghes: '*' ``` You can also version a page for a range of releases. This would version the page for GitHub Enterprise Server 2.22 and 3.0 only: ```yaml versions: - free-pro-team: '*' - enterprise-server: '>=2.22 <3.1' + fpt: '*' + ghes: '>=2.22 <3.1' ``` ### `redirect_from` @@ -310,7 +310,7 @@ When using Liquid conditionals in lists or tables, you can use [whitespace contr Just add a hyphen on either the left, right, or both sides to indicate that there should be no newline on that side. For example, this statement removes a newline on the left side: ``` -{%- if currentVersion == 'free-pro-team@latest' %} +{%- ifversion fpt %} ``` ## Links and image paths diff --git a/data/learning-tracks/README.md b/data/learning-tracks/README.md index 9f23c1da1d..bdbe9e3dfd 100644 --- a/data/learning-tracks/README.md +++ b/data/learning-tracks/README.md @@ -25,7 +25,7 @@ Learning track data for a product is defined in two places: One learning track in this YAML **per version** must be designated as a "featured" learning track via `featured_track: true`, which will set it to appear at the top of the product sublanding page. A test will fail if this property is missing. - The `featured_track` property can be a simple boolean (i.e., `featured_track: true`) or it can be a string that includes versioning statements (e.g., `featured_track: '{% if currentVersion == "free-pro-team@latest" %}true{% else %}false{% endif %}'`). If you use versioning, you'll have multiple `featured_track`s per YML file, but make sure that only one will render in each currently supported version. A test will fail if there are more or less than one featured link for each version. + The `featured_track` property can be a simple boolean (i.e., `featured_track: true`) or it can be a string that includes versioning statements (e.g., `featured_track: '{% ifversion fpt %}true{% else %}false{% endif %}'`). If you use versioning, you'll have multiple `featured_track`s per YML file, but make sure that only one will render in each currently supported version. A test will fail if there are more or less than one featured link for each version. ## Versioning @@ -40,7 +40,7 @@ learning_track_name: description: 'Learning track description' featured_track: true versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' guides: - /path/to/guide1 - /path/to/guide2 diff --git a/data/product-examples/README.md b/data/product-examples/README.md index 478376974e..a0a9fc232e 100644 --- a/data/product-examples/README.md +++ b/data/product-examples/README.md @@ -29,10 +29,10 @@ At the moment, versioning is only supported in code examples. If an example bloc - Version updates - Pull requests versions: - 'free-pro-team': '*' + fpt: '*' ``` - where the syntax for `versions` is the same as the [frontmatter `versions` property](content/README.md) and can support semver notation. +where the syntax for `versions` is the same as the [frontmatter `versions` property](content/README.md) and can support semver notation. ## Rendering From f4b455b0c399204f2bf9463d17a8aafacd557cfb Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 16 Jun 2021 13:14:55 -0400 Subject: [PATCH 10/41] move from test helpers to script helpers --- {tests => script}/helpers/get-liquid-conditionals.js | 0 tests/linting/lint-files.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename {tests => script}/helpers/get-liquid-conditionals.js (100%) diff --git a/tests/helpers/get-liquid-conditionals.js b/script/helpers/get-liquid-conditionals.js similarity index 100% rename from tests/helpers/get-liquid-conditionals.js rename to script/helpers/get-liquid-conditionals.js diff --git a/tests/linting/lint-files.js b/tests/linting/lint-files.js index 0b8dfa59ee..1232458dfd 100644 --- a/tests/linting/lint-files.js +++ b/tests/linting/lint-files.js @@ -18,7 +18,7 @@ const getApplicableVersions = require('../../lib/get-applicable-versions') const { execSync } = require('child_process') const allVersions = require('../../lib/all-versions') const { supported, next } = require('../../lib/enterprise-server-releases') -const getLiquidConditionals = require('../helpers/get-liquid-conditionals') +const getLiquidConditionals = require('../../script/helpers/get-liquid-conditionals') const enterpriseServerVersions = Object.keys(allVersions).filter(v => v.startsWith('enterprise-server@')) const versionShortNames = Object.values(allVersions).map(v => v.shortName) const versionKeywords = versionShortNames.concat(['currentVersion', 'enterpriseServerReleases']) From 32cead82439d583a36c32f4a73c9519bf0fe7b96 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 16 Jun 2021 13:15:15 -0400 Subject: [PATCH 11/41] update ghec script to use new short versioning --- .../add-ghec-to-fpt.js | 41 ++++++------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/script/enterprise-server-releases/add-ghec-to-fpt.js b/script/enterprise-server-releases/add-ghec-to-fpt.js index da44e37743..c9859968a7 100755 --- a/script/enterprise-server-releases/add-ghec-to-fpt.js +++ b/script/enterprise-server-releases/add-ghec-to-fpt.js @@ -12,7 +12,9 @@ const fs = require('fs') const path = require('path') const walk = require('walk-sync') const program = require('commander') +const { escapeRegExp } = require('lodash') const frontmatter = require('../../lib/read-frontmatter') +const getLiquidConditionals = require('../helpers/get-liquid-conditionals') const contentPath = path.join(process.cwd(), 'content') const dataPath = path.join(process.cwd(), 'data') @@ -33,12 +35,6 @@ if (products) { console.log('✅ Running on English content and data\n') -// The new conditional to add -const githubECConditional = 'currentVersion == "enterprise-cloud@latest"' - -// Match: currentVersion == "free-pro-team@latest" -const fptConditionalRegex = /currentVersion == "free-pro-team@latest"/ - console.log('Working...\n') const englishContentFiles = walkContent(contentPath) @@ -84,7 +80,7 @@ allContentFiles const { data, content } = frontmatter(fs.readFileSync(file, 'utf8')) // Return early if the current page frontmatter does not apply to either GHEC or the given fpt release - if (!(data.versions['free-pro-team'])) return + if (!data.versions['fpt']) return const conditionalsToUpdate = getConditionalsToUpdate(content) if (!conditionalsToUpdate.length) return @@ -93,7 +89,7 @@ allContentFiles const newContent = updateLiquid(conditionalsToUpdate, content) // Add frontmatter version - data.versions['enterprise-cloud'] = '*' + data.versions['ghec'] = '*' // Update Liquid in frontmatter props Object.keys(data) @@ -108,33 +104,20 @@ allContentFiles }) function getConditionalsToUpdate (content) { - const allConditionals = content.match(/{% if .+?%}/g) - - return (allConditionals || []) - .filter(conditional => !conditional.includes('enterprise-cloud')) - .filter(conditional => conditional.includes('free-pro-team')) + return getLiquidConditionals(content, 'ifversion') + .filter(c => c.includes('fpt')) + .filter(c => !c.includes('ghec')) } function updateLiquid (conditionalsToUpdate, content) { let newContent = content - - conditionalsToUpdate.forEach(conditional => { - let newConditional = conditional - - const fptMatch = conditional.match(fptConditionalRegex) - - if (!fptMatch) { - console.error(conditional) - return - } - - // First do the replacement within the conditional - // Old: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} - // New: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "enterprise-cloud@latest" %} - newConditional = newConditional.replace(fptMatch[0], `${fptMatch[0]} or ${githubECConditional}`) + conditionalsToUpdate.forEach(cond => { + const oldConditional = `{% ifversion ${cond} %}` + const newConditional = `{% ifversion ${cond.concat(' or ghec')} %}` + const oldConditionalRegex = new RegExp(escapeRegExp(oldConditional), 'g') // Then replace all instances of the conditional in the content - newContent = newContent.replace(conditional, newConditional) + newContent = newContent.replace(oldConditionalRegex, newConditional) }) return newContent From 2088988b8a17566490c9d57834775e4d8e510fe4 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 16 Jun 2021 13:15:24 -0400 Subject: [PATCH 12/41] update ghae script to use new short versioning --- .../ghes-to-ghae-versioning.js | 62 ++++++------------- 1 file changed, 19 insertions(+), 43 deletions(-) diff --git a/script/enterprise-server-releases/ghes-to-ghae-versioning.js b/script/enterprise-server-releases/ghes-to-ghae-versioning.js index bda4856147..1c7c1acaa4 100755 --- a/script/enterprise-server-releases/ghes-to-ghae-versioning.js +++ b/script/enterprise-server-releases/ghes-to-ghae-versioning.js @@ -8,8 +8,8 @@ const frontmatter = require('../../lib/read-frontmatter') const contentPath = path.join(process.cwd(), 'content') const dataPath = path.join(process.cwd(), 'data') const translationsPath = path.join(process.cwd(), 'translations') -const { getEnterpriseServerNumber } = require('../../lib/patterns') const versionSatisfiesRange = require('../../lib/version-satisfies-range') +const getLiquidConditionals = require('../helpers/get-liquid-conditionals') // [start-readme] // @@ -48,12 +48,9 @@ if (translations) { console.log('✅ Running on English content and data\n') } -// The new conditional to add -const githubAEConditional = 'currentVersion == "github-ae@latest"' - -// Match: currentVersion "enterprise-server@(\d+\.\d+)" -// Example: currentVersion ver_gt "enterprise-server@2.21" -const enterpriseServerConditionalRegex = new RegExp(`currentVersion (\\S+?) "${getEnterpriseServerNumber.source}"`) +// Match: ghes +// Example: ghes > 2.21 +const ghesRegex = new RegExp(`ghes (<|>|=|!=) ${ghesRelease}`) console.log('Working...\n') @@ -88,13 +85,6 @@ if (translations) { allDataFiles = englishDataFiles } -// Map Liquid operators to semver operators -const operators = { - ver_gt: '>', - ver_lt: '<', - '==': '=' -} - // Update the data files allDataFiles .forEach(file => { @@ -139,28 +129,20 @@ allContentFiles }) function getConditionalsToUpdate (content) { - const allConditionals = content.match(/{% if .+?%}/g) - - return (allConditionals || []) - .filter(conditional => !conditional.includes('github-ae')) - .filter(conditional => doesReleaseSatisfyConditional(conditional.match(enterpriseServerConditionalRegex))) + return getLiquidConditionals(content, 'ifversion') + .filter(c => !c.includes('ghae')) + .filter(c => doesReleaseSatisfyConditional(c.match(ghesRegex))) } function updateLiquid (conditionalsToUpdate, content) { let newContent = content - - conditionalsToUpdate.forEach(conditional => { - let newConditional = conditional - - const enterpriseServerMatch = conditional.match(enterpriseServerConditionalRegex) - - // First do the replacement within the conditional - // Old: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} - // New: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} - newConditional = newConditional.replace(enterpriseServerMatch[0], `${enterpriseServerMatch[0]} or ${githubAEConditional}`) + conditionalsToUpdate.forEach(cond => { + const oldConditional = `{% ifversion ${cond} %}` + const newConditional = `{% ifversion ${cond.concat(' or ghae')} %}` + const oldConditionalRegex = new RegExp(escapeRegExp(oldConditional), 'g') // Then replace all instances of the conditional in the content - newContent = newContent.replace(conditional, newConditional) + newContent = newContent.replace(oldConditionalRegex, newConditional) }) return newContent @@ -168,20 +150,14 @@ function updateLiquid (conditionalsToUpdate, content) { console.log('Done!') -function doesReleaseSatisfyConditional (enterpriseServerMatch) { - if (!enterpriseServerMatch) return +function doesReleaseSatisfyConditional (ghesMatch) { + if (!ghesMatch) return false - // Example liquid operator: ver_gt - const liquidOperator = enterpriseServerMatch[1] + // Operator (e.g., <) + const operator = ghesMatch[1] - // Example semver operator: > - const semverOperator = operators[liquidOperator] + // Release number (e.g., 2.21) + const number = ghesMatch[2] - // Example number: 2.21 - const number = enterpriseServerMatch[2] - - // Example range: >2.21 - const range = `${semverOperator}${number}` - - return versionSatisfiesRange(ghesRelease, range) + return versionSatisfiesRange(ghesRelease, `${operator}${number}`) } From a62226b91c93a7b0e87161d3f7f8c92d79e2531a Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 16 Jun 2021 13:17:05 -0400 Subject: [PATCH 13/41] lint --- script/enterprise-server-releases/add-ghec-to-fpt.js | 4 ++-- script/enterprise-server-releases/ghes-to-ghae-versioning.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/script/enterprise-server-releases/add-ghec-to-fpt.js b/script/enterprise-server-releases/add-ghec-to-fpt.js index c9859968a7..dce0a89b03 100755 --- a/script/enterprise-server-releases/add-ghec-to-fpt.js +++ b/script/enterprise-server-releases/add-ghec-to-fpt.js @@ -80,7 +80,7 @@ allContentFiles const { data, content } = frontmatter(fs.readFileSync(file, 'utf8')) // Return early if the current page frontmatter does not apply to either GHEC or the given fpt release - if (!data.versions['fpt']) return + if (!data.versions.fpt) return const conditionalsToUpdate = getConditionalsToUpdate(content) if (!conditionalsToUpdate.length) return @@ -89,7 +89,7 @@ allContentFiles const newContent = updateLiquid(conditionalsToUpdate, content) // Add frontmatter version - data.versions['ghec'] = '*' + data.versions.ghec = '*' // Update Liquid in frontmatter props Object.keys(data) diff --git a/script/enterprise-server-releases/ghes-to-ghae-versioning.js b/script/enterprise-server-releases/ghes-to-ghae-versioning.js index 1c7c1acaa4..088f1aff23 100755 --- a/script/enterprise-server-releases/ghes-to-ghae-versioning.js +++ b/script/enterprise-server-releases/ghes-to-ghae-versioning.js @@ -4,6 +4,7 @@ const fs = require('fs') const path = require('path') const walk = require('walk-sync') const program = require('commander') +const { escapeRegExp } = require('lodash') const frontmatter = require('../../lib/read-frontmatter') const contentPath = path.join(process.cwd(), 'content') const dataPath = path.join(process.cwd(), 'data') From 178c433c2cf4b63feb7b8edd79bb8c0d0f9673aa Mon Sep 17 00:00:00 2001 From: Simran Date: Tue, 22 Jun 2021 18:26:19 +0200 Subject: [PATCH 14/41] Add whitespace control to "Permissions required for GitHub Apps" Also minor consistency changes and a condition simplification --- .../permissions-required-for-github-apps.md | 290 +++++++++--------- 1 file changed, 148 insertions(+), 142 deletions(-) diff --git a/content/rest/reference/permissions-required-for-github-apps.md b/content/rest/reference/permissions-required-for-github-apps.md index 517f7a35c4..9ca67662c7 100644 --- a/content/rest/reference/permissions-required-for-github-apps.md +++ b/content/rest/reference/permissions-required-for-github-apps.md @@ -38,9 +38,9 @@ GitHub Apps have the `Read-only` metadata permission by default. The metadata pe - [`GET /orgs/:org/repos`](/rest/reference/repos#list-organization-repositories) - [`GET /rate_limit`](/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user) - [`GET /repos/:owner/:repo`](/rest/reference/repos#get-a-repository) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/community/profile`](/rest/reference/repos#get-community-profile-metrics) -{% endif %} +{% endif -%} - [`GET /repos/:owner/:repo/contributors`](/rest/reference/repos#list-repository-contributors) - [`GET /repos/:owner/:repo/forks`](/rest/reference/repos#list-forks) - [`GET /repos/:owner/:repo/languages`](/rest/reference/repos#list-repository-languages) @@ -122,9 +122,9 @@ _Search_ - [`GET /repos/:owner/:repo/actions/jobs/:job_id/logs`](/rest/reference/actions#download-job-logs-for-a-workflow-run) (:read) - [`GET /repos/:owner/:repo/actions/runs`](/rest/reference/actions#list-workflow-runs-for-a-repository) (:read) - [`GET /repos/:owner/:repo/actions/runs/:run_id`](/rest/reference/actions#get-a-workflow-run) (:read) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`POST /repos/:owner/:repo/actions/runs/:run_id/approve`](/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request) (:write) -{% endif %} +{% endif -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id/artifacts`](/rest/reference/actions#list-workflow-run-artifacts) (:read) - [`POST /repos/:owner/:repo/actions/runs/:run_id/cancel`](/rest/reference/actions#cancel-a-workflow-run) (:write) - [`GET /repos/:owner/:repo/actions/runs/:run_id/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run) (:read) @@ -141,44 +141,44 @@ _Search_ - [`POST /orgs/:org/repos`](/rest/reference/repos#create-an-organization-repository) (:write) - [`PATCH /repos/:owner/:repo`](/rest/reference/repos#update-a-repository) (:write) - [`DELETE /repos/:owner/:repo`](/rest/reference/repos#delete-a-repository) (:write) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-a-repository) (:read) - [`GET /repos/:owner/:repo/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-a-repository) (:read) - [`GET /repos/:owner/:repo/actions/runners/:runner_id`](/rest/reference/actions#get-a-self-hosted-runner-for-a-repository) (:read) - [`DELETE /repos/:owner/:repo/actions/runners/:runner_id`](/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository) (:write) - [`POST /repos/:owner/:repo/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-a-repository) (:write) - [`POST /repos/:owner/:repo/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-a-repository) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`PUT /repos/:owner/:repo/automated-security-fixes`](/rest/reference/repos#enable-automated-security-fixes) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /repos/:owner/:repo/automated-security-fixes`](/rest/reference/repos#disable-automated-security-fixes) (:write) -{% endif %} +{% endif -%} - [`POST /repos/:owner/:repo/forks`](/rest/reference/repos#create-a-fork) (:write) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-a-repository) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`PUT /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-a-repository) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-a-repository) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/pages/health`](/rest/reference/repos#get-a-dns-health-check-for-github-pages) (:write) -{% endif %} +{% endif -%} - [`PUT /repos/:owner/:repo/topics`](/rest/reference/repos#replace-all-repository-topics) (:write) - [`POST /repos/:owner/:repo/transfer`](/rest/reference/repos#transfer-a-repository) (:write) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#enable-vulnerability-alerts) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`PUT /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#enable-vulnerability-alerts) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#disable-vulnerability-alerts) (:write) -{% endif %} +{% endif -%} - [`PATCH /user/repository_invitations/:invitation_id`](/rest/reference/repos#accept-a-repository-invitation) (:write) - [`DELETE /user/repository_invitations/:invitation_id`](/rest/reference/repos#decline-a-repository-invitation) (:write) @@ -212,9 +212,9 @@ _Branches_ - [`POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/repos#add-user-access-restrictions) (:write) - [`PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/repos#set-user-access-restrictions) (:write) - [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/repos#remove-user-access-restrictions) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} - [`POST /repos/:owner/:repo/branches/:branch/rename`](/rest/reference/repos#rename-a-branch) (:write) -{% endif %} +{% endif -%} _Collaborators_ - [`PUT /repos/:owner/:repo/collaborators/:username`](/rest/reference/repos#add-a-repository-collaborator) (:write) @@ -270,69 +270,69 @@ _Traffic_ ### Permission on "contents" - [`GET /repos/:owner/:repo/:archive_format/:ref`](/rest/reference/repos#download-a-repository-archive) (:read) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/artifacts/:artifact_id`](/rest/reference/actions#get-an-artifact) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id`](/rest/reference/actions#delete-an-artifact) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/artifacts/:artifact_id/zip`](/rest/reference/actions#download-an-artifact) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/jobs/:job_id`](/rest/reference/actions#get-a-job-for-a-workflow-run) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/jobs/:job_id/logs`](/rest/reference/actions#download-job-logs-for-a-workflow-run) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/runs`](/rest/reference/actions#list-workflow-runs-for-a-repository) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id`](/rest/reference/actions#get-a-workflow-run) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id/artifacts`](/rest/reference/actions#list-workflow-run-artifacts) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`POST /repos/:owner/:repo/actions/runs/:run_id/cancel`](/rest/reference/actions#cancel-a-workflow-run) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id/logs`](/rest/reference/actions#download-workflow-run-logs) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /repos/:owner/:repo/actions/runs/:run_id/logs`](/rest/reference/actions#delete-workflow-run-logs) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`POST /repos/:owner/:repo/actions/runs/:run_id/rerun`](/rest/reference/actions#re-run-a-workflow) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/secrets`](/rest/reference/actions#list-repository-secrets) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#get-a-repository-secret) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`PUT /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#create-or-update-a-repository-secret) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#delete-a-repository-secret) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/workflows`](/rest/reference/actions#list-repository-workflows) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/workflows/:workflow_id`](/rest/reference/actions#get-a-workflow) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs`](/rest/reference/actions#list-workflow-runs) (:read) -{% endif %} +{% endif -%} - [`GET /repos/:owner/:repo/check-runs/:check_run_id`](/rest/reference/checks#get-a-check-run) (:read) - [`GET /repos/:owner/:repo/check-runs/:check_run_id/annotations`](/rest/reference/checks#list-check-run-annotations) (:read) - [`GET /repos/:owner/:repo/check-suites/:check_suite_id`](/rest/reference/checks#get-a-check-suite) (:read) @@ -345,9 +345,9 @@ _Traffic_ - [`GET /repos/:owner/:repo/community/code_of_conduct`](/rest/reference/codes-of-conduct#get-the-code-of-conduct-for-a-repository) (:read) - [`GET /repos/:owner/:repo/compare/:base...:head`](/rest/reference/repos#compare-two-commits) (:read) - [`GET /repos/:owner/:repo/contents/:path`](/rest/reference/repos#get-repository-content) (:read) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} - [`POST /repos/:owner/:repo/dispatches`](/rest/reference/repos#create-a-repository-dispatch-event) (:write) -{% endif %} +{% endif -%} - [`POST /repos/:owner/:repo/forks`](/rest/reference/repos#create-a-fork) (:read) - [`POST /repos/:owner/:repo/merges`](/rest/reference/repos#merge-a-branch) (:write) - [`PUT /repos/:owner/:repo/pulls/:pull_number/merge`](/rest/reference/pulls#merge-a-pull-request) (:write) @@ -360,9 +360,9 @@ _Branches_ - [`POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/repos#add-app-access-restrictions) (:write) - [`PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/repos#set-app-access-restrictions) (:write) - [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/repos#remove-user-access-restrictions) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} - [`POST /repos/:owner/:repo/branches/:branch/rename`](/rest/reference/repos#rename-a-branch) (:write) -{% endif %} +{% endif -%} _Commit comments_ - [`PATCH /repos/:owner/:repo/comments/:comment_id`](/rest/reference/repos#update-a-commit-comment) (:write) @@ -399,14 +399,19 @@ _Import_ _Reactions_ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} -- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (:write){% else %}- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write){% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (:write) +{% else -%} +- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write) +{% endif -%} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} - [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) (:write) - [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-reaction) (:write) -- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write){% endif %} +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write) +{% endif -%} _Releases_ - [`GET /repos/:owner/:repo/releases`](/rest/reference/repos/#list-releases) (:read) @@ -425,8 +430,10 @@ _Releases_ - [`GET /repos/:owner/:repo/deployments`](/rest/reference/repos#list-deployments) (:read) - [`POST /repos/:owner/:repo/deployments`](/rest/reference/repos#create-a-deployment) (:write) -- [`GET /repos/:owner/:repo/deployments/:deployment_id`](/rest/reference/repos#get-a-deployment) (:read){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} -- [`DELETE /repos/:owner/:repo/deployments/:deployment_id`](/rest/reference/repos#delete-a-deployment) (:write){% endif %} +- [`GET /repos/:owner/:repo/deployments/:deployment_id`](/rest/reference/repos#get-a-deployment) (:read) +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +- [`DELETE /repos/:owner/:repo/deployments/:deployment_id`](/rest/reference/repos#delete-a-deployment) (:write) +{% endif -%} - [`GET /repos/:owner/:repo/deployments/:deployment_id/statuses`](/rest/reference/repos#list-deployment-statuses) (:read) - [`POST /repos/:owner/:repo/deployments/:deployment_id/statuses`](/rest/reference/repos#create-a-deployment-status) (:write) - [`GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id`](/rest/reference/repos#get-a-deployment-status) (:read) @@ -434,9 +441,9 @@ _Releases_ {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} ### Permission on "emails" -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`PATCH /user/email/visibility`](/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) (:write) -{% endif %} +{% endif -%} - [`GET /user/emails`](/rest/reference/users#list-email-addresses-for-the-authenticated-user) (:read) - [`POST /user/emails`](/rest/reference/users#add-an-email-address-for-the-authenticated-user) (:write) - [`DELETE /user/emails`](/rest/reference/users#delete-an-email-address-for-the-authenticated-user) (:write) @@ -523,15 +530,17 @@ _Reactions_ - [`POST /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) (:write) - [`GET /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#list-reactions-for-an-issue) (:read) - [`POST /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#create-reaction-for-an-issue) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} - [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (:write) - [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) (:write) - [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-reaction) (:write) -- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write){% else %} -- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write){% endif %} +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write) +{% else -%} +- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write) +{% endif -%} ### Permission on "keys" @@ -543,37 +552,37 @@ _Keys_ ### Permission on "members" -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /organizations/:org_id/team/:team_id/team-sync/group-mappings`](/rest/reference/teams#list-idp-groups-for-a-team) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`PATCH /organizations/:org_id/team/:team_id/team-sync/group-mappings`](/rest/reference/teams#create-or-update-idp-group-connections) (:write) -{% endif %} +{% endif -%} - [`GET /orgs/:org/outside_collaborators`](/rest/reference/orgs#list-outside-collaborators-for-an-organization) (:read) - [`PUT /orgs/:org/outside_collaborators/:username`](/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator) (:write) - [`DELETE /orgs/:org/outside_collaborators/:username`](/rest/reference/orgs#remove-outside-collaborator-from-an-organization) (:write) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /orgs/:org/team-sync/groups`](/rest/reference/teams#list-idp-groups-for-an-organization) (:write) -{% endif %} +{% endif -%} - [`GET /orgs/:org/team/:team_id`](/rest/reference/teams#get-a-team-by-name) (:read) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /scim/v2/orgs/:org/Users`](/rest/reference/scim#list-scim-provisioned-identities) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`POST /scim/v2/orgs/:org/Users`](/rest/reference/scim#provision-and-invite-a-scim-user) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#get-scim-provisioning-information-for-a-user) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`PUT /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#set-scim-information-for-a-provisioned-user) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`PATCH /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#update-an-attribute-for-a-scim-user) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#delete-a-scim-user-from-an-organization) (:write) -{% endif %} +{% endif -%} {% if currentVersion == "free-pro-team@latest" %} _Invitations_ @@ -604,17 +613,17 @@ _Teams_ - [`GET /orgs/:org/teams`](/rest/reference/teams#list-teams) (:read) - [`POST /orgs/:org/teams`](/rest/reference/teams#create-a-team) (:write) - [`GET /orgs/:org/teams/:team_slug`](/rest/reference/teams#get-a-team-by-name) (:read) -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" %} +{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.21" -%} - [`GET /teams/:team_id`](/rest/reference/teams#get-a-team) (:read) -{% endif %} +{% endif -%} - [`PATCH /teams/:team_id`](/rest/reference/teams#update-a-team) (:write) - [`DELETE /teams/:team_id`](/rest/reference/teams#delete-a-team) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} - [`GET /teams/:team_id/projects`](/rest/reference/teams#list-team-projects) (:read) - [`GET /teams/:team_id/projects/:project_id`](/rest/reference/teams#check-team-permissions-for-a-project) (:read) - [`PUT /teams/:team_id/projects/:project_id`](/rest/reference/teams#add-or-update-team-project-permissions) (:read) - [`DELETE /teams/:team_id/projects/:project_id`](/rest/reference/teams#remove-a-project-from-a-team) (:read) -{% endif %} +{% endif -%} - [`GET /teams/:team_id/repos`](/rest/reference/teams#list-team-repositories) (:read) - [`GET /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#check-team-permissions-for-a-repository) (:read) - [`PUT /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#add-or-update-team-repository-permissions) (:read) @@ -624,15 +633,15 @@ _Teams_ ### Permission on "organization administration" - [`PATCH /orgs/:org`](/rest/reference/orgs#update-an-organization) (:write) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /orgs/:org/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-an-organization) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`PUT /orgs/:org/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-an-organization) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /orgs/:org/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-an-organization) (:write) -{% endif %} +{% endif -%} ### Permission on "organization events" @@ -698,9 +707,9 @@ _Teams_ - [`POST /repos/:owner/:repo/pages/builds`](/rest/reference/repos#request-a-github-pages-build) (:write) - [`GET /repos/:owner/:repo/pages/builds/:build_id`](/rest/reference/repos#get-github-pages-build) (:read) - [`GET /repos/:owner/:repo/pages/builds/latest`](/rest/reference/repos#get-latest-pages-build) (:read) -{% if currentVersion == "free-pro-team@latest" %} +{% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/pages/health`](/rest/reference/repos#get-a-dns-health-check-for-github-pages) (:write) -{% endif %} +{% endif -%} ### Permission on "pull requests" @@ -767,14 +776,17 @@ _Reactions_ - [`POST /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) (:write) - [`GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions`](/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment) (:read) - [`POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} - [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (:write) - [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) (:write) - [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-reaction) (:write) -- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write){% else %}- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write){% endif %} +- [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write) +{% else -%} +- [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write) +{% endif -%} _Requested reviewers_ - [`GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers`](/rest/reference/pulls#list-requested-reviewers-for-a-pull-request) (:read) @@ -840,29 +852,27 @@ _Teams_ {% if currentVersion == "free-pro-team@latest" %} ### Permission on "secrets" -* [`GET /repos/:owner/:repo/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) (:read) -* [`GET /repos/:owner/:repo/actions/secrets`](/rest/reference/actions#list-repository-secrets) (:read) -* [`GET /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#get-a-repository-secret) (:read) -* [`PUT /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#create-or-update-a-repository-secret) (:write) -* [`DELETE /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#delete-a-repository-secret) (:write) -* [`GET /orgs/:org/actions/secrets/public-key`](/rest/reference/actions#get-an-organization-public-key) (:read) -* [`GET /orgs/:org/actions/secrets`](/rest/reference/actions#list-organization-secrets) (:read) -* [`GET /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#get-an-organization-secret) (:read) -* [`PUT /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#create-or-update-an-organization-secret) (:write) -* [`GET /orgs/:org/actions/secrets/:secret_name/repositories`](/rest/reference/actions#list-selected-repositories-for-an-organization-secret) (:read) -* [`PUT /orgs/:org/actions/secrets/:secret_name/repositories`](/rest/reference/actions#set-selected-repositories-for-an-organization-secret) (:write) -* [`PUT /orgs/:org/actions/secrets/:secret_name/repositories/:repository_id`](/rest/reference/actions#add-selected-repository-to-an-organization-secret) (:write) -* [`DELETE /orgs/:org/actions/secrets/:secret_name/repositories/:repository_id`](/rest/reference/actions#remove-selected-repository-from-an-organization-secret) (:write) -* [`DELETE /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#delete-an-organization-secret) (:write) +- [`GET /repos/:owner/:repo/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) (:read) +- [`GET /repos/:owner/:repo/actions/secrets`](/rest/reference/actions#list-repository-secrets) (:read) +- [`GET /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#get-a-repository-secret) (:read) +- [`PUT /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#create-or-update-a-repository-secret) (:write) +- [`DELETE /repos/:owner/:repo/actions/secrets/:secret_name`](/rest/reference/actions#delete-a-repository-secret) (:write) +- [`GET /orgs/:org/actions/secrets/public-key`](/rest/reference/actions#get-an-organization-public-key) (:read) +- [`GET /orgs/:org/actions/secrets`](/rest/reference/actions#list-organization-secrets) (:read) +- [`GET /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#get-an-organization-secret) (:read) +- [`PUT /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#create-or-update-an-organization-secret) (:write) +- [`GET /orgs/:org/actions/secrets/:secret_name/repositories`](/rest/reference/actions#list-selected-repositories-for-an-organization-secret) (:read) +- [`PUT /orgs/:org/actions/secrets/:secret_name/repositories`](/rest/reference/actions#set-selected-repositories-for-an-organization-secret) (:write) +- [`PUT /orgs/:org/actions/secrets/:secret_name/repositories/:repository_id`](/rest/reference/actions#add-selected-repository-to-an-organization-secret) (:write) +- [`DELETE /orgs/:org/actions/secrets/:secret_name/repositories/:repository_id`](/rest/reference/actions#remove-selected-repository-from-an-organization-secret) (:write) +- [`DELETE /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#delete-an-organization-secret) (:write) {% endif %} {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} ### Permission on "secret scanning alerts" - [`GET /repos/:owner/:repo/secret-scanning/alerts`](/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository) (:read) - - [`GET /repos/:owner/:repo/secret-scanning/alerts/:alert_number`](/rest/reference/secret-scanning#get-a-secret-scanning-alert) (:read) - - [`PATCH /repos/:owner/:repo/secret-scanning/alerts/:alert_number`](/rest/reference/secret-scanning#update-a-secret-scanning-alert) (:write) {% endif %} @@ -872,24 +882,20 @@ _Teams_ - [`GET /repos/:owner/:repo/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository) (:read) - [`GET /repos/:owner/:repo/code-scanning/alerts/:alert_number`](/rest/reference/code-scanning#get-a-code-scanning-alert) (:read) - [`PATCH /repos/:owner/:repo/code-scanning/alerts/:alert_number`](/rest/reference/code-scanning#update-a-code-scanning-alert) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} - [`GET /repos/:owner/:repo/code-scanning/alerts/:alert_number/instances`](/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% endif -%} - [`GET /repos/:owner/:repo/code-scanning/analyses`](/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} - [`GET /repos/:owner/:repo/code-scanning/analyses/:analysis_id`](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository) (:read) -{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% endif -%} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" -%} - [`DELETE /repos/:owner/:repo/code-scanning/analyses/:analysis_id`](/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% endif -%} - [`POST /repos/:owner/:repo/code-scanning/sarifs`](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data) (:write) -{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} - [`GET /repos/:owner/:repo/code-scanning/sarifs/:sarif_id`](/rest/reference/code-scanning#get-information-about-a-sarif-upload) (:read) +{% endif -%} {% endif %} {% if currentVersion == "free-pro-team@latest" %} From 09d56620482c95c0b68ffb38887261f9086a829a Mon Sep 17 00:00:00 2001 From: Simran Date: Tue, 22 Jun 2021 18:51:55 +0200 Subject: [PATCH 15/41] Link to workflow status badge article --- content/actions/guides/about-continuous-integration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/actions/guides/about-continuous-integration.md b/content/actions/guides/about-continuous-integration.md index 524a4329d7..7daa5af73d 100644 --- a/content/actions/guides/about-continuous-integration.md +++ b/content/actions/guides/about-continuous-integration.md @@ -84,11 +84,11 @@ You won't be able to merge the pull request if your repository is configured to {% data reusables.repositories.actions-workflow-status-badge-into %} -For more information, see "[Configuring a workflow](/articles/configuring-a-workflow)." +For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)." ## Further reading -- "[Setting up continuous integration using {% data variables.product.prodname_actions %}](/articles/setting-up-continuous-integration-using-github-actions)" +- "[Setting up continuous integration using workflow templates](/actions/guides/setting-up-continuous-integration-using-workflow-templates)" {% if currentVersion == "free-pro-team@latest" %} - "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" {% endif %} From 454d7844d879f8ea4f7c2d6f41c03ae5574a15cc Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 12:53:08 -0400 Subject: [PATCH 16/41] fix conditional with multiple ifs --- .../basic-writing-and-formatting-syntax.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md b/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md index 25ff02adca..3b46fbc33e 100644 --- a/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md +++ b/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md @@ -78,7 +78,7 @@ For more information, see "[Creating and highlighting code blocks](/articles/cre ## Links -You can create an inline link by wrapping link text in brackets `[ ]`, and then wrapping the URL in parentheses `( )`. {% if currentVersion == "free-pro-team@latest" or if currentVersion == "github-ae@next" or if currentVersion ver_gt "enterprise-server@3.1" %}You can also use the keyboard shortcut `command + k` to create a link.{% endif %} +You can create an inline link by wrapping link text in brackets `[ ]`, and then wrapping the URL in parentheses `( )`. {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}You can also use the keyboard shortcut `command + k` to create a link.{% endif %} `This site was built using [GitHub Pages](https://pages.github.com/).` From f5b2590d62456a37d4ef7c425713cbbaf2d7d337 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 12:53:22 -0400 Subject: [PATCH 17/41] update deprecated frontmatter as part of script run --- script/content-migrations/use-short-versions.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/script/content-migrations/use-short-versions.js b/script/content-migrations/use-short-versions.js index 31316d466f..54cb4f82bb 100755 --- a/script/content-migrations/use-short-versions.js +++ b/script/content-migrations/use-short-versions.js @@ -51,10 +51,17 @@ async function main () { const { data } = frontmatter(newContent) if (data.versions && typeof data.versions !== 'string') { Object.entries(data.versions).forEach(([plan, value]) => { + // Update legacy versioning while we're here + const valueToUse = value + .replace('2.23', '3.0') + .replace(`>=${oldestSupported}`, '*') + .replace(/>=?2\.20/, '*') + .replace(/>=?2\.19/, '*') + // Find the relevant version from the master list so we can access the short name. const versionObj = allVersions.find(version => version.plan === plan) delete data.versions[plan] - data.versions[versionObj.shortName] = value + data.versions[versionObj.shortName] = valueToUse }) } From 1c1417f288c40b952b7c27052f98a4f30f19b7fe Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 12:55:04 -0400 Subject: [PATCH 18/41] Update content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md Co-authored-by: Felicity Chapman --- .../about-alerts-for-vulnerable-dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md index 9df15d6bc7..3485766af9 100644 --- a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md +++ b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md @@ -66,4 +66,4 @@ By default, we notify people with admin permissions in the affected repositories We send security alerts to people with admin permissions in the affected repositories by default. {% data variables.product.product_name %} never publicly discloses identified vulnerabilities for any repository. {% endif %} -{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %}{% if currentVersion ver_gt "enterprise-server@2.20" %} For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."{% endif %} +{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %}{% if enterpriseServerVersions contains currentVersion %} For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."{% endif %} From 318d94c43a9a573bafe08881fe283af7cd4ed737 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 12:57:34 -0400 Subject: [PATCH 19/41] use real-world example --- contributing/liquid-helpers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/liquid-helpers.md b/contributing/liquid-helpers.md index 42b3f6bd48..36364658b7 100644 --- a/contributing/liquid-helpers.md +++ b/contributing/liquid-helpers.md @@ -63,7 +63,7 @@ If you need to denote content that is only available (or not available) in **cer When **all** operands must be true for the condition to be true, use the operator `and`: ``` -{% ifversion fpt and ghes > 2.21 %} +{% ifversion ghes > 2.21 and ghes < 3.1 %} ``` When **at least one** operand must be true for the condition to be true, use the operator `or`: From e796801934b3450f6c6fa5077066a752ef6dc78c Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 12:58:16 -0400 Subject: [PATCH 20/41] Update contributing/liquid-helpers.md Co-authored-by: Felicity Chapman --- contributing/liquid-helpers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/liquid-helpers.md b/contributing/liquid-helpers.md index 42b3f6bd48..6e39a5f402 100644 --- a/contributing/liquid-helpers.md +++ b/contributing/liquid-helpers.md @@ -78,7 +78,7 @@ Do **not** use the operators `&&` or `||`. Liquid does not recognize them, and t If your content describes a feature that will be included in the next release of GitHub AE, you can use a placeholder version string, `ghae-next`. Before the next GitHub AE release, we will run a script to replace the placeholder with `ghae`. -For example, you can use this logic before the feature is available in GitHub AE: +For example, you can use this logic for a feature that's shipping on GitHub.com and will also be available in a future update to GitHub AE: ``` {% ifversion fpt or ghae-next %}This is a brand new feature, the likes of which have never been seen at this company before!{% endif %} ``` From 6b5e30636c9c0873c8463f6404cd36b15c310e10 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 12:59:53 -0400 Subject: [PATCH 21/41] restore else text --- .../versioning-large-files/about-git-large-file-storage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md b/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md index 824b0e9b8f..2f106a9bf2 100644 --- a/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md +++ b/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md @@ -21,7 +21,7 @@ Using {% data variables.large_files.product_name_short %}, you can store files u | {% data variables.product.prodname_pro %} | 2 GB | | {% data variables.product.prodname_team %} | 4 GB | | {% data variables.product.prodname_ghe_cloud %} | 5 GB |{% else %} -Using {% data variables.large_files.product_name_short %}, you can store files up to in your repository. +Using {% data variables.large_files.product_name_short %}, you can store files up to 5 GB in your repository. {% endif %} You can also use {% data variables.large_files.product_name_short %} with {% data variables.product.prodname_desktop %}. For more information about cloning Git LFS repositories in {% data variables.product.prodname_desktop %}, see "[Cloning a repository from GitHub to GitHub Desktop](/desktop/guides/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop)." From 47184804e200a0f8c126e69fc01573445f4e986d Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 13:03:19 -0400 Subject: [PATCH 22/41] allow the script to be run on files that already have short names --- script/content-migrations/use-short-versions.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/script/content-migrations/use-short-versions.js b/script/content-migrations/use-short-versions.js index 54cb4f82bb..4e3aff0b0b 100755 --- a/script/content-migrations/use-short-versions.js +++ b/script/content-migrations/use-short-versions.js @@ -59,7 +59,11 @@ async function main () { .replace(/>=?2\.19/, '*') // Find the relevant version from the master list so we can access the short name. - const versionObj = allVersions.find(version => version.plan === plan) + const versionObj = allVersions.find(version => version.plan === plan || version.shortName === plan) + if (!versionObj) { + console.error(`can't find supported version for ${plan}`) + process.exit(1) + } delete data.versions[plan] data.versions[versionObj.shortName] = valueToUse }) From ae244ddf09105899bb967537c3d942185d3ff42c Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 13:07:16 -0400 Subject: [PATCH 23/41] Update content/README.md Co-authored-by: Felicity Chapman --- content/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/README.md b/content/README.md index 1e1536a702..d6604a3fcf 100644 --- a/content/README.md +++ b/content/README.md @@ -74,7 +74,7 @@ versions: ghes: '*' ``` -You can also version a page for a range of releases. This would version the page for GitHub Enterprise Server 2.22 and 3.0 only: +You can also version a page for a range of releases. This would version the page for GitHub.com, and GitHub Enterprise Server versions 2.22 and 3.0 only: ```yaml versions: From e7bd9cb1f0470a786e85b2a51be16a01f5b53230 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 13:27:00 -0400 Subject: [PATCH 24/41] run script on early access --- script/content-migrations/use-short-versions.js | 1 - 1 file changed, 1 deletion(-) diff --git a/script/content-migrations/use-short-versions.js b/script/content-migrations/use-short-versions.js index 4e3aff0b0b..24b6030fe2 100755 --- a/script/content-migrations/use-short-versions.js +++ b/script/content-migrations/use-short-versions.js @@ -13,7 +13,6 @@ const dryRun = ['-d', '--dry-run'].includes(process.argv[2]) const walkFiles = (pathToWalk, ext) => { return walk(path.posix.join(process.cwd(), pathToWalk), { includeBasePath: true, directories: false }) .filter(file => file.endsWith(ext) && !file.endsWith('README.md')) - .filter(file => !file.includes('/early-access/')) // ignore EA for now } const markdownFiles = walkFiles('content', '.md').concat(walkFiles('data', '.md')) From 489031c8055497484d8fb6e7bbd2fbd43bff1480 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Tue, 22 Jun 2021 13:44:22 -0400 Subject: [PATCH 25/41] add a note about linting test --- tests/linting/lint-files.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/linting/lint-files.js b/tests/linting/lint-files.js index 1232458dfd..40931f25b0 100644 --- a/tests/linting/lint-files.js +++ b/tests/linting/lint-files.js @@ -959,6 +959,9 @@ function validateIfversionConditionals (conds) { if (!allowedVersionOperators.includes(operator)) { errors.push(`Found a "${operator}" operator inside "${cond}", but "${operator}" is not supported`) } + // NOTE: The following will throw errors when we deprecate a version until we run the script to remove the + // deprecated versioning. If we deprecate a version before we have a working version of that script, + // we can comment out this part of the test temporarily and re-enable it once the script is ready. if (!(supported.includes(release) || release === next)) { errors.push(`Found ${release} inside "${cond}", but ${release} is not a supported GHES release`) } From 2fbb2c884d0fbb374eec5a21ad3fd3098c3ef936 Mon Sep 17 00:00:00 2001 From: Simran Date: Wed, 23 Jun 2021 10:34:20 +0200 Subject: [PATCH 26/41] Apply suggestions from code review --- .../permissions-required-for-github-apps.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/rest/reference/permissions-required-for-github-apps.md b/content/rest/reference/permissions-required-for-github-apps.md index 9ca67662c7..367405c064 100644 --- a/content/rest/reference/permissions-required-for-github-apps.md +++ b/content/rest/reference/permissions-required-for-github-apps.md @@ -214,7 +214,7 @@ _Branches_ - [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/repos#remove-user-access-restrictions) (:write) {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} - [`POST /repos/:owner/:repo/branches/:branch/rename`](/rest/reference/repos#rename-a-branch) (:write) -{% endif -%} +{% endif %} _Collaborators_ - [`PUT /repos/:owner/:repo/collaborators/:username`](/rest/reference/repos#add-a-repository-collaborator) (:write) @@ -362,7 +362,7 @@ _Branches_ - [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/repos#remove-user-access-restrictions) (:write) {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} - [`POST /repos/:owner/:repo/branches/:branch/rename`](/rest/reference/repos#rename-a-branch) (:write) -{% endif -%} +{% endif %} _Commit comments_ - [`PATCH /repos/:owner/:repo/comments/:comment_id`](/rest/reference/repos#update-a-commit-comment) (:write) @@ -411,7 +411,7 @@ _Reactions_ - [`DELETE /repos/:owner/:repo/pulls/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-pull-request-comment-reaction) (:write) - [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-reaction) (:write) - [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write) -{% endif -%} +{% endif %} _Releases_ - [`GET /repos/:owner/:repo/releases`](/rest/reference/repos/#list-releases) (:read) @@ -540,7 +540,7 @@ _Reactions_ - [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write) {% else -%} - [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write) -{% endif -%} +{% endif %} ### Permission on "keys" @@ -582,7 +582,7 @@ _Keys_ {% endif -%} {% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#delete-a-scim-user-from-an-organization) (:write) -{% endif -%} +{% endif %} {% if currentVersion == "free-pro-team@latest" %} _Invitations_ @@ -641,7 +641,7 @@ _Teams_ {% endif -%} {% if currentVersion == "free-pro-team@latest" -%} - [`DELETE /orgs/:org/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-an-organization) (:write) -{% endif -%} +{% endif %} ### Permission on "organization events" @@ -709,7 +709,7 @@ _Teams_ - [`GET /repos/:owner/:repo/pages/builds/latest`](/rest/reference/repos#get-latest-pages-build) (:read) {% if currentVersion == "free-pro-team@latest" -%} - [`GET /repos/:owner/:repo/pages/health`](/rest/reference/repos#get-a-dns-health-check-for-github-pages) (:write) -{% endif -%} +{% endif %} ### Permission on "pull requests" @@ -786,7 +786,7 @@ _Reactions_ - [`DELETE /orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`](/rest/reference/reactions#delete-team-discussion-comment-reaction) (:write) {% else -%} - [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write) -{% endif -%} +{% endif %} _Requested reviewers_ - [`GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers`](/rest/reference/pulls#list-requested-reviewers-for-a-pull-request) (:read) From fb1b6fc1f9ba9d1d5ce5016ce36f2c28fc7cecdc Mon Sep 17 00:00:00 2001 From: Simran Date: Wed, 23 Jun 2021 10:38:57 +0200 Subject: [PATCH 27/41] File name as inline code --- .../repositories/actions-workflow-status-badge-into.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/reusables/repositories/actions-workflow-status-badge-into.md b/data/reusables/repositories/actions-workflow-status-badge-into.md index cdbec71bed..0fea5c71bf 100644 --- a/data/reusables/repositories/actions-workflow-status-badge-into.md +++ b/data/reusables/repositories/actions-workflow-status-badge-into.md @@ -1,3 +1,3 @@ -A status badge shows whether a workflow is currently failing or passing. A common place to add a status badge is in the README.md file of your repository, but you can add it to any web page you'd like. By default, badges display the status of your default branch. You can also display the status of a workflow run for a specific branch or event using the `branch` and `event` query parameters in the URL. +A status badge shows whether a workflow is currently failing or passing. A common place to add a status badge is in the `README.md` file of your repository, but you can add it to any web page you'd like. By default, badges display the status of your default branch. You can also display the status of a workflow run for a specific branch or event using the `branch` and `event` query parameters in the URL. ![example status badge](/assets/images/help/repository/actions-workflow-status-badge.png) From da5571c9b1615b39192e9933ab5b4f42ea2f6e1d Mon Sep 17 00:00:00 2001 From: Simran Spiller Date: Wed, 23 Jun 2021 12:11:05 +0200 Subject: [PATCH 28/41] =?UTF-8?q?Rename=20reusable=20to=20=E2=80=A6-intro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also add another link to workflow status badge article --- content/actions/guides/about-continuous-integration.md | 2 +- ...tting-up-continuous-integration-using-workflow-templates.md | 3 ++- .../managing-workflow-runs/adding-a-workflow-status-badge.md | 2 +- ...us-badge-into.md => actions-workflow-status-badge-intro.md} | 0 4 files changed, 4 insertions(+), 3 deletions(-) rename data/reusables/repositories/{actions-workflow-status-badge-into.md => actions-workflow-status-badge-intro.md} (100%) diff --git a/content/actions/guides/about-continuous-integration.md b/content/actions/guides/about-continuous-integration.md index 7daa5af73d..8287d19250 100644 --- a/content/actions/guides/about-continuous-integration.md +++ b/content/actions/guides/about-continuous-integration.md @@ -82,7 +82,7 @@ You won't be able to merge the pull request if your repository is configured to ## Status badges for workflow runs -{% data reusables.repositories.actions-workflow-status-badge-into %} +{% data reusables.repositories.actions-workflow-status-badge-intro %} For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)." diff --git a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md b/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md index 5b962f75af..0dd386d115 100644 --- a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md +++ b/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md @@ -38,7 +38,7 @@ After you set up CI, you can customize the workflow to meet your needs. Once a push is made to your repository, you can follow the status and detailed logs of your continuous integration workflow run on {% data variables.product.prodname_dotcom %} and receive customized notifications. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#github-actions-notification-options)" and "[Managing a workflow run](/articles/managing-a-workflow-run)." -{% data reusables.repositories.actions-workflow-status-badge-into %} +{% data reusables.repositories.actions-workflow-status-badge-intro %} For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." @@ -46,6 +46,7 @@ For more information, see "[Learn {% data variables.product.prodname_actions %}] - "[About continuous integration](/articles/about-continuous-integration)" - "[Managing a workflow run](/articles/managing-a-workflow-run)" +- "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)" {% if currentVersion == "free-pro-team@latest" %} - "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" {% endif %} diff --git a/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md b/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md index 8f4a4692c5..2603a633ae 100644 --- a/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md +++ b/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md @@ -12,7 +12,7 @@ versions: {% data reusables.actions.enterprise-github-hosted-runners %} {% data reusables.actions.ae-beta %} -{% data reusables.repositories.actions-workflow-status-badge-into %} +{% data reusables.repositories.actions-workflow-status-badge-intro %} You reference the workflow by the name of your workflow file. diff --git a/data/reusables/repositories/actions-workflow-status-badge-into.md b/data/reusables/repositories/actions-workflow-status-badge-intro.md similarity index 100% rename from data/reusables/repositories/actions-workflow-status-badge-into.md rename to data/reusables/repositories/actions-workflow-status-badge-intro.md From f76a4232be7204e979d7c334460018e18ce2bf4c Mon Sep 17 00:00:00 2001 From: Simran Date: Wed, 23 Jun 2021 12:25:34 +0200 Subject: [PATCH 29/41] Apply suggestions from code review --- ...ting-up-continuous-integration-using-workflow-templates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md b/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md index 0dd386d115..2110a482d0 100644 --- a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md +++ b/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md @@ -40,13 +40,13 @@ Once a push is made to your repository, you can follow the status and detailed l {% data reusables.repositories.actions-workflow-status-badge-intro %} -For more information, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)." +For more information, see "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)." ## Further reading - "[About continuous integration](/articles/about-continuous-integration)" - "[Managing a workflow run](/articles/managing-a-workflow-run)" -- "[Adding a workflow status badge](/actions/managing-workflow-runs/adding-a-workflow-status-badge)" +- "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)" {% if currentVersion == "free-pro-team@latest" %} - "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" {% endif %} From e907960b0b995cbd3a1f7a83206388e6061d36be Mon Sep 17 00:00:00 2001 From: bl-ue Date: Wed, 23 Jun 2021 13:41:24 -0400 Subject: [PATCH 30/41] Fix typos --- ...-palette.png => codespaces-command-palette.png} | Bin ...=> username-with-limited-availability-text.png} | Bin .../building-and-testing-xamarin-applications.md | 4 ++-- .../cluster-network-configuration.md | 2 +- ...nated-disclosure-of-security-vulnerabilities.md | 4 +--- .../using-the-command-palette-in-codespaces.md | 2 +- .../creating-a-codespace.md | 5 +---- .../forwarding-ports-in-your-codespace.md | 5 ++--- .../getting-started-with-your-dotnet-project.md | 2 +- ...started-with-your-java-project-in-codespaces.md | 2 +- ...arted-with-your-nodejs-project-in-codespaces.md | 2 +- ...arted-with-your-python-project-in-codespaces.md | 4 ++-- .../index.md | 2 +- .../reviewing-your-security-logs-for-codespaces.md | 2 +- .../managing-commits/squashing-commits.md | 4 ++-- ...velopment-environment-to-create-a-github-app.md | 2 +- .../personalizing-your-profile.md | 2 +- .../github-ae-data-protection-agreement.md | 13 ++++++------- content/github/site-policy/dmca-takedown-policy.md | 4 ++-- ...rotection-agreement-non-enterprise-customers.md | 12 ++++++------ .../creating-gists.md | 2 +- ...eviewing-the-audit-log-for-your-organization.md | 2 +- ...permissions-for-adding-outside-collaborators.md | 2 +- content/rest/reference/code-scanning.md | 2 +- ...ollaborator.md => restrict-add-collaborator.md} | 0 25 files changed, 37 insertions(+), 44 deletions(-) rename assets/images/help/codespaces/{codespaces-commad-palette.png => codespaces-command-palette.png} (100%) rename assets/images/help/profile/{username-with-limited-availibilty-text.png => username-with-limited-availability-text.png} (100%) rename data/reusables/gated-features/{restict-add-collaborator.md => restrict-add-collaborator.md} (100%) diff --git a/assets/images/help/codespaces/codespaces-commad-palette.png b/assets/images/help/codespaces/codespaces-command-palette.png similarity index 100% rename from assets/images/help/codespaces/codespaces-commad-palette.png rename to assets/images/help/codespaces/codespaces-command-palette.png diff --git a/assets/images/help/profile/username-with-limited-availibilty-text.png b/assets/images/help/profile/username-with-limited-availability-text.png similarity index 100% rename from assets/images/help/profile/username-with-limited-availibilty-text.png rename to assets/images/help/profile/username-with-limited-availability-text.png diff --git a/content/actions/guides/building-and-testing-xamarin-applications.md b/content/actions/guides/building-and-testing-xamarin-applications.md index 33c7e09590..573ed0509a 100644 --- a/content/actions/guides/building-and-testing-xamarin-applications.md +++ b/content/actions/guides/building-and-testing-xamarin-applications.md @@ -39,7 +39,7 @@ We recommend that you have a basic understanding of Xamarin, .NET Core SDK, YAML - "[Getting started with .NET](https://dotnet.microsoft.com/learn)" - "[Learn Xamarin](https://dotnet.microsoft.com/learn/xamarin)" -## Bulding Xamarin.iOS apps +## Building Xamarin.iOS apps The example below demonstrates how to change the default Xamarin SDK versions and build a Xamarin.iOS application. @@ -79,7 +79,7 @@ jobs: ``` {% endraw %} -## Bulding Xamarin.Android apps +## Building Xamarin.Android apps The example below demonstrates how to change default Xamarin SDK versions and build a Xamarin.Android application. diff --git a/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md b/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md index fad98e50e6..8be13dfbf0 100644 --- a/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md +++ b/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md @@ -110,7 +110,7 @@ We strongly recommend enabling PROXY support for both your instance and the load {% data reusables.enterprise_clustering.x-forwarded-for %} -To enable the `X-Fowarded-For` header, use this command: +To enable the `X-Forwarded-For` header, use this command: ```shell $ ghe-config 'loadbalancer.http-forward' 'true' && ghe-cluster-config-apply diff --git a/content/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md b/content/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md index 0b914aecb3..005c46e6b1 100644 --- a/content/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md +++ b/content/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md @@ -34,7 +34,7 @@ As a maintainer, it's good practice to clearly indicate how and where you want t Maintainers should disclose vulnerabilities in a timely manner. If there is a security vulnerability in your repository, we recommend you: - Treat the vulnerability as a security issue rather than a simple bug, both in your response and your disclosure. For example, you'll need to explicitly mention that the issue is a security vulnerability in the release notes. -- Acknowlege receipt of the vulnerability report as quickly as possible, even if no immediate resources are available for investigation. This sends the message that you are quick to respond and act, and it sets a positive tone for the rest of the interaction between you and the vulnerability reporter. +- Acknowledge receipt of the vulnerability report as quickly as possible, even if no immediate resources are available for investigation. This sends the message that you are quick to respond and act, and it sets a positive tone for the rest of the interaction between you and the vulnerability reporter. - Involve the vulnerability reporter when you verify the impact and veracity of the report. It's likely the vulnerability reporter has already spent time considering the vulnerability in a variety of scenarios, some of which you may have not considered yourself. - Remediate the issue in a way that you see fit, taking any concerns and advice provided by the vulnerability reporter into careful consideration. Often the vulnerability reporter will have knowledge of certain corner cases and remediation bypasses that are easy to miss without a security research background. - Always acknowledge the vulnerability reporter when you credit the discovery. @@ -65,5 +65,3 @@ The process for reporting and disclosing vulnerabilities for projects on {% data To get started, see "[Creating a security advisory](/github/managing-security-vulnerabilities/creating-a-security-advisory)." - - diff --git a/content/codespaces/codespaces-reference/using-the-command-palette-in-codespaces.md b/content/codespaces/codespaces-reference/using-the-command-palette-in-codespaces.md index 87cc84f7a4..18f6006ca0 100644 --- a/content/codespaces/codespaces-reference/using-the-command-palette-in-codespaces.md +++ b/content/codespaces/codespaces-reference/using-the-command-palette-in-codespaces.md @@ -31,7 +31,7 @@ You can access the Command Palette in a number of ways. To see all commands related to {% data variables.product.prodname_github_codespaces %} access the Command Palette, then start typing "Codespaces". -![A list of all commands that relate to Codespaces](/assets/images/help/codespaces/codespaces-commad-palette.png) +![A list of all commands that relate to Codespaces](/assets/images/help/codespaces/codespaces-command-palette.png) ### Suspending or stopping a codespace diff --git a/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/content/codespaces/developing-in-codespaces/creating-a-codespace.md index 8b7abccba8..43d0881052 100644 --- a/content/codespaces/developing-in-codespaces/creating-a-codespace.md +++ b/content/codespaces/developing-in-codespaces/creating-a-codespace.md @@ -26,7 +26,7 @@ Codespaces are associated with a specific branch of a repository and the reposit When you create a codespace, a number of steps happen to enable full access to your development environment. - Resources such as a VM and storage for your container are assigned. A new VM is created every time you create or start a codespace to ensure that you always have the latest versions and security patches. -- {% data variables.product.prodname_codespaces %} recieves information about your repository, branch, commits, your public dotfiles repository, and any secrets that you have created. +- {% data variables.product.prodname_codespaces %} receives information about your repository, branch, commits, your public dotfiles repository, and any secrets that you have created. - {% data variables.product.prodname_codespaces %} executes a shallow clone of the repository. - If you have one in your repository, {% data variables.product.prodname_codespaces %} runs the `devcontainer.json` file. For more information, see "[Configuring {% data variables.product.prodname_codespaces %} for your project](/github/developing-online-with-codespaces/configuring-codespaces-for-your-project)." - Your Docker container, `docker-compose`, or other initialization is run. @@ -56,6 +56,3 @@ When you create a codespace, a number of steps happen to enable full access to y 4. To create a codespace using a Standard machine type, click {% octicon "plus" aria-label="The plus icon" %} **New codespace**. ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) - - - diff --git a/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md b/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md index 8d8e2c6dec..d1f6e58424 100644 --- a/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md +++ b/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md @@ -22,7 +22,7 @@ When an application running inside a codespace outputs a port to the console, {% ![Automatic port forwarding](/assets/images/help/codespaces/automatic-port-forwarding.png) -You can also forward a port manually, label forwarded ports, share fowarded ports publicly, and add forwarded ports to the codespace configuration. +You can also forward a port manually, label forwarded ports, share forwarded ports publicly, and add forwarded ports to the codespace configuration. ## Forwarding a port @@ -58,10 +58,9 @@ If you want to share a forwarded port with others, you can make the port public. You can add a forwarded port to the {% data variables.product.prodname_codespaces %} configuration for the repository, so the port will automatically be forwarded for all codespaces created from the repository. After you update the configuration, any previously created codespaces must be rebuilt for the change to apply. For more information, see "[Configuring {% data variables.product.prodname_codespaces %} for your project](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project#applying-changes-to-your-configuration)." -You can manually configure fowarded ports in a `.devcontainer.json` file using the `forwardPorts` property, or you can use the "Ports" panel in your codespace. +You can manually configure forwarded ports in a `.devcontainer.json` file using the `forwardPorts` property, or you can use the "Ports" panel in your codespace. {% data reusables.codespaces.navigate-to-ports-tab %} 1. Right click the port you want to add to the codespace configuration, then click **Set Label and Update devcontainer.json**. ![Option to set label and add port to devcontainer.json in the right-click menu](/assets/images/help/codespaces/update-devcontainer-to-add-port-option.png) {% data reusables.codespaces.type-port-label %} - diff --git a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project.md b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project.md index 6d460c2c3e..3d65037322 100644 --- a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project.md +++ b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project.md @@ -166,7 +166,7 @@ You can use the Dockerfile to add additional container layers to specify OS pack ## Step 3: Modify your devcontainer.json file -With your dev container added and a basic understanding of what everything does, you can now make changes to configure it for your environment. In this example, you'll add properties to install extensions and restore your project dependancies when your codespace launches. +With your dev container added and a basic understanding of what everything does, you can now make changes to configure it for your environment. In this example, you'll add properties to install extensions and restore your project dependencies when your codespace launches. 1. In the Explorer, expand the `.devcontainer` folder and select the `devcontainer.json` file from the tree to open it. diff --git a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces.md b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces.md index 10b0d28d1c..44f895750c 100644 --- a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces.md +++ b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces.md @@ -148,7 +148,7 @@ You can use the Dockerfile to add additional container layers to specify OS pack With your dev container added and a basic understanding of what everything does, you can now make changes to configure it for your environment. In this example, you'll add properties to install extensions and your project dependencies when your codespace launches. -1. In the Explorer, select the `devcontainer.json` file from the tree to open it. You might have to exand the `.devcontainer` folder to see it. +1. In the Explorer, select the `devcontainer.json` file from the tree to open it. You might have to expand the `.devcontainer` folder to see it. !["Codespaces: Rebuild Container" in the command palette](/assets/images/help/codespaces/devcontainers-options.png) diff --git a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces.md b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces.md index b6797723d7..12c2b737f3 100644 --- a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces.md +++ b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces.md @@ -132,7 +132,7 @@ You can use the Dockerfile to add additional container layers to specify OS pack With your dev container added and a basic understanding of what everything does, you can now make changes to configure it for your environment. In this example, you'll add properties to install npm when your codespace launches and make a list of ports inside the container available locally. -1. In the Explorer, select the `devcontainer.json` file from the tree to open it. You might have to exand the `.devcontainer` folder to see it. +1. In the Explorer, select the `devcontainer.json` file from the tree to open it. You might have to expand the `.devcontainer` folder to see it. !["Codespaces: Rebuild Container" in the command palette](/assets/images/help/codespaces/devcontainers-options.png) diff --git a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md index 4c6484ba68..6362bcb0d5 100644 --- a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md +++ b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md @@ -46,7 +46,7 @@ To set up your project with a custom container, you will need to use a `devconta {% data reusables.codespaces.command-palette-container %} -2. For this example, click **Python 3**. If you need additional features you can select any container that’s specific to Python or a combination of tools such as Python 3 and PostgresSQL. +2. For this example, click **Python 3**. If you need additional features you can select any container that’s specific to Python or a combination of tools such as Python 3 and PostgreSQL. ![Select Python option from the list](/assets/images/help/codespaces/add-python-prebuilt-container.png) 3. Click the recommended version of Python. ![Python version selection](/assets/images/help/codespaces/add-python-version.png) @@ -155,7 +155,7 @@ You can use the Dockerfile to add additional container layers to specify OS pack ## Step 3: Modify your devcontainer.json file -With your dev container added and a basic understanding of what everything does, you can now make changes to configure it for your environment. In this example, you'll add properties to install extensions and your project dependancies when your codespace launches. +With your dev container added and a basic understanding of what everything does, you can now make changes to configure it for your environment. In this example, you'll add properties to install extensions and your project dependencies when your codespace launches. 1. In the Explorer, expand the `.devcontainer` folder and select the `devcontainer.json` file from the tree to open it. diff --git a/content/codespaces/managing-codespaces-for-your-organization/index.md b/content/codespaces/managing-codespaces-for-your-organization/index.md index 0411e18061..37002cfcb9 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/index.md +++ b/content/codespaces/managing-codespaces-for-your-organization/index.md @@ -1,6 +1,6 @@ --- title: Managing Codespaces for your organization -intro: 'You can manange and review how users in your organization can use {% data variables.product.prodname_github_codespaces %}.' +intro: 'You can manage and review how users in your organization can use {% data variables.product.prodname_github_codespaces %}.' versions: free-pro-team: '*' topics: diff --git a/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md b/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md index d80503da9b..2d1a8681dc 100644 --- a/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md +++ b/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md @@ -18,4 +18,4 @@ When you perform an action related to {% data variables.product.prodname_codespa ![security log with Codespaces information](/assets/images/help/settings/codespaces-audit-log.png) -The security log includes details on what action occured and when you performed it. For information about {% data variables.product.prodname_codespaces %} actions, see "[{% data variables.product.prodname_codespaces %} category actions](/github/authenticating-to-github/reviewing-your-security-log#codespaces-category-actions)". +The security log includes details on what action occurred and when you performed it. For information about {% data variables.product.prodname_codespaces %} actions, see "[{% data variables.product.prodname_codespaces %} category actions](/github/authenticating-to-github/reviewing-your-security-log#codespaces-category-actions)". diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md index 0f92cbae06..fcc1591713 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md @@ -19,7 +19,7 @@ Squashing allows you to combine multiple commits in your branch's history into a 4. Select the commits to squash and drop them on the commit you want to combine them with. You can select one commit or select multiple commits using or Shift. ![squash drag and drop](/assets/images/help/desktop/squash-drag-and-drop.png) 5. Modify the commit message of your new commit. The commit messages of the selected commits you want to squash are pre-filled into the **Summary** and **Description** fields. -6. Click **Squash Commmits**. +6. Click **Squash Commits**. {% endmac %} @@ -31,7 +31,7 @@ Squashing allows you to combine multiple commits in your branch's history into a 4. Select the commits to squash and drop them on the commit you want to combine them with. You can select one commit or select multiple commits using Ctrl or Shift. ![squash drag and drop](/assets/images/help/desktop/squash-drag-and-drop.png) 5. Modify the commit message of your new commit. The commit messages of the selected commits you want to squash are pre-filled into the **Summary** and **Description** fields. -6. Click **Squash Commmits**. +6. Click **Squash Commits**. {% endwindows %} diff --git a/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md b/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md index 235e026857..ce2a2feb10 100644 --- a/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md +++ b/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md @@ -169,7 +169,7 @@ Open up the `template_server.rb` file in your favorite text editor. You'll see c At the top of the file you'll see `set :port 3000`, which sets the port used when starting the web server to match the port you redirected your webhook payloads to in "[Step 1. Start a new Smee channel](#step-1-start-a-new-smee-channel)." -The next code you'll see is the `class GHApp < Sintra::Application` declaration. You'll write all of the code for your GitHub App inside this class. +The next code you'll see is the `class GHApp < Sinatra::Application` declaration. You'll write all of the code for your GitHub App inside this class. Out of the box, the class in the template does the following things: * [Read the environment variables](#read-the-environment-variables) diff --git a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md index ce8221c16a..dd3a0a8555 100644 --- a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md @@ -94,7 +94,7 @@ You can set a status to display information about your current availability on { When you set your status, you can also let people know that you have limited availability on {% data variables.product.product_name %}. -![At-mentioned username shows "busy" note next to username](/assets/images/help/profile/username-with-limited-availibilty-text.png) +![At-mentioned username shows "busy" note next to username](/assets/images/help/profile/username-with-limited-availability-text.png) ![Requested reviewer shows "busy" note next to username](/assets/images/help/profile/request-a-review-limited-availability-status.png) diff --git a/content/github/site-policy-deprecated/github-ae-data-protection-agreement.md b/content/github/site-policy-deprecated/github-ae-data-protection-agreement.md index 191e7275f8..531ff23c8f 100644 --- a/content/github/site-policy-deprecated/github-ae-data-protection-agreement.md +++ b/content/github/site-policy-deprecated/github-ae-data-protection-agreement.md @@ -194,7 +194,7 @@ For the purposes of Article 46 (2) of the General Data Protection Regulation (EU (e) 'the applicable data protection law' means the legislation protecting the fundamental rights and freedoms of individuals and, in particular, their right to privacy with respect to the processing of personal data applicable to a data controller in the Member State in which the data exporter is established; -(f) 'technical and organisational security measures' means those measures aimed at protecting personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorised disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing. +(f) 'technical and organizational security measures' means those measures aimed at protecting personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorized disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing. #### Clause 2: Details of the transfer The details of the transfer and in particular the special categories of personal data where applicable are specified in Appendix 1 below which forms an integral part of the Clauses. @@ -215,9 +215,9 @@ The data exporter agrees and warrants: (b) that it has instructed and throughout the duration of the personal data processing services will instruct the data importer to process the personal data transferred only on the data exporter's behalf and in accordance with the applicable data protection law and the Clauses; -(c) that the data importer will provide sufficient guarantees in respect of the technical and organisational security measures specified in Appendix 2 below; +(c) that the data importer will provide sufficient guarantees in respect of the technical and organizational security measures specified in Appendix 2 below; -(d) that after assessment of the requirements of the applicable data protection law, the security measures are appropriate to protect personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorised disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing, and that these measures ensure a level of security appropriate to the risks presented by the processing and the nature of the data to be protected having regard to the state of the art and the cost of their implementation; +(d) that after assessment of the requirements of the applicable data protection law, the security measures are appropriate to protect personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorized disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing, and that these measures ensure a level of security appropriate to the risks presented by the processing and the nature of the data to be protected having regard to the state of the art and the cost of their implementation; (e) that it will ensure compliance with the security measures; @@ -238,15 +238,15 @@ The data importer agrees and warrants: (b) that it has no reason to believe that the legislation applicable to it prevents it from fulfilling the instructions received from the data exporter and its obligations under the contract and that in the event of a change in this legislation which is likely to have a substantial adverse effect on the warranties and obligations provided by the Clauses, it will promptly notify the change to the data exporter as soon as it is aware, in which case the data exporter is entitled to suspend the transfer of data and/or terminate the contract; -(c) that it has implemented the technical and organisational security measures specified in Appendix 2 before processing the personal data transferred; +(c) that it has implemented the technical and organizational security measures specified in Appendix 2 before processing the personal data transferred; (d) that it will promptly notify the data exporter about: (i) any legally binding request for disclosure of the personal data by a law enforcement authority unless otherwise prohibited, such as a prohibition under criminal law to preserve the confidentiality of a law enforcement investigation, - (ii) any accidental or unauthorised access, and + (ii) any accidental or unauthorized access, and - (iii) any request received directly from the data subjects without responding to that request, unless it has been otherwise authorised to do so; + (iii) any request received directly from the data subjects without responding to that request, unless it has been otherwise authorized to do so; (e) to deal promptly and properly with all inquiries from the data exporter relating to its processing of the personal data subject to the transfer and to abide by the advice of the supervisory authority with regard to the processing of the data transferred; @@ -404,4 +404,3 @@ c. Any third party auditor must disclose to GitHub any findings and recommended d. In the event of a regulatory audit, access will be permitted only during regular business hours, Pacific time. e. To the extent permitted by law, Customer must keep confidential any information gathered through any such audit of GitHub that, by its nature, should be confidential. - diff --git a/content/github/site-policy/dmca-takedown-policy.md b/content/github/site-policy/dmca-takedown-policy.md index b19a3ab1ca..d213e034a7 100644 --- a/content/github/site-policy/dmca-takedown-policy.md +++ b/content/github/site-policy/dmca-takedown-policy.md @@ -31,7 +31,7 @@ The DMCA also prohibits the [circumvention of technical measures](https://www.co ## DMCA Notices In a Nutshell -The DMCA provides two simple, straightforward procedures that all GitHub users should know about: (i) a [takedown-notice](/articles/guide-to-submitting-a-dmca-takedown-notice) procedure for copyright holders to request that content be removed; and (ii) a [counter-notice](/articles/guide-to-submitting-a-dmca-counter-notice) procedure for users to get content reenabled when content is taken down by mistake or misidentification. +The DMCA provides two simple, straightforward procedures that all GitHub users should know about: (i) a [takedown-notice](/articles/guide-to-submitting-a-dmca-takedown-notice) procedure for copyright holders to request that content be removed; and (ii) a [counter-notice](/articles/guide-to-submitting-a-dmca-counter-notice) procedure for users to get content re-enabled when content is taken down by mistake or misidentification. DMCA [takedown notices](/articles/guide-to-submitting-a-dmca-takedown-notice) are used by copyright owners to ask GitHub to take down content they believe to be infringing. If you are a software designer or developer, you create copyrighted content every day. If someone else is using your copyrighted content in an unauthorized manner on GitHub, you can send us a DMCA takedown notice to request that the infringing content be changed or removed. @@ -60,7 +60,7 @@ Here are the basic steps in the process. 7. **User May Send A Counter Notice.** We encourage users who have had content disabled to consult with a lawyer about their options. If a user believes that their content was disabled as a result of a mistake or misidentification, they may send us a [counter notice](/articles/guide-to-submitting-a-dmca-counter-notice). As with the original notice, we will make sure that the counter notice is sufficiently detailed (as explained in the [how-to guide](/articles/guide-to-submitting-a-dmca-counter-notice)). If it is, we will [post it](#d-transparency) to our [public repository](https://github.com/github/dmca) and pass the notice back to the copyright owner by sending them the link. -8. **Copyright Owner May File a Legal Action.** If a copyright owner wishes to keep the content disabled after receiving a counter notice, they will need to initiate a legal action seeking a court order to restrain the user from engaging in infringing activity relating to the content on GitHub. In other words, you might get sued. If the copyright owner does not give GitHub notice within 10-14 days, by sending a copy of a valid legal complaint filed in a court of competent jurisdiction, GitHub will reenable the disabled content. +8. **Copyright Owner May File a Legal Action.** If a copyright owner wishes to keep the content disabled after receiving a counter notice, they will need to initiate a legal action seeking a court order to restrain the user from engaging in infringing activity relating to the content on GitHub. In other words, you might get sued. If the copyright owner does not give GitHub notice within 10-14 days, by sending a copy of a valid legal complaint filed in a court of competent jurisdiction, GitHub will re-enable the disabled content. ## B. What About Forks? (or What's a Fork?) diff --git a/content/github/site-policy/github-data-protection-agreement-non-enterprise-customers.md b/content/github/site-policy/github-data-protection-agreement-non-enterprise-customers.md index 10d8e0df84..7aae2a1b58 100644 --- a/content/github/site-policy/github-data-protection-agreement-non-enterprise-customers.md +++ b/content/github/site-policy/github-data-protection-agreement-non-enterprise-customers.md @@ -193,7 +193,7 @@ For the purposes of Article 46(2) of the General Data Protection Regulation (EU (e) 'the applicable data protection law' means the legislation protecting the fundamental rights and freedoms of individuals and, in particular, their right to privacy with respect to the processing of personal data applicable to a data controller in the Member State in which the data exporter is established; -(f) 'technical and organisational security measures' means those measures aimed at protecting personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorised disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing. +(f) 'technical and organizational security measures' means those measures aimed at protecting personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorized disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing. #### Clause 2: Details of the transfer The details of the transfer and in particular the special categories of personal data where applicable are specified in Appendix 1 below which forms an integral part of the Clauses. @@ -214,9 +214,9 @@ The data exporter agrees and warrants: (b) that it has instructed and throughout the duration of the personal data processing services will instruct the data importer to process the personal data transferred only on the data exporter's behalf and in accordance with the applicable data protection law and the Clauses; -(c) that the data importer will provide sufficient guarantees in respect of the technical and organisational security measures specified in Appendix 2 below; +(c) that the data importer will provide sufficient guarantees in respect of the technical and organizational security measures specified in Appendix 2 below; -(d) that after assessment of the requirements of the applicable data protection law, the security measures are appropriate to protect personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorised disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing, and that these measures ensure a level of security appropriate to the risks presented by the processing and the nature of the data to be protected having regard to the state of the art and the cost of their implementation; +(d) that after assessment of the requirements of the applicable data protection law, the security measures are appropriate to protect personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorized disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing, and that these measures ensure a level of security appropriate to the risks presented by the processing and the nature of the data to be protected having regard to the state of the art and the cost of their implementation; (e) that it will ensure compliance with the security measures; @@ -237,15 +237,15 @@ The data importer agrees and warrants: (b) that it has no reason to believe that the legislation applicable to it prevents it from fulfilling the instructions received from the data exporter and its obligations under the contract and that in the event of a change in this legislation which is likely to have a substantial adverse effect on the warranties and obligations provided by the Clauses, it will promptly notify the change to the data exporter as soon as it is aware, in which case the data exporter is entitled to suspend the transfer of data and/or terminate the contract; -(c) that it has implemented the technical and organisational security measures specified in Appendix 2 before processing the personal data transferred; +(c) that it has implemented the technical and organizational security measures specified in Appendix 2 before processing the personal data transferred; (d) that it will promptly notify the data exporter about: (i) any legally binding request for disclosure of the personal data by a law enforcement authority unless otherwise prohibited, such as a prohibition under criminal law to preserve the confidentiality of a law enforcement investigation, -(ii) any accidental or unauthorised access, and +(ii) any accidental or unauthorized access, and -(iii) any request received directly from the data subjects without responding to that request, unless it has been otherwise authorised to do so; +(iii) any request received directly from the data subjects without responding to that request, unless it has been otherwise authorized to do so; (e) to deal promptly and properly with all inquiries from the data exporter relating to its processing of the personal data subject to the transfer and to abide by the advice of the supervisory authority with regard to the processing of the data transferred; diff --git a/content/github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md b/content/github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md index bbfe49aefe..0efe033559 100644 --- a/content/github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md +++ b/content/github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md @@ -18,7 +18,7 @@ Every gist is a Git repository, which means that it can be forked and cloned. {% Gists can be {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} or secret. {% if currentVersion == "github-ae@latest" %}Internal{% else %}Public{% endif %} gists show up in {% data variables.gists.discover_url %}, where {% if currentVersion == "github-ae@latest" %}enterprise members{% else %}people{% endif %} can browse new gists as they're created. They're also searchable, so you can use them if you'd like other people to find and see your work. -Secret gists don't show up in {% data variables.gists.discover_url %} and are not searchable. Secret gists aren't private. If you send the URL of a secret gist to {% if currentVersion == "github-ae@latest" %}another enterprise member{% else %}a friend {% endif %}, they'll be able to see it. However, if {% if currentVersion == "github-ae@latest" %}any other enterpise member{% else %}someone you don't know{% endif %} discovers the URL, they'll also be able to see your gist. If you need to keep your code away from prying eyes, you may want to [create a private repository](/articles/creating-a-new-repository) instead. +Secret gists don't show up in {% data variables.gists.discover_url %} and are not searchable. Secret gists aren't private. If you send the URL of a secret gist to {% if currentVersion == "github-ae@latest" %}another enterprise member{% else %}a friend {% endif %}, they'll be able to see it. However, if {% if currentVersion == "github-ae@latest" %}any other enterprise member{% else %}someone you don't know{% endif %} discovers the URL, they'll also be able to see your gist. If you need to keep your code away from prying eyes, you may want to [create a private repository](/articles/creating-a-new-repository) instead. {% data reusables.gist.cannot-convert-public-gists-to-secret %} diff --git a/content/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization.md b/content/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization.md index 160749de7e..eb7cbcf488 100644 --- a/content/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization.md @@ -547,7 +547,7 @@ For more information, see "[Managing the publication of {% data variables.produc | `create_actions_secret` |Triggered when a {% data variables.product.prodname_actions %} secret is created for a repository. For more information, see "[Creating encrypted secrets for a repository](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository)."{% endif %} | `destroy` | Triggered when [a repository is deleted](/articles/deleting-a-repository).{% if currentVersion == "free-pro-team@latest" %} | `disable` | Triggered when a repository is disabled (e.g., for [insufficient funds](/articles/unlocking-a-locked-account)).{% endif %} -| `enable` | Triggered when a repository is reenabled.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `enable` | Triggered when a repository is re-enabled.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} | `remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed.{% endif %} | `remove_member` | Triggered when a user is [removed from a repository as a collaborator](/articles/removing-a-collaborator-from-a-personal-repository).{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} | `register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to a repository](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)." diff --git a/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md b/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md index 208ae660aa..85c64b915b 100644 --- a/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md +++ b/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md @@ -1,7 +1,7 @@ --- title: Setting permissions for adding outside collaborators intro: 'To protect your organization''s data and the number of paid licenses used in your organization, you can allow only owners to invite outside collaborators to organization repositories.' -product: '{% data reusables.gated-features.restict-add-collaborator %}' +product: '{% data reusables.gated-features.restrict-add-collaborator %}' redirect_from: - /articles/restricting-the-ability-to-add-outside-collaborators-to-organization-repositories/ - /articles/setting-permissions-for-adding-outside-collaborators diff --git a/content/rest/reference/code-scanning.md b/content/rest/reference/code-scanning.md index 59d8c24e26..e3504cd0f7 100644 --- a/content/rest/reference/code-scanning.md +++ b/content/rest/reference/code-scanning.md @@ -30,7 +30,7 @@ For more information, see "[Media types](/rest/overview/media-types)." #### Response using the custom media type -This example response is from a `GET` request to the `/analyses/{analysis_id}` endpoint, using `application/sarif+json` as the `Accept` header value. The example has had indendation and line breaks added for readability. For more information about this endpoint, see "[Get a {% data variables.product.prodname_code_scanning %} analysis for a repository](#get-a-code-scanning-analysis-for-a-repository)." +This example response is from a `GET` request to the `/analyses/{analysis_id}` endpoint, using `application/sarif+json` as the `Accept` header value. The example has had indentation and line breaks added for readability. For more information about this endpoint, see "[Get a {% data variables.product.prodname_code_scanning %} analysis for a repository](#get-a-code-scanning-analysis-for-a-repository)." ``` { diff --git a/data/reusables/gated-features/restict-add-collaborator.md b/data/reusables/gated-features/restrict-add-collaborator.md similarity index 100% rename from data/reusables/gated-features/restict-add-collaborator.md rename to data/reusables/gated-features/restrict-add-collaborator.md From 527990a35d4e23e3f7adb4b1d9d8531184c93019 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 23 Jun 2021 14:26:06 -0400 Subject: [PATCH 31/41] remove GHAE versioning from reusable per @martin389 --- data/reusables/actions/enterprise-setup-prereq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/reusables/actions/enterprise-setup-prereq.md b/data/reusables/actions/enterprise-setup-prereq.md index f97ebd79ec..7d9f5b645f 100644 --- a/data/reusables/actions/enterprise-setup-prereq.md +++ b/data/reusables/actions/enterprise-setup-prereq.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} ### Using self-hosted runners on {% data variables.product.prodname_ghe_server %} From b1d853f46e4fab76d739690281fb608093e7c233 Mon Sep 17 00:00:00 2001 From: wolfy1339 <4595477+wolfy1339@users.noreply.github.com> Date: Wed, 23 Jun 2021 14:49:27 -0400 Subject: [PATCH 32/41] fix(webhooks): add `withdrawn` action to `security_advisory` event Fixes #6073 --- .../webhooks-and-events/webhooks/webhook-events-and-payloads.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md b/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md index 830322fdfd..eddc4f8d09 100644 --- a/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md +++ b/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md @@ -1187,7 +1187,7 @@ Activity related to a security advisory. A security advisory provides informatio Key | Type | Description ----|------|------------- -`action` |`string` | The action that was performed. The action can be one of `published`, `updated`, or `performed` for all new events. +`action` |`string` | The action that was performed. The action can be one of `published`, `updated`, `performed`, or `withdrawn` for all new events. `security_advisory` |`object` | The details of the security advisory, including summary, description, and severity. ### Webhook payload example From 5e50abca4bb2665fefa343d9391a7a977c9577f6 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Thu, 24 Jun 2021 02:56:26 -0400 Subject: [PATCH 33/41] Clarify Job status check functions sentence (#7643) --- .../context-and-expression-syntax-for-github-actions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/actions/reference/context-and-expression-syntax-for-github-actions.md b/content/actions/reference/context-and-expression-syntax-for-github-actions.md index a006b007a8..c7a6a8d4e8 100644 --- a/content/actions/reference/context-and-expression-syntax-for-github-actions.md +++ b/content/actions/reference/context-and-expression-syntax-for-github-actions.md @@ -439,7 +439,7 @@ Creates a hash for any `package-lock.json` and `Gemfile.lock` files in the repos ## Job status check functions -You can use the following status check functions as expressions in `if` conditionals. If your `if` expression does not contain any of the status functions it will automatically result with `success()`. For more information about `if` conditionals, see "[Workflow syntax for GitHub Actions](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)." +You can use the following status check functions as expressions in `if` conditionals. A default status check of `success()` is applied unless you include one of these functions. For more information about `if` conditionals, see "[Workflow syntax for GitHub Actions](/articles/workflow-syntax-for-github-actions/#jobsjob_idif)." ### success From 8de762191d9ef5fcc24245ca4750ad1e0af4371a Mon Sep 17 00:00:00 2001 From: github-openapi-bot <69533958+github-openapi-bot@users.noreply.github.com> Date: Thu, 24 Jun 2021 09:13:38 -0400 Subject: [PATCH 34/41] Update OpenAPI Descriptions (#20118) * Update OpenAPI Descriptions * Add decorated OpenAPI schema files Co-authored-by: github-openapi-bot Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> --- lib/rest/static/decorated/api.github.com.json | 308 +++++++++++++++--- .../dereferenced/api.github.com.deref.json | 48 ++- .../static/dereferenced/github.ae.deref.json | 20 -- 3 files changed, 273 insertions(+), 103 deletions(-) diff --git a/lib/rest/static/decorated/api.github.com.json b/lib/rest/static/decorated/api.github.com.json index 3f499b29b5..9188767a36 100644 --- a/lib/rest/static/decorated/api.github.com.json +++ b/lib/rest/static/decorated/api.github.com.json @@ -24451,7 +24451,7 @@ } ], "summary": "Get GitHub Packages billing for an organization", - "description": "Gets the free and paid storage usued for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `repo` or `admin:org` scope.", + "description": "Gets the free and paid storage used for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `repo` or `admin:org` scope.", "operationId": "billing/get-github-packages-billing-org", "tags": [ "billing" @@ -24472,7 +24472,7 @@ "categoryLabel": "Billing", "notes": [], "bodyParameters": [], - "descriptionHTML": "

Gets the free and paid storage usued for GitHub Packages in gigabytes.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

Access tokens must have the repo or admin:org scope.

", + "descriptionHTML": "

Gets the free and paid storage used for GitHub Packages in gigabytes.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

Access tokens must have the repo or admin:org scope.

", "responses": [ { "httpStatusCode": "200", @@ -31588,6 +31588,116 @@ "rawDescription": "Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header.", "childParamsGroups": [] }, + "security_and_analysis": { + "type": "object or nullable", + "description": "

Specify which security and analysis features to enable or disable.

", + "nullable": true, + "properties": { + "advanced_security": { + "type": "object", + "description": "

Use the status property to enable or disable GitHub Advanced Security for this repository. For more information, see \"About GitHub Advanced Security.\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a GET /repos/{owner}/{repo} request.

", + "properties": { + "status": { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + }, + "name": "advanced_security", + "in": "body", + "rawType": "object", + "rawDescription": "Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see \"[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security).\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a `GET /repos/{owner}/{repo}` request.", + "childParamsGroups": [ + { + "parentName": "advanced_security", + "parentType": "object", + "id": "advanced_security-object", + "params": [ + { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + ] + } + ] + } + }, + "name": "security_and_analysis", + "in": "body", + "rawType": "object", + "rawDescription": "Specify which security and analysis features to enable or disable.", + "childParamsGroups": [ + { + "parentName": "security_and_analysis", + "parentType": "object", + "id": "security_and_analysis-object", + "params": [ + { + "type": "object", + "description": "

Use the status property to enable or disable GitHub Advanced Security for this repository. For more information, see \"About GitHub Advanced Security.\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a GET /repos/{owner}/{repo} request.

", + "properties": { + "status": { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + }, + "name": "advanced_security", + "in": "body", + "rawType": "object", + "rawDescription": "Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see \"[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security).\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a `GET /repos/{owner}/{repo}` request.", + "childParamsGroups": [ + { + "parentName": "advanced_security", + "parentType": "object", + "id": "advanced_security-object", + "params": [ + { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + ] + } + ] + } + ] + }, + { + "parentName": "advanced_security", + "parentType": "object", + "id": "advanced_security-object", + "params": [ + { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + ] + } + ] + }, "has_issues": { "type": "boolean", "description": "

Either true to enable issues for this repository or false to disable them.

", @@ -31726,6 +31836,34 @@ "categoryLabel": "Repos", "notes": [], "descriptionHTML": "

Note: To edit a repository's topics, use the Replace all repository topics endpoint.

", + "responses": [ + { + "httpStatusCode": "200", + "httpStatusMessage": "OK", + "description": "Response", + "payload": "
{\n  \"id\": 1296269,\n  \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n  \"name\": \"Hello-World\",\n  \"full_name\": \"octocat/Hello-World\",\n  \"owner\": {\n    \"login\": \"octocat\",\n    \"id\": 1,\n    \"node_id\": \"MDQ6VXNlcjE=\",\n    \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n    \"gravatar_id\": \"\",\n    \"url\": \"https://api.github.com/users/octocat\",\n    \"html_url\": \"https://github.com/octocat\",\n    \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n    \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n    \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n    \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n    \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n    \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n    \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n    \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n    \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n    \"type\": \"User\",\n    \"site_admin\": false\n  },\n  \"private\": false,\n  \"html_url\": \"https://github.com/octocat/Hello-World\",\n  \"description\": \"This your first repo!\",\n  \"fork\": false,\n  \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n  \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n  \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n  \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n  \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n  \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n  \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n  \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n  \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n  \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n  \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n  \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n  \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n  \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n  \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n  \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n  \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n  \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n  \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n  \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n  \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n  \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n  \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n  \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n  \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n  \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n  \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n  \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n  \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n  \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n  \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n  \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n  \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n  \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n  \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n  \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n  \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n  \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n  \"clone_url\": \"https://github.com/octocat/Hello-World.git\",\n  \"mirror_url\": \"git:git.example.com/octocat/Hello-World\",\n  \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World/hooks\",\n  \"svn_url\": \"https://svn.github.com/octocat/Hello-World\",\n  \"homepage\": \"https://github.com\",\n  \"license\": {\n    \"key\": \"mit\",\n    \"name\": \"MIT License\",\n    \"url\": \"https://api.github.com/licenses/mit\",\n    \"spdx_id\": \"MIT\",\n    \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n    \"html_url\": \"https://github.com/licenses/mit\"\n  },\n  \"language\": null,\n  \"forks_count\": 9,\n  \"forks\": 9,\n  \"stargazers_count\": 80,\n  \"watchers_count\": 80,\n  \"watchers\": 80,\n  \"size\": 108,\n  \"default_branch\": \"master\",\n  \"open_issues_count\": 0,\n  \"open_issues\": 0,\n  \"is_template\": false,\n  \"topics\": [\n    \"octocat\",\n    \"atom\",\n    \"electron\",\n    \"api\"\n  ],\n  \"has_issues\": true,\n  \"has_projects\": true,\n  \"has_wiki\": true,\n  \"has_pages\": false,\n  \"has_downloads\": true,\n  \"archived\": false,\n  \"disabled\": false,\n  \"visibility\": \"public\",\n  \"pushed_at\": \"2011-01-26T19:06:43Z\",\n  \"created_at\": \"2011-01-26T19:01:12Z\",\n  \"updated_at\": \"2011-01-26T19:14:43Z\",\n  \"permissions\": {\n    \"pull\": true,\n    \"push\": false,\n    \"admin\": false\n  },\n  \"allow_rebase_merge\": true,\n  \"template_repository\": {\n    \"id\": 1296269,\n    \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n    \"name\": \"Hello-World-Template\",\n    \"full_name\": \"octocat/Hello-World-Template\",\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"private\": false,\n    \"html_url\": \"https://github.com/octocat/Hello-World-Template\",\n    \"description\": \"This your first repo!\",\n    \"fork\": false,\n    \"url\": \"https://api.github.com/repos/octocat/Hello-World-Template\",\n    \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}\",\n    \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}\",\n    \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}\",\n    \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}\",\n    \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}\",\n    \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}\",\n    \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}\",\n    \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}\",\n    \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}\",\n    \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/contributors\",\n    \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/deployments\",\n    \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/downloads\",\n    \"events_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/events\",\n    \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/forks\",\n    \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}\",\n    \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}\",\n    \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}\",\n    \"git_url\": \"git:github.com/octocat/Hello-World-Template.git\",\n    \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}\",\n    \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}\",\n    \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}\",\n    \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}\",\n    \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}\",\n    \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/languages\",\n    \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/merges\",\n    \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}\",\n    \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}\",\n    \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}\",\n    \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}\",\n    \"ssh_url\": \"git@github.com:octocat/Hello-World-Template.git\",\n    \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/stargazers\",\n    \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}\",\n    \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/subscribers\",\n    \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/subscription\",\n    \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/tags\",\n    \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/teams\",\n    \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}\",\n    \"clone_url\": \"https://github.com/octocat/Hello-World-Template.git\",\n    \"mirror_url\": \"git:git.example.com/octocat/Hello-World-Template\",\n    \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/hooks\",\n    \"svn_url\": \"https://svn.github.com/octocat/Hello-World-Template\",\n    \"homepage\": \"https://github.com\",\n    \"language\": null,\n    \"forks\": 9,\n    \"forks_count\": 9,\n    \"stargazers_count\": 80,\n    \"watchers_count\": 80,\n    \"watchers\": 80,\n    \"size\": 108,\n    \"default_branch\": \"master\",\n    \"open_issues\": 0,\n    \"open_issues_count\": 0,\n    \"is_template\": true,\n    \"license\": {\n      \"key\": \"mit\",\n      \"name\": \"MIT License\",\n      \"url\": \"https://api.github.com/licenses/mit\",\n      \"spdx_id\": \"MIT\",\n      \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n      \"html_url\": \"https://api.github.com/licenses/mit\"\n    },\n    \"topics\": [\n      \"octocat\",\n      \"atom\",\n      \"electron\",\n      \"api\"\n    ],\n    \"has_issues\": true,\n    \"has_projects\": true,\n    \"has_wiki\": true,\n    \"has_pages\": false,\n    \"has_downloads\": true,\n    \"archived\": false,\n    \"disabled\": false,\n    \"visibility\": \"public\",\n    \"pushed_at\": \"2011-01-26T19:06:43Z\",\n    \"created_at\": \"2011-01-26T19:01:12Z\",\n    \"updated_at\": \"2011-01-26T19:14:43Z\",\n    \"permissions\": {\n      \"admin\": false,\n      \"push\": false,\n      \"pull\": true\n    },\n    \"allow_rebase_merge\": true,\n    \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n    \"allow_squash_merge\": true,\n    \"delete_branch_on_merge\": true,\n    \"allow_merge_commit\": true,\n    \"subscribers_count\": 42,\n    \"network_count\": 0\n  },\n  \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n  \"allow_squash_merge\": true,\n  \"delete_branch_on_merge\": true,\n  \"allow_merge_commit\": true,\n  \"subscribers_count\": 42,\n  \"network_count\": 0,\n  \"organization\": {\n    \"login\": \"octocat\",\n    \"id\": 1,\n    \"node_id\": \"MDQ6VXNlcjE=\",\n    \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n    \"gravatar_id\": \"\",\n    \"url\": \"https://api.github.com/users/octocat\",\n    \"html_url\": \"https://github.com/octocat\",\n    \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n    \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n    \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n    \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n    \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n    \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n    \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n    \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n    \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n    \"type\": \"Organization\",\n    \"site_admin\": false\n  },\n  \"parent\": {\n    \"id\": 1296269,\n    \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n    \"name\": \"Hello-World\",\n    \"full_name\": \"octocat/Hello-World\",\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"private\": false,\n    \"html_url\": \"https://github.com/octocat/Hello-World\",\n    \"description\": \"This your first repo!\",\n    \"fork\": false,\n    \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n    \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n    \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n    \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n    \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n    \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n    \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n    \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n    \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n    \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n    \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n    \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n    \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n    \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n    \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n    \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n    \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n    \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n    \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n    \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n    \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n    \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n    \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n    \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n    \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n    \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n    \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n    \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n    \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n    \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n    \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n    \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n    \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n    \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n    \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n    \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n    \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n    \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n    \"clone_url\": \"https://github.com/octocat/Hello-World.git\",\n    \"mirror_url\": \"git:git.example.com/octocat/Hello-World\",\n    \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World/hooks\",\n    \"svn_url\": \"https://svn.github.com/octocat/Hello-World\",\n    \"homepage\": \"https://github.com\",\n    \"language\": null,\n    \"forks_count\": 9,\n    \"stargazers_count\": 80,\n    \"watchers_count\": 80,\n    \"size\": 108,\n    \"default_branch\": \"master\",\n    \"open_issues_count\": 0,\n    \"is_template\": true,\n    \"topics\": [\n      \"octocat\",\n      \"atom\",\n      \"electron\",\n      \"api\"\n    ],\n    \"has_issues\": true,\n    \"has_projects\": true,\n    \"has_wiki\": true,\n    \"has_pages\": false,\n    \"has_downloads\": true,\n    \"archived\": false,\n    \"disabled\": false,\n    \"visibility\": \"public\",\n    \"pushed_at\": \"2011-01-26T19:06:43Z\",\n    \"created_at\": \"2011-01-26T19:01:12Z\",\n    \"updated_at\": \"2011-01-26T19:14:43Z\",\n    \"permissions\": {\n      \"admin\": false,\n      \"push\": false,\n      \"pull\": true\n    },\n    \"allow_rebase_merge\": true,\n    \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n    \"allow_squash_merge\": true,\n    \"delete_branch_on_merge\": true,\n    \"allow_merge_commit\": true,\n    \"subscribers_count\": 42,\n    \"network_count\": 0,\n    \"license\": {\n      \"key\": \"mit\",\n      \"name\": \"MIT License\",\n      \"url\": \"https://api.github.com/licenses/mit\",\n      \"spdx_id\": \"MIT\",\n      \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n      \"html_url\": \"https://api.github.com/licenses/mit\"\n    },\n    \"forks\": 1,\n    \"open_issues\": 1,\n    \"watchers\": 1\n  },\n  \"source\": {\n    \"id\": 1296269,\n    \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n    \"name\": \"Hello-World\",\n    \"full_name\": \"octocat/Hello-World\",\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"private\": false,\n    \"html_url\": \"https://github.com/octocat/Hello-World\",\n    \"description\": \"This your first repo!\",\n    \"fork\": false,\n    \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n    \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n    \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n    \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n    \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n    \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n    \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n    \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n    \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n    \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n    \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n    \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n    \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n    \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n    \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n    \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n    \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n    \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n    \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n    \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n    \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n    \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n    \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n    \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n    \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n    \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n    \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n    \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n    \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n    \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n    \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n    \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n    \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n    \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n    \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n    \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n    \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n    \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n    \"clone_url\": \"https://github.com/octocat/Hello-World.git\",\n    \"mirror_url\": \"git:git.example.com/octocat/Hello-World\",\n    \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World/hooks\",\n    \"svn_url\": \"https://svn.github.com/octocat/Hello-World\",\n    \"homepage\": \"https://github.com\",\n    \"language\": null,\n    \"forks_count\": 9,\n    \"stargazers_count\": 80,\n    \"watchers_count\": 80,\n    \"size\": 108,\n    \"default_branch\": \"master\",\n    \"open_issues_count\": 0,\n    \"is_template\": true,\n    \"topics\": [\n      \"octocat\",\n      \"atom\",\n      \"electron\",\n      \"api\"\n    ],\n    \"has_issues\": true,\n    \"has_projects\": true,\n    \"has_wiki\": true,\n    \"has_pages\": false,\n    \"has_downloads\": true,\n    \"archived\": false,\n    \"disabled\": false,\n    \"visibility\": \"public\",\n    \"pushed_at\": \"2011-01-26T19:06:43Z\",\n    \"created_at\": \"2011-01-26T19:01:12Z\",\n    \"updated_at\": \"2011-01-26T19:14:43Z\",\n    \"permissions\": {\n      \"admin\": false,\n      \"push\": false,\n      \"pull\": true\n    },\n    \"allow_rebase_merge\": true,\n    \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n    \"allow_squash_merge\": true,\n    \"delete_branch_on_merge\": true,\n    \"allow_merge_commit\": true,\n    \"subscribers_count\": 42,\n    \"network_count\": 0,\n    \"license\": {\n      \"key\": \"mit\",\n      \"name\": \"MIT License\",\n      \"url\": \"https://api.github.com/licenses/mit\",\n      \"spdx_id\": \"MIT\",\n      \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n      \"html_url\": \"https://api.github.com/licenses/mit\"\n    },\n    \"forks\": 1,\n    \"open_issues\": 1,\n    \"watchers\": 1\n  }\n}\n
" + }, + { + "httpStatusCode": "307", + "httpStatusMessage": "Temporary Redirect", + "description": "Temporary Redirect" + }, + { + "httpStatusCode": "403", + "httpStatusMessage": "Forbidden", + "description": "Forbidden" + }, + { + "httpStatusCode": "404", + "httpStatusMessage": "Not Found", + "description": "Resource not found" + }, + { + "httpStatusCode": "422", + "httpStatusMessage": "Unprocessable Entity", + "description": "Validation failed" + } + ], "bodyParameters": [ { "type": "string", @@ -31779,6 +31917,116 @@ "rawDescription": "Can be `public` or `private`. If your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, `visibility` can also be `internal`. The `visibility` parameter overrides the `private` parameter when you use both along with the `nebula-preview` preview header.", "childParamsGroups": [] }, + { + "type": "object or nullable", + "description": "

Specify which security and analysis features to enable or disable.

", + "nullable": true, + "properties": { + "advanced_security": { + "type": "object", + "description": "

Use the status property to enable or disable GitHub Advanced Security for this repository. For more information, see \"About GitHub Advanced Security.\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a GET /repos/{owner}/{repo} request.

", + "properties": { + "status": { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + }, + "name": "advanced_security", + "in": "body", + "rawType": "object", + "rawDescription": "Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see \"[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security).\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a `GET /repos/{owner}/{repo}` request.", + "childParamsGroups": [ + { + "parentName": "advanced_security", + "parentType": "object", + "id": "advanced_security-object", + "params": [ + { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + ] + } + ] + } + }, + "name": "security_and_analysis", + "in": "body", + "rawType": "object", + "rawDescription": "Specify which security and analysis features to enable or disable.", + "childParamsGroups": [ + { + "parentName": "security_and_analysis", + "parentType": "object", + "id": "security_and_analysis-object", + "params": [ + { + "type": "object", + "description": "

Use the status property to enable or disable GitHub Advanced Security for this repository. For more information, see \"About GitHub Advanced Security.\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a GET /repos/{owner}/{repo} request.

", + "properties": { + "status": { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + }, + "name": "advanced_security", + "in": "body", + "rawType": "object", + "rawDescription": "Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see \"[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security).\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a `GET /repos/{owner}/{repo}` request.", + "childParamsGroups": [ + { + "parentName": "advanced_security", + "parentType": "object", + "id": "advanced_security-object", + "params": [ + { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + ] + } + ] + } + ] + }, + { + "parentName": "advanced_security", + "parentType": "object", + "id": "advanced_security-object", + "params": [ + { + "type": "string", + "description": "

Can be enabled or disabled.

", + "name": "status", + "in": "body", + "rawType": "string", + "rawDescription": "Can be `enabled` or `disabled`.", + "childParamsGroups": [] + } + ] + } + ] + }, { "type": "boolean", "description": "

Either true to enable issues for this repository or false to disable them.

", @@ -31878,34 +32126,6 @@ "rawDescription": "`true` to archive this repository. **Note**: You cannot unarchive repositories through the API.", "childParamsGroups": [] } - ], - "responses": [ - { - "httpStatusCode": "200", - "httpStatusMessage": "OK", - "description": "Response", - "payload": "
{\n  \"id\": 1296269,\n  \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n  \"name\": \"Hello-World\",\n  \"full_name\": \"octocat/Hello-World\",\n  \"owner\": {\n    \"login\": \"octocat\",\n    \"id\": 1,\n    \"node_id\": \"MDQ6VXNlcjE=\",\n    \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n    \"gravatar_id\": \"\",\n    \"url\": \"https://api.github.com/users/octocat\",\n    \"html_url\": \"https://github.com/octocat\",\n    \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n    \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n    \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n    \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n    \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n    \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n    \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n    \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n    \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n    \"type\": \"User\",\n    \"site_admin\": false\n  },\n  \"private\": false,\n  \"html_url\": \"https://github.com/octocat/Hello-World\",\n  \"description\": \"This your first repo!\",\n  \"fork\": false,\n  \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n  \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n  \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n  \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n  \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n  \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n  \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n  \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n  \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n  \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n  \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n  \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n  \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n  \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n  \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n  \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n  \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n  \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n  \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n  \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n  \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n  \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n  \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n  \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n  \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n  \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n  \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n  \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n  \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n  \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n  \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n  \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n  \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n  \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n  \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n  \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n  \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n  \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n  \"clone_url\": \"https://github.com/octocat/Hello-World.git\",\n  \"mirror_url\": \"git:git.example.com/octocat/Hello-World\",\n  \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World/hooks\",\n  \"svn_url\": \"https://svn.github.com/octocat/Hello-World\",\n  \"homepage\": \"https://github.com\",\n  \"license\": {\n    \"key\": \"mit\",\n    \"name\": \"MIT License\",\n    \"url\": \"https://api.github.com/licenses/mit\",\n    \"spdx_id\": \"MIT\",\n    \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n    \"html_url\": \"https://github.com/licenses/mit\"\n  },\n  \"language\": null,\n  \"forks_count\": 9,\n  \"forks\": 9,\n  \"stargazers_count\": 80,\n  \"watchers_count\": 80,\n  \"watchers\": 80,\n  \"size\": 108,\n  \"default_branch\": \"master\",\n  \"open_issues_count\": 0,\n  \"open_issues\": 0,\n  \"is_template\": false,\n  \"topics\": [\n    \"octocat\",\n    \"atom\",\n    \"electron\",\n    \"api\"\n  ],\n  \"has_issues\": true,\n  \"has_projects\": true,\n  \"has_wiki\": true,\n  \"has_pages\": false,\n  \"has_downloads\": true,\n  \"archived\": false,\n  \"disabled\": false,\n  \"visibility\": \"public\",\n  \"pushed_at\": \"2011-01-26T19:06:43Z\",\n  \"created_at\": \"2011-01-26T19:01:12Z\",\n  \"updated_at\": \"2011-01-26T19:14:43Z\",\n  \"permissions\": {\n    \"pull\": true,\n    \"push\": false,\n    \"admin\": false\n  },\n  \"allow_rebase_merge\": true,\n  \"template_repository\": {\n    \"id\": 1296269,\n    \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n    \"name\": \"Hello-World-Template\",\n    \"full_name\": \"octocat/Hello-World-Template\",\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"private\": false,\n    \"html_url\": \"https://github.com/octocat/Hello-World-Template\",\n    \"description\": \"This your first repo!\",\n    \"fork\": false,\n    \"url\": \"https://api.github.com/repos/octocat/Hello-World-Template\",\n    \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/{archive_format}{/ref}\",\n    \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/assignees{/user}\",\n    \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/blobs{/sha}\",\n    \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/branches{/branch}\",\n    \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/collaborators{/collaborator}\",\n    \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/comments{/number}\",\n    \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/commits{/sha}\",\n    \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/compare/{base}...{head}\",\n    \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/contents/{+path}\",\n    \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/contributors\",\n    \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/deployments\",\n    \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/downloads\",\n    \"events_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/events\",\n    \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/forks\",\n    \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/commits{/sha}\",\n    \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/refs{/sha}\",\n    \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/tags{/sha}\",\n    \"git_url\": \"git:github.com/octocat/Hello-World-Template.git\",\n    \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/issues/comments{/number}\",\n    \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/issues/events{/number}\",\n    \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/issues{/number}\",\n    \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/keys{/key_id}\",\n    \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/labels{/name}\",\n    \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/languages\",\n    \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/merges\",\n    \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/milestones{/number}\",\n    \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/notifications{?since,all,participating}\",\n    \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/pulls{/number}\",\n    \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/releases{/id}\",\n    \"ssh_url\": \"git@github.com:octocat/Hello-World-Template.git\",\n    \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/stargazers\",\n    \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/statuses/{sha}\",\n    \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/subscribers\",\n    \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/subscription\",\n    \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/tags\",\n    \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/teams\",\n    \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/git/trees{/sha}\",\n    \"clone_url\": \"https://github.com/octocat/Hello-World-Template.git\",\n    \"mirror_url\": \"git:git.example.com/octocat/Hello-World-Template\",\n    \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World-Template/hooks\",\n    \"svn_url\": \"https://svn.github.com/octocat/Hello-World-Template\",\n    \"homepage\": \"https://github.com\",\n    \"language\": null,\n    \"forks\": 9,\n    \"forks_count\": 9,\n    \"stargazers_count\": 80,\n    \"watchers_count\": 80,\n    \"watchers\": 80,\n    \"size\": 108,\n    \"default_branch\": \"master\",\n    \"open_issues\": 0,\n    \"open_issues_count\": 0,\n    \"is_template\": true,\n    \"license\": {\n      \"key\": \"mit\",\n      \"name\": \"MIT License\",\n      \"url\": \"https://api.github.com/licenses/mit\",\n      \"spdx_id\": \"MIT\",\n      \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n      \"html_url\": \"https://api.github.com/licenses/mit\"\n    },\n    \"topics\": [\n      \"octocat\",\n      \"atom\",\n      \"electron\",\n      \"api\"\n    ],\n    \"has_issues\": true,\n    \"has_projects\": true,\n    \"has_wiki\": true,\n    \"has_pages\": false,\n    \"has_downloads\": true,\n    \"archived\": false,\n    \"disabled\": false,\n    \"visibility\": \"public\",\n    \"pushed_at\": \"2011-01-26T19:06:43Z\",\n    \"created_at\": \"2011-01-26T19:01:12Z\",\n    \"updated_at\": \"2011-01-26T19:14:43Z\",\n    \"permissions\": {\n      \"admin\": false,\n      \"push\": false,\n      \"pull\": true\n    },\n    \"allow_rebase_merge\": true,\n    \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n    \"allow_squash_merge\": true,\n    \"delete_branch_on_merge\": true,\n    \"allow_merge_commit\": true,\n    \"subscribers_count\": 42,\n    \"network_count\": 0\n  },\n  \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n  \"allow_squash_merge\": true,\n  \"delete_branch_on_merge\": true,\n  \"allow_merge_commit\": true,\n  \"subscribers_count\": 42,\n  \"network_count\": 0,\n  \"organization\": {\n    \"login\": \"octocat\",\n    \"id\": 1,\n    \"node_id\": \"MDQ6VXNlcjE=\",\n    \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n    \"gravatar_id\": \"\",\n    \"url\": \"https://api.github.com/users/octocat\",\n    \"html_url\": \"https://github.com/octocat\",\n    \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n    \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n    \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n    \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n    \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n    \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n    \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n    \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n    \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n    \"type\": \"Organization\",\n    \"site_admin\": false\n  },\n  \"parent\": {\n    \"id\": 1296269,\n    \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n    \"name\": \"Hello-World\",\n    \"full_name\": \"octocat/Hello-World\",\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"private\": false,\n    \"html_url\": \"https://github.com/octocat/Hello-World\",\n    \"description\": \"This your first repo!\",\n    \"fork\": false,\n    \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n    \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n    \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n    \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n    \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n    \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n    \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n    \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n    \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n    \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n    \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n    \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n    \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n    \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n    \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n    \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n    \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n    \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n    \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n    \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n    \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n    \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n    \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n    \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n    \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n    \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n    \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n    \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n    \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n    \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n    \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n    \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n    \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n    \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n    \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n    \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n    \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n    \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n    \"clone_url\": \"https://github.com/octocat/Hello-World.git\",\n    \"mirror_url\": \"git:git.example.com/octocat/Hello-World\",\n    \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World/hooks\",\n    \"svn_url\": \"https://svn.github.com/octocat/Hello-World\",\n    \"homepage\": \"https://github.com\",\n    \"language\": null,\n    \"forks_count\": 9,\n    \"stargazers_count\": 80,\n    \"watchers_count\": 80,\n    \"size\": 108,\n    \"default_branch\": \"master\",\n    \"open_issues_count\": 0,\n    \"is_template\": true,\n    \"topics\": [\n      \"octocat\",\n      \"atom\",\n      \"electron\",\n      \"api\"\n    ],\n    \"has_issues\": true,\n    \"has_projects\": true,\n    \"has_wiki\": true,\n    \"has_pages\": false,\n    \"has_downloads\": true,\n    \"archived\": false,\n    \"disabled\": false,\n    \"visibility\": \"public\",\n    \"pushed_at\": \"2011-01-26T19:06:43Z\",\n    \"created_at\": \"2011-01-26T19:01:12Z\",\n    \"updated_at\": \"2011-01-26T19:14:43Z\",\n    \"permissions\": {\n      \"admin\": false,\n      \"push\": false,\n      \"pull\": true\n    },\n    \"allow_rebase_merge\": true,\n    \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n    \"allow_squash_merge\": true,\n    \"delete_branch_on_merge\": true,\n    \"allow_merge_commit\": true,\n    \"subscribers_count\": 42,\n    \"network_count\": 0,\n    \"license\": {\n      \"key\": \"mit\",\n      \"name\": \"MIT License\",\n      \"url\": \"https://api.github.com/licenses/mit\",\n      \"spdx_id\": \"MIT\",\n      \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n      \"html_url\": \"https://api.github.com/licenses/mit\"\n    },\n    \"forks\": 1,\n    \"open_issues\": 1,\n    \"watchers\": 1\n  },\n  \"source\": {\n    \"id\": 1296269,\n    \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMjk2MjY5\",\n    \"name\": \"Hello-World\",\n    \"full_name\": \"octocat/Hello-World\",\n    \"owner\": {\n      \"login\": \"octocat\",\n      \"id\": 1,\n      \"node_id\": \"MDQ6VXNlcjE=\",\n      \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n      \"gravatar_id\": \"\",\n      \"url\": \"https://api.github.com/users/octocat\",\n      \"html_url\": \"https://github.com/octocat\",\n      \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n      \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n      \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n      \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n      \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n      \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n      \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n      \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n      \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n      \"type\": \"User\",\n      \"site_admin\": false\n    },\n    \"private\": false,\n    \"html_url\": \"https://github.com/octocat/Hello-World\",\n    \"description\": \"This your first repo!\",\n    \"fork\": false,\n    \"url\": \"https://api.github.com/repos/octocat/Hello-World\",\n    \"archive_url\": \"https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}\",\n    \"assignees_url\": \"https://api.github.com/repos/octocat/Hello-World/assignees{/user}\",\n    \"blobs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}\",\n    \"branches_url\": \"https://api.github.com/repos/octocat/Hello-World/branches{/branch}\",\n    \"collaborators_url\": \"https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}\",\n    \"comments_url\": \"https://api.github.com/repos/octocat/Hello-World/comments{/number}\",\n    \"commits_url\": \"https://api.github.com/repos/octocat/Hello-World/commits{/sha}\",\n    \"compare_url\": \"https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}\",\n    \"contents_url\": \"https://api.github.com/repos/octocat/Hello-World/contents/{+path}\",\n    \"contributors_url\": \"https://api.github.com/repos/octocat/Hello-World/contributors\",\n    \"deployments_url\": \"https://api.github.com/repos/octocat/Hello-World/deployments\",\n    \"downloads_url\": \"https://api.github.com/repos/octocat/Hello-World/downloads\",\n    \"events_url\": \"https://api.github.com/repos/octocat/Hello-World/events\",\n    \"forks_url\": \"https://api.github.com/repos/octocat/Hello-World/forks\",\n    \"git_commits_url\": \"https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}\",\n    \"git_refs_url\": \"https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}\",\n    \"git_tags_url\": \"https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}\",\n    \"git_url\": \"git:github.com/octocat/Hello-World.git\",\n    \"issue_comment_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}\",\n    \"issue_events_url\": \"https://api.github.com/repos/octocat/Hello-World/issues/events{/number}\",\n    \"issues_url\": \"https://api.github.com/repos/octocat/Hello-World/issues{/number}\",\n    \"keys_url\": \"https://api.github.com/repos/octocat/Hello-World/keys{/key_id}\",\n    \"labels_url\": \"https://api.github.com/repos/octocat/Hello-World/labels{/name}\",\n    \"languages_url\": \"https://api.github.com/repos/octocat/Hello-World/languages\",\n    \"merges_url\": \"https://api.github.com/repos/octocat/Hello-World/merges\",\n    \"milestones_url\": \"https://api.github.com/repos/octocat/Hello-World/milestones{/number}\",\n    \"notifications_url\": \"https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}\",\n    \"pulls_url\": \"https://api.github.com/repos/octocat/Hello-World/pulls{/number}\",\n    \"releases_url\": \"https://api.github.com/repos/octocat/Hello-World/releases{/id}\",\n    \"ssh_url\": \"git@github.com:octocat/Hello-World.git\",\n    \"stargazers_url\": \"https://api.github.com/repos/octocat/Hello-World/stargazers\",\n    \"statuses_url\": \"https://api.github.com/repos/octocat/Hello-World/statuses/{sha}\",\n    \"subscribers_url\": \"https://api.github.com/repos/octocat/Hello-World/subscribers\",\n    \"subscription_url\": \"https://api.github.com/repos/octocat/Hello-World/subscription\",\n    \"tags_url\": \"https://api.github.com/repos/octocat/Hello-World/tags\",\n    \"teams_url\": \"https://api.github.com/repos/octocat/Hello-World/teams\",\n    \"trees_url\": \"https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}\",\n    \"clone_url\": \"https://github.com/octocat/Hello-World.git\",\n    \"mirror_url\": \"git:git.example.com/octocat/Hello-World\",\n    \"hooks_url\": \"https://api.github.com/repos/octocat/Hello-World/hooks\",\n    \"svn_url\": \"https://svn.github.com/octocat/Hello-World\",\n    \"homepage\": \"https://github.com\",\n    \"language\": null,\n    \"forks_count\": 9,\n    \"stargazers_count\": 80,\n    \"watchers_count\": 80,\n    \"size\": 108,\n    \"default_branch\": \"master\",\n    \"open_issues_count\": 0,\n    \"is_template\": true,\n    \"topics\": [\n      \"octocat\",\n      \"atom\",\n      \"electron\",\n      \"api\"\n    ],\n    \"has_issues\": true,\n    \"has_projects\": true,\n    \"has_wiki\": true,\n    \"has_pages\": false,\n    \"has_downloads\": true,\n    \"archived\": false,\n    \"disabled\": false,\n    \"visibility\": \"public\",\n    \"pushed_at\": \"2011-01-26T19:06:43Z\",\n    \"created_at\": \"2011-01-26T19:01:12Z\",\n    \"updated_at\": \"2011-01-26T19:14:43Z\",\n    \"permissions\": {\n      \"admin\": false,\n      \"push\": false,\n      \"pull\": true\n    },\n    \"allow_rebase_merge\": true,\n    \"temp_clone_token\": \"ABTLWHOULUVAXGTRYU7OC2876QJ2O\",\n    \"allow_squash_merge\": true,\n    \"delete_branch_on_merge\": true,\n    \"allow_merge_commit\": true,\n    \"subscribers_count\": 42,\n    \"network_count\": 0,\n    \"license\": {\n      \"key\": \"mit\",\n      \"name\": \"MIT License\",\n      \"url\": \"https://api.github.com/licenses/mit\",\n      \"spdx_id\": \"MIT\",\n      \"node_id\": \"MDc6TGljZW5zZW1pdA==\",\n      \"html_url\": \"https://api.github.com/licenses/mit\"\n    },\n    \"forks\": 1,\n    \"open_issues\": 1,\n    \"watchers\": 1\n  }\n}\n
" - }, - { - "httpStatusCode": "307", - "httpStatusMessage": "Temporary Redirect", - "description": "Temporary Redirect" - }, - { - "httpStatusCode": "403", - "httpStatusMessage": "Forbidden", - "description": "Forbidden" - }, - { - "httpStatusCode": "404", - "httpStatusMessage": "Not Found", - "description": "Resource not found" - }, - { - "httpStatusCode": "422", - "httpStatusMessage": "Unprocessable Entity", - "description": "Validation failed" - } ] }, { @@ -86662,18 +86882,8 @@ "application/json": { "schema": { "properties": { - "email": { - "description": "

An email address associated with the GitHub user account to manage.

", - "type": "string", - "example": "org@example.com", - "name": "email", - "in": "body", - "rawType": "string", - "rawDescription": "An email address associated with the GitHub user account to manage.", - "childParamsGroups": [] - }, "visibility": { - "description": "

Required. Denotes whether an email is publically visible.

", + "description": "

Required. Denotes whether an email is publicly visible.

", "type": "string", "enum": [ "public", @@ -86682,7 +86892,7 @@ "name": "visibility", "in": "body", "rawType": "string", - "rawDescription": "Denotes whether an email is publically visible.", + "rawDescription": "Denotes whether an email is publicly visible.", "childParamsGroups": [] } }, @@ -86710,17 +86920,7 @@ "descriptionHTML": "

Sets the visibility for your primary email addresses.

", "bodyParameters": [ { - "description": "

An email address associated with the GitHub user account to manage.

", - "type": "string", - "example": "org@example.com", - "name": "email", - "in": "body", - "rawType": "string", - "rawDescription": "An email address associated with the GitHub user account to manage.", - "childParamsGroups": [] - }, - { - "description": "

Required. Denotes whether an email is publically visible.

", + "description": "

Required. Denotes whether an email is publicly visible.

", "type": "string", "enum": [ "public", @@ -86729,7 +86929,7 @@ "name": "visibility", "in": "body", "rawType": "string", - "rawDescription": "Denotes whether an email is publically visible.", + "rawDescription": "Denotes whether an email is publicly visible.", "childParamsGroups": [] } ], diff --git a/lib/rest/static/dereferenced/api.github.com.deref.json b/lib/rest/static/dereferenced/api.github.com.deref.json index 53e3faf3b2..e1a600ede0 100644 --- a/lib/rest/static/dereferenced/api.github.com.deref.json +++ b/lib/rest/static/dereferenced/api.github.com.deref.json @@ -1317,12 +1317,6 @@ } } }, - "/app/hook/deliveries": { - }, - "/app/hook/deliveries/{delivery_id}": { - }, - "/app/hook/deliveries/{delivery_id}/attempts": { - }, "/app/installations": { "get": { "summary": "List installations for the authenticated app", @@ -68643,12 +68637,6 @@ } } }, - "/orgs/{org}/hooks/{hook_id}/deliveries": { - }, - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { - }, - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - }, "/orgs/{org}/hooks/{hook_id}/pings": { "post": { "summary": "Ping an organization webhook", @@ -91252,7 +91240,7 @@ "/orgs/{org}/settings/billing/packages": { "get": { "summary": "Get GitHub Packages billing for an organization", - "description": "Gets the free and paid storage usued for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `repo` or `admin:org` scope.", + "description": "Gets the free and paid storage used for GitHub Packages in gigabytes.\n\nPaid minutes only apply to packages stored for private repositories. For more information, see \"[Managing billing for GitHub Packages](https://help.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages).\"\n\nAccess tokens must have the `repo` or `admin:org` scope.", "operationId": "billing/get-github-packages-billing-org", "tags": [ "billing" @@ -116299,6 +116287,23 @@ "internal" ] }, + "security_and_analysis": { + "type": "object", + "description": "Specify which security and analysis features to enable or disable.", + "nullable": true, + "properties": { + "advanced_security": { + "type": "object", + "description": "Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see \"[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security).\" If you're an admin user for a repository covered by an Advanced Security license, you can check whether Advanced Security is currently enabled by using a `GET /repos/{owner}/{repo}` request.", + "properties": { + "status": { + "type": "string", + "description": "Can be `enabled` or `disabled`." + } + } + } + } + }, "has_issues": { "type": "boolean", "description": "Either `true` to enable issues for this repository or `false` to disable them.", @@ -216881,12 +216886,6 @@ } } }, - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { - }, - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { - }, - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - }, "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { "post": { "summary": "Ping a repository webhook", @@ -323399,8 +323398,6 @@ } } }, - "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { - }, "/repos/{owner}/{repo}/secret-scanning/alerts": { "get": { "summary": "List secret scanning alerts for a repository", @@ -363681,13 +363678,8 @@ "application/json": { "schema": { "properties": { - "email": { - "description": "An email address associated with the GitHub user account to manage.", - "type": "string", - "example": "org@example.com" - }, "visibility": { - "description": "Denotes whether an email is publically visible.", + "description": "Denotes whether an email is publicly visible.", "type": "string", "enum": [ "public", @@ -397436,8 +397428,6 @@ } } }, - "/user/tokens/reset": { - }, "/users": { "get": { "summary": "List users", diff --git a/lib/rest/static/dereferenced/github.ae.deref.json b/lib/rest/static/dereferenced/github.ae.deref.json index 1b591d4c76..118e528390 100644 --- a/lib/rest/static/dereferenced/github.ae.deref.json +++ b/lib/rest/static/dereferenced/github.ae.deref.json @@ -4986,12 +4986,6 @@ } } }, - "/app/hook/deliveries": { - }, - "/app/hook/deliveries/{delivery_id}": { - }, - "/app/hook/deliveries/{delivery_id}/attempts": { - }, "/app/installations": { "get": { "summary": "List installations for the authenticated app", @@ -43531,10 +43525,6 @@ } } }, - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { - }, - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - }, "/orgs/{org}/hooks/{hook_id}/pings": { "post": { "summary": "Ping an organization webhook", @@ -170265,12 +170255,6 @@ } } }, - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { - }, - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { - }, - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - }, "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { "post": { "summary": "Ping a repository webhook", @@ -274396,8 +274380,6 @@ } } }, - "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { - }, "/repos/{owner}/{repo}/stargazers": { "get": { "summary": "List stargazers", @@ -326059,8 +326041,6 @@ } } }, - "/user/tokens/reset": { - }, "/users": { "get": { "summary": "List users", From 06e90086f195f2fde9d10c4dbd57729fbac8ab8f Mon Sep 17 00:00:00 2001 From: Chiedo John <2156688+chiedo@users.noreply.github.com> Date: Thu, 24 Jun 2021 09:32:43 -0400 Subject: [PATCH 35/41] Update confirm-internal-staff-work-in-docs.yml (#20103) --- .github/workflows/confirm-internal-staff-work-in-docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/confirm-internal-staff-work-in-docs.yml b/.github/workflows/confirm-internal-staff-work-in-docs.yml index e07b5348fe..810368f136 100644 --- a/.github/workflows/confirm-internal-staff-work-in-docs.yml +++ b/.github/workflows/confirm-internal-staff-work-in-docs.yml @@ -63,7 +63,7 @@ jobs: owner: 'github', repo: process.env.TEAM_CONTENT_REPO, title: `@${context.payload.sender.login} confirm that \#${issueNo} should be in the public github/docs repo`, - body: `@${context.payload.sender.login} opened https://github.com/github/docs/issues/${issueNo} publicly in the github/docs repo, instead of the private github/docs-internal repo.\n\n@${context.payload.sender.login}, please confirm that this belongs in the public repo and that no sensitive information was disclosed by commenting below and closing the issue.\n\nIf this was not intentional and sensitive information was shared, please delete https://github.com/github/docs/issues/${issueNo} and notify us in the \#docs-open-source channel.\n\nThanks!`, + body: `@${context.payload.sender.login} opened https://github.com/github/docs/issues/${issueNo} publicly in the github/docs repo, instead of the private github/${process.env.TEAM_CONTENT_REPO} repo.\n\n@${context.payload.sender.login}, please confirm that this belongs in the public repo and that no sensitive information was disclosed by commenting below and closing the issue.\n\nIf this was not intentional and sensitive information was shared, please delete https://github.com/github/docs/issues/${issueNo} and notify us in the \#docs-open-source channel.\n\nThanks!`, labels: ['OS confirmation'], }); @@ -75,4 +75,4 @@ jobs: with: channel: ${{ secrets.DOCS_OPEN_SOURCE_SLACK_CHANNEL_ID }} bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }} - text: <@${{github.actor}}> opened https://github.com/github/docs/issues/${{ github.event.number || github.event.issue.number }} publicly on the github/docs repo instead of the private github/docs-internal repo. They have been notified via a new issue in the github/docs-internal repo to confirm this was intentional. + text: <@${{github.actor}}> opened https://github.com/github/docs/issues/${{ github.event.number || github.event.issue.number }} publicly on the github/docs repo instead of a private repo. They have been notified via a new issue in the private repo to confirm this was intentional. From cb124556498c9b5f1757a1381f7b40a171267a62 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Thu, 24 Jun 2021 10:21:07 -0400 Subject: [PATCH 36/41] ran script/content-migrations/use-short-versions.js --- .../actions/creating-actions/about-actions.md | 14 +- .../creating-a-composite-run-steps-action.md | 6 +- .../creating-a-docker-container-action.md | 16 +- .../creating-a-javascript-action.md | 12 +- .../dockerfile-support-for-github-actions.md | 8 +- content/actions/creating-actions/index.md | 6 +- .../metadata-syntax-for-github-actions.md | 10 +- ...ublishing-actions-in-github-marketplace.md | 4 +- .../setting-exit-codes-for-actions.md | 8 +- .../guides/about-continuous-integration.md | 14 +- .../about-packaging-with-github-actions.md | 6 +- .../guides/about-service-containers.md | 6 +- .../actions/guides/adding-labels-to-issues.md | 8 +- .../building-and-testing-java-with-ant.md | 8 +- .../building-and-testing-java-with-gradle.md | 8 +- .../building-and-testing-java-with-maven.md | 8 +- .../guides/building-and-testing-net.md | 12 +- .../guides/building-and-testing-nodejs.md | 8 +- .../guides/building-and-testing-powershell.md | 10 +- .../guides/building-and-testing-python.md | 8 +- .../guides/building-and-testing-ruby.md | 8 +- .../guides/building-and-testing-swift.md | 8 +- ...ilding-and-testing-xamarin-applications.md | 6 +- ...hing-dependencies-to-speed-up-workflows.md | 2 +- .../actions/guides/closing-inactive-issues.md | 8 +- ...nting-on-an-issue-when-a-label-is-added.md | 8 +- .../creating-postgresql-service-containers.md | 6 +- .../creating-redis-service-containers.md | 6 +- ...ing-to-amazon-elastic-container-service.md | 8 +- .../guides/deploying-to-azure-app-service.md | 6 +- .../deploying-to-google-kubernetes-engine.md | 6 +- content/actions/guides/index.md | 6 +- ...-on-macos-runners-for-xcode-development.md | 6 +- ...managing-github-actions-with-github-cli.md | 8 +- ...oving-assigned-issues-on-project-boards.md | 6 +- .../guides/publishing-docker-images.md | 42 ++-- .../publishing-java-packages-with-gradle.md | 14 +- .../publishing-java-packages-with-maven.md | 10 +- .../guides/publishing-nodejs-packages.md | 10 +- ...card-is-added-to-a-project-board-column.md | 8 +- .../guides/scheduling-issue-creation.md | 8 +- ...us-integration-using-workflow-templates.md | 8 +- .../storing-workflow-data-as-artifacts.md | 22 +- ...g-github-actions-for-project-management.md | 6 +- .../about-self-hosted-runners.md | 14 +- .../adding-self-hosted-runners.md | 16 +- ...-hosted-runner-application-as-a-service.md | 8 +- .../actions/hosting-your-own-runners/index.md | 6 +- ...ess-to-self-hosted-runners-using-groups.md | 20 +- ...and-troubleshooting-self-hosted-runners.md | 10 +- .../removing-self-hosted-runners.md | 12 +- ...a-proxy-server-with-self-hosted-runners.md | 8 +- .../using-labels-with-self-hosted-runners.md | 8 +- ...using-self-hosted-runners-in-a-workflow.md | 10 +- content/actions/index.md | 7 +- .../essential-features-of-github-actions.md | 6 +- .../finding-and-customizing-actions.md | 16 +- content/actions/learn-github-actions/index.md | 6 +- .../introduction-to-github-actions.md | 16 +- .../managing-complex-workflows.md | 14 +- ...-from-azure-pipelines-to-github-actions.md | 6 +- ...grating-from-circleci-to-github-actions.md | 10 +- ...ting-from-gitlab-cicd-to-github-actions.md | 6 +- ...igrating-from-jenkins-to-github-actions.md | 8 +- ...rating-from-travis-ci-to-github-actions.md | 8 +- .../security-hardening-for-github-actions.md | 26 +-- ...haring-workflows-with-your-organization.md | 8 +- .../adding-a-workflow-status-badge.md | 6 +- ...proving-workflow-runs-from-public-forks.md | 2 +- .../canceling-a-workflow.md | 8 +- .../deleting-a-workflow-run.md | 6 +- .../disabling-and-enabling-a-workflow.md | 6 +- .../downloading-workflow-artifacts.md | 12 +- .../enabling-debug-logging.md | 8 +- .../actions/managing-workflow-runs/index.md | 10 +- .../manually-running-a-workflow.md | 6 +- .../re-running-a-workflow.md | 8 +- .../removing-workflow-artifacts.md | 10 +- .../reviewing-deployments.md | 8 +- .../using-the-visualization-graph.md | 6 +- .../using-workflow-run-logs.md | 22 +- .../viewing-job-execution-time.md | 2 +- .../viewing-workflow-run-history.md | 6 +- content/actions/quickstart.md | 6 +- .../reference/authentication-in-a-workflow.md | 16 +- ...nd-expression-syntax-for-github-actions.md | 8 +- .../actions/reference/encrypted-secrets.md | 26 +-- .../reference/environment-variables.md | 10 +- content/actions/reference/environments.md | 16 +- .../events-that-trigger-workflows.md | 10 +- content/actions/reference/index.md | 12 +- ...usage-limits-billing-and-administration.md | 18 +- .../workflow-commands-for-github-actions.md | 18 +- .../workflow-syntax-for-github-actions.md | 32 +-- .../about-ae-hosted-runners.md | 2 +- .../about-github-hosted-runners.md | 6 +- .../adding-ae-hosted-runners.md | 2 +- .../creating-custom-images.md | 2 +- .../customizing-github-hosted-runners.md | 4 +- .../using-github-hosted-runners/index.md | 6 +- .../using-ae-hosted-runners-in-a-workflow.md | 2 +- ...s-to-manage-access-to-ae-hosted-runners.md | 4 +- .../using-labels-with-ae-hosted-runners.md | 4 +- ...-licensing-for-github-advanced-security.md | 2 +- ...guring-code-scanning-for-your-appliance.md | 8 +- ...ring-secret-scanning-for-your-appliance.md | 4 +- ...b-advanced-security-for-your-enterprise.md | 18 +- content/admin/advanced-security/index.md | 2 +- ...ing-your-github-advanced-security-usage.md | 4 +- content/admin/all-releases.md | 2 +- ...or-users-outside-your-identity-provider.md | 2 +- .../changing-authentication-methods.md | 2 +- .../disabling-unauthenticated-sign-ups.md | 2 +- .../index.md | 2 +- .../using-built-in-authentication.md | 2 +- .../using-cas.md | 4 +- .../using-ldap.md | 2 +- .../using-saml.md | 8 +- ...ning-for-your-enterprise-using-azure-ad.md | 4 +- .../index.md | 2 +- content/admin/authentication/index.md | 4 +- ...d-access-management-for-your-enterprise.md | 6 +- ...saml-single-sign-on-for-your-enterprise.md | 12 +- ...g-user-provisioning-for-your-enterprise.md | 8 +- .../index.md | 2 +- .../configuring-a-hostname.md | 2 +- ...onfiguring-an-outbound-web-proxy-server.md | 2 +- .../configuring-built-in-firewall-rules.md | 2 +- .../configuring-dns-nameservers.md | 2 +- ...dress-using-the-virtual-machine-console.md | 2 +- .../configuring-tls.md | 2 +- .../enabling-subdomain-isolation.md | 10 +- .../configuring-network-settings/index.md | 2 +- .../network-ports.md | 2 +- ...-enterprise-server-with-a-load-balancer.md | 2 +- .../validating-your-domain-settings.md | 2 +- .../about-enterprise-configuration.md | 10 +- .../accessing-the-administrative-shell-ssh.md | 2 +- .../accessing-the-management-console.md | 2 +- .../command-line-utilities.md | 12 +- .../configuring-applications.md | 2 +- .../configuring-backups-on-your-appliance.md | 4 +- ...ing-data-encryption-for-your-enterprise.md | 2 +- .../configuring-email-for-notifications.md | 18 +- ...guring-github-pages-for-your-enterprise.md | 18 +- .../configuring-rate-limits.md | 4 +- .../configuring-time-synchronization.md | 2 +- ...nabling-and-scheduling-maintenance-mode.md | 2 +- .../enabling-private-mode.md | 2 +- .../configuring-your-enterprise/index.md | 4 +- .../initializing-github-ae.md | 2 +- ...g-github-for-mobile-for-your-enterprise.md | 4 +- ...ting-network-traffic-to-your-enterprise.md | 2 +- .../site-admin-dashboard.md | 6 +- .../troubleshooting-ssl-errors.md | 2 +- ...-approving-a-domain-for-your-enterprise.md | 2 +- content/admin/configuration/index.md | 6 +- ...prise-server-to-github-enterprise-cloud.md | 2 +- ...ependencies-on-github-enterprise-server.md | 28 +-- ...rise-server-and-github-enterprise-cloud.md | 2 +- ...-github-enterprise-server-and-githubcom.md | 2 +- ...-github-enterprise-server-and-githubcom.md | 2 +- .../index.md | 2 +- .../about-cluster-nodes.md | 2 +- .../about-clustering.md | 2 +- .../cluster-network-configuration.md | 4 +- ...-availability-replication-for-a-cluster.md | 2 +- ...een-clustering-and-high-availability-ha.md | 2 +- .../evacuating-a-cluster-node.md | 2 +- .../configuring-clustering/index.md | 2 +- .../initializing-the-cluster.md | 2 +- ...ting-a-failover-to-your-replica-cluster.md | 2 +- .../monitoring-cluster-nodes.md | 2 +- .../replacing-a-cluster-node.md | 2 +- .../upgrading-a-cluster.md | 2 +- .../about-geo-replication.md | 2 +- .../about-high-availability-configuration.md | 2 +- .../creating-a-high-availability-replica.md | 2 +- .../configuring-high-availability/index.md | 2 +- ...ng-a-failover-to-your-replica-appliance.md | 2 +- ...ering-a-high-availability-configuration.md | 2 +- .../removing-a-high-availability-replica.md | 4 +- content/admin/enterprise-management/index.md | 2 +- .../accessing-the-monitor-dashboard.md | 2 +- .../configuring-collectd.md | 2 +- .../monitoring-your-appliance/index.md | 2 +- .../monitoring-using-snmp.md | 2 +- .../recommended-alert-thresholds.md | 2 +- .../setting-up-external-monitoring.md | 2 +- .../enabling-automatic-update-checks.md | 2 +- .../increasing-cpu-or-memory-resources.md | 2 +- .../increasing-storage-capacity.md | 2 +- .../index.md | 2 +- ...ng-from-github-enterprise-1110x-to-2123.md | 2 +- .../upgrade-requirements.md | 2 +- .../upgrading-github-enterprise-server.md | 8 +- content/admin/enterprise-support/index.md | 4 +- .../about-github-enterprise-support.md | 22 +- ...um-support-for-github-enterprise-server.md | 2 +- ...b-premium-support-for-github-enterprise.md | 2 +- .../about-support-for-advanced-security.md | 2 +- .../enterprise-support/overview/index.md | 4 +- .../index.md | 4 +- .../preparing-to-submit-a-ticket.md | 4 +- .../providing-data-to-github-support.md | 4 +- .../reaching-github-support.md | 10 +- .../submitting-a-ticket.md | 14 +- ...rise-server-with-github-actions-enabled.md | 2 +- .../high-availability-for-github-actions.md | 2 +- .../index.md | 2 +- ...ting-github-actions-for-your-enterprise.md | 2 +- .../using-a-staging-environment.md | 2 +- ...g-github-actions-with-amazon-s3-storage.md | 2 +- ...-github-actions-with-azure-blob-storage.md | 2 +- ...ions-with-minio-gateway-for-nas-storage.md | 2 +- ...ub-actions-policies-for-your-enterprise.md | 8 +- ...ub-actions-for-github-enterprise-server.md | 14 +- .../index.md | 2 +- content/admin/github-actions/index.md | 6 +- .../about-using-actions-in-your-enterprise.md | 4 +- ...-githubcom-actions-using-github-connect.md | 4 +- .../index.md | 4 +- ...manually-syncing-actions-from-githubcom.md | 4 +- ...-hosted-runners-without-internet-access.md | 4 +- ...version-of-the-official-bundled-actions.md | 4 +- ...arted-with-github-actions-for-github-ae.md | 2 +- .../index.md | 2 +- .../using-actions-in-github-ae.md | 2 +- content/admin/guides.md | 19 +- content/admin/index.md | 47 ++--- content/admin/installation/index.md | 2 +- .../index.md | 2 +- ...talling-github-enterprise-server-on-aws.md | 4 +- ...lling-github-enterprise-server-on-azure.md | 4 +- ...erprise-server-on-google-cloud-platform.md | 4 +- ...ing-github-enterprise-server-on-hyper-v.md | 4 +- ...thub-enterprise-server-on-openstack-kvm.md | 4 +- ...ling-github-enterprise-server-on-vmware.md | 4 +- ...g-github-enterprise-server-on-xenserver.md | 4 +- .../setting-up-a-staging-instance.md | 4 +- .../admin/overview/about-data-residency.md | 2 +- .../overview/about-enterprise-accounts.md | 18 +- content/admin/overview/about-github-ae.md | 2 +- .../about-the-github-enterprise-api.md | 6 +- .../about-upgrades-to-new-releases.md | 16 +- content/admin/overview/index.md | 6 +- .../managing-billing-for-your-enterprise.md | 8 +- ...managing-your-github-enterprise-license.md | 8 +- content/admin/overview/system-overview.md | 2 +- ...e-ecosystem-support-for-your-enterprise.md | 6 +- .../enabling-github-packages-with-aws.md | 6 +- ...github-packages-with-azure-blob-storage.md | 2 +- .../enabling-github-packages-with-minio.md | 8 +- ...ith-github-packages-for-your-enterprise.md | 10 +- content/admin/packages/index.md | 4 +- ...inio-storage-bucket-for-github-packages.md | 2 +- ...or-advanced-security-in-your-enterprise.md | 4 +- ...-management-policies-in-your-enterprise.md | 22 +- .../index.md | 4 +- ...email-notifications-for-your-enterprise.md | 2 +- .../about-pre-receive-hooks.md | 2 +- ...creating-a-pre-receive-hook-environment.md | 2 +- .../creating-a-pre-receive-hook-script.md | 4 +- .../index.md | 2 +- ...-the-github-enterprise-server-appliance.md | 2 +- content/admin/policies/index.md | 4 +- content/admin/release-notes.md | 5 +- content/admin/user-management/index.md | 4 +- .../adding-people-to-teams.md | 2 +- ...-visibility-for-organization-membership.md | 10 +- .../continuous-integration-using-jenkins.md | 2 +- .../creating-teams.md | 2 +- .../index.md | 6 +- .../managing-projects-using-jira.md | 2 +- ...nting-users-from-creating-organizations.md | 6 +- ...ving-users-from-teams-and-organizations.md | 2 +- ...ctor-authentication-for-an-organization.md | 2 +- ...-large-file-storage-for-your-enterprise.md | 8 +- ...bling-git-ssh-access-on-your-enterprise.md | 6 +- .../index.md | 4 +- .../migrating-to-internal-repositories.md | 4 +- .../troubleshooting-service-hooks.md | 4 +- .../auditing-ssh-keys.md | 4 +- .../auditing-users-across-your-enterprise.md | 4 +- .../best-practices-for-user-security.md | 8 +- ...izing-user-messages-for-your-enterprise.md | 30 +-- .../index.md | 4 +- .../managing-dormant-users.md | 12 +- .../managing-global-webhooks.md | 4 +- ...-a-legal-hold-on-a-user-or-organization.md | 4 +- ...moting-or-demoting-a-site-administrator.md | 2 +- .../rebuilding-contributions-data.md | 2 +- .../suspending-and-unsuspending-users.md | 2 +- .../about-migrations.md | 2 +- ...exporting-migration-data-from-githubcom.md | 2 +- ...ing-migration-data-from-your-enterprise.md | 2 +- ...rom-third-party-version-control-systems.md | 2 +- .../index.md | 2 +- .../migrating-data-to-your-enterprise.md | 2 +- ...ring-to-migrate-data-to-your-enterprise.md | 2 +- .../activity-dashboard.md | 6 +- .../audit-logging.md | 8 +- .../audited-actions.md | 32 +-- .../index.md | 4 +- .../log-forwarding.md | 12 +- .../searching-the-audit-log.md | 4 +- .../viewing-push-logs.md | 6 +- content/billing/index.md | 3 +- ...bout-billing-for-git-large-file-storage.md | 2 +- .../downgrading-git-large-file-storage.md | 4 +- .../index.md | 3 +- .../upgrading-git-large-file-storage.md | 2 +- ...ewing-your-git-large-file-storage-usage.md | 2 +- .../about-billing-for-github-actions.md | 2 +- .../index.md | 5 +- ...-your-spending-limit-for-github-actions.md | 2 +- .../viewing-your-github-actions-usage.md | 2 +- .../about-billing-for-github-marketplace.md | 2 +- .../canceling-a-github-marketplace-app.md | 2 +- ...lling-plan-for-a-github-marketplace-app.md | 2 +- .../index.md | 3 +- ...lling-plan-for-a-github-marketplace-app.md | 2 +- .../about-billing-for-github-packages.md | 2 +- .../index.md | 3 +- ...your-spending-limit-for-github-packages.md | 2 +- .../viewing-your-github-packages-usage.md | 2 +- .../about-billing-for-github-sponsors.md | 2 +- .../downgrading-a-sponsorship.md | 2 +- .../index.md | 3 +- .../upgrading-a-sponsorship.md | 2 +- .../about-billing-for-github-accounts.md | 2 +- .../about-per-user-pricing.md | 2 +- ...unted-subscriptions-for-github-accounts.md | 2 +- .../downgrading-your-github-subscription.md | 2 +- ...-downgrading-affect-the-billing-process.md | 2 +- .../index.md | 3 +- .../upgrading-your-github-subscription.md | 2 +- ...ng-pending-changes-to-your-subscription.md | 2 +- ...-licensing-for-github-advanced-security.md | 2 +- .../index.md | 3 +- ...ing-your-github-advanced-security-usage.md | 4 +- .../about-billing-on-github.md | 2 +- .../adding-information-to-your-receipts.md | 2 +- .../adding-or-editing-a-payment-method.md | 2 +- ...ging-the-duration-of-your-billing-cycle.md | 2 +- .../index.md | 3 +- .../redeeming-a-coupon.md | 2 +- .../removing-a-payment-method.md | 2 +- .../setting-your-billing-email.md | 2 +- ...eshooting-a-declined-credit-card-charge.md | 2 +- .../unlocking-a-locked-account.md | 2 +- ...ewing-your-payment-history-and-receipts.md | 2 +- ...ing-your-subscriptions-and-billing-date.md | 3 +- ...organizations-for-procurement-companies.md | 2 +- ...r-an-organization-on-behalf-of-a-client.md | 2 +- .../index.md | 3 +- ...renewing-your-clients-paid-organization.md | 2 +- ...ngrading-your-clients-paid-organization.md | 2 +- ...ng-a-security-policy-to-your-repository.md | 18 +- .../github-security-features.md | 32 +-- .../code-security/getting-started/index.md | 6 +- .../securing-your-organization.md | 28 +-- .../securing-your-repository.md | 36 ++-- content/code-security/guides.md | 9 +- content/code-security/index.md | 52 ++--- .../secret-security/about-secret-scanning.md | 32 +-- ...g-secret-scanning-for-your-repositories.md | 26 +-- ...ing-custom-patterns-for-secret-scanning.md | 16 +- .../code-security/secret-security/index.md | 6 +- .../managing-alerts-from-secret-scanning.md | 22 +- .../about-code-scanning.md | 8 +- .../configuring-code-scanning.md | 30 +-- ...-codeql-workflow-for-compiled-languages.md | 8 +- .../index.md | 6 +- ...ode-scanning-alerts-for-your-repository.md | 26 +-- ...ing-codeql-code-scanning-in-a-container.md | 10 +- ...tting-up-code-scanning-for-a-repository.md | 14 +- ...g-code-scanning-alerts-in-pull-requests.md | 8 +- .../troubleshooting-the-codeql-workflow.md | 12 +- .../viewing-code-scanning-logs.md | 10 +- content/code-security/secure-coding/index.md | 6 +- .../about-integration-with-code-scanning.md | 6 +- .../integrating-with-code-scanning/index.md | 6 +- .../sarif-support-for-code-scanning.md | 14 +- .../uploading-a-sarif-file-to-github.md | 16 +- ...-codeql-code-scanning-in-your-ci-system.md | 12 +- ...onfiguring-codeql-cli-in-your-ci-system.md | 42 ++-- ...iguring-codeql-runner-in-your-ci-system.md | 14 +- .../index.md | 6 +- ...installing-codeql-cli-in-your-ci-system.md | 8 +- ...running-codeql-runner-in-your-ci-system.md | 22 +- ...hooting-codeql-runner-in-your-ci-system.md | 6 +- ...-disclosure-of-security-vulnerabilities.md | 4 +- .../about-github-security-advisories.md | 2 +- ...g-a-collaborator-to-a-security-advisory.md | 2 +- ...ork-to-resolve-a-security-vulnerability.md | 2 +- .../creating-a-security-advisory.md | 2 +- .../editing-a-security-advisory.md | 2 +- .../security-advisories/index.md | 2 +- ...rmission-levels-for-security-advisories.md | 2 +- .../publishing-a-security-advisory.md | 2 +- ...a-collaborator-from-a-security-advisory.md | 2 +- .../withdrawing-a-security-advisory.md | 2 +- .../exploring-security-alerts.md | 4 +- .../code-security/security-overview/index.md | 4 +- .../supply-chain-security/index.md | 4 +- .../about-dependabot-version-updates.md | 2 +- ...guration-options-for-dependency-updates.md | 2 +- .../customizing-dependency-updates.md | 2 +- .../enabling-and-disabling-version-updates.md | 2 +- .../index.md | 2 +- ...your-actions-up-to-date-with-dependabot.md | 2 +- ...ndencies-configured-for-version-updates.md | 2 +- ...naging-encrypted-secrets-for-dependabot.md | 2 +- ...ng-pull-requests-for-dependency-updates.md | 2 +- ...pendabotcom-to-github-native-dependabot.md | 2 +- ...bout-alerts-for-vulnerable-dependencies.md | 18 +- .../about-dependabot-security-updates.md | 2 +- .../about-managing-vulnerable-dependencies.md | 2 +- ...ilities-in-the-github-advisory-database.md | 2 +- ...configuring-dependabot-security-updates.md | 2 +- ...tifications-for-vulnerable-dependencies.md | 12 +- .../index.md | 6 +- .../troubleshooting-dependabot-errors.md | 2 +- ...he-detection-of-vulnerable-dependencies.md | 18 +- ...nerable-dependencies-in-your-repository.md | 16 +- .../about-dependency-review.md | 2 +- .../about-the-dependency-graph.md | 30 +-- ...loring-the-dependencies-of-a-repository.md | 20 +- .../index.md | 4 +- content/codespaces/about-codespaces.md | 2 +- .../about-billing-for-codespaces.md | 4 +- ...pace-to-access-a-private-image-registry.md | 2 +- .../codespaces/codespaces-reference/index.md | 2 +- .../troubleshooting-your-codespace.md | 2 +- ...using-the-command-palette-in-codespaces.md | 4 +- .../creating-a-codespace.md | 2 +- .../deleting-a-codespace.md | 4 +- .../developing-in-a-codespace.md | 2 +- .../forwarding-ports-in-your-codespace.md | 2 +- .../developing-in-codespaces/index.md | 2 +- .../using-codespaces-in-visual-studio-code.md | 2 +- .../using-source-control-in-your-codespace.md | 4 +- ...etting-started-with-your-dotnet-project.md | 2 +- ...ed-with-your-java-project-in-codespaces.md | 2 +- ...-with-your-nodejs-project-in-codespaces.md | 2 +- ...-with-your-python-project-in-codespaces.md | 2 +- .../getting-started-with-codespaces/index.md | 2 +- content/codespaces/guides.md | 7 +- content/codespaces/index.md | 3 +- .../index.md | 2 +- ...urity-for-your-organizations-codespaces.md | 6 +- ...ository-and-organization-for-codespaces.md | 4 +- ...-user-permissions-for-your-organization.md | 6 +- ...organizations-audit-logs-for-codespaces.md | 6 +- .../managing-your-codespaces/index.md | 2 +- ...access-and-security-for-your-codespaces.md | 4 +- ...g-encrypted-secrets-for-your-codespaces.md | 4 +- ...anaging-gpg-verification-for-codespaces.md | 2 +- ...ewing-your-security-logs-for-codespaces.md | 6 +- content/codespaces/quickstart.md | 4 +- ...configuring-codespaces-for-your-project.md | 4 +- .../setting-up-your-codespace/index.md | 2 +- ...rsonalizing-codespaces-for-your-account.md | 2 +- .../about-wikis.md | 10 +- .../adding-or-editing-wiki-pages.md | 6 +- .../changing-access-permissions-for-wikis.md | 6 +- ...ating-a-footer-or-sidebar-for-your-wiki.md | 6 +- .../disabling-wikis.md | 6 +- .../editing-wiki-content.md | 6 +- .../index.md | 6 +- .../viewing-a-wikis-history-of-changes.md | 6 +- content/communities/index.md | 6 +- .../blocking-a-user-from-your-organization.md | 2 +- ...cking-a-user-from-your-personal-account.md | 2 +- .../index.md | 2 +- .../reporting-abuse-or-spam.md | 4 +- ...nblocking-a-user-from-your-organization.md | 2 +- ...cking-a-user-from-your-personal-account.md | 2 +- ...-who-are-blocked-from-your-organization.md | 2 +- ...ouve-blocked-from-your-personal-account.md | 2 +- .../index.md | 6 +- ...ting-interactions-for-your-user-account.md | 2 +- ...iting-interactions-in-your-organization.md | 2 +- ...imiting-interactions-in-your-repository.md | 2 +- .../locking-conversations.md | 10 +- .../managing-disruptive-comments.md | 14 +- ...-abuse-in-your-organizations-repository.md | 2 +- ...ontent-in-your-organizations-repository.md | 2 +- .../tracking-changes-in-a-comment.md | 8 +- ...out-community-management-and-moderation.md | 2 +- ...munity-profiles-for-public-repositories.md | 2 +- .../accessing-a-projects-community-profile.md | 2 +- ...dding-a-code-of-conduct-to-your-project.md | 2 +- .../adding-a-license-to-a-repository.md | 8 +- ...dding-support-resources-to-your-project.md | 8 +- ...reating-a-default-community-health-file.md | 20 +- ...ntributions-to-your-project-with-labels.md | 2 +- .../index.md | 6 +- ...-guidelines-for-repository-contributors.md | 14 +- .../about-issue-and-pull-request-templates.md | 20 +- ...ing-issue-templates-for-your-repository.md | 14 +- ...ll-request-template-for-your-repository.md | 10 +- .../index.md | 6 +- ...ngle-issue-template-for-your-repository.md | 10 +- .../syntax-for-githubs-form-schema.md | 4 +- .../syntax-for-issue-forms.md | 6 +- ...m-your-local-computer-to-github-desktop.md | 2 +- ...-project-to-github-using-github-desktop.md | 2 +- ...epository-from-github-to-github-desktop.md | 2 +- ...orking-repositories-from-github-desktop.md | 2 +- .../adding-and-cloning-repositories/index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../syncing-your-branch.md | 2 +- ...g-and-reviewing-changes-to-your-project.md | 2 +- .../making-changes-in-a-branch/index.md | 2 +- .../managing-branches.md | 2 +- .../pushing-changes-to-github.md | 2 +- .../stashing-changes.md | 2 +- .../viewing-the-branch-history.md | 2 +- .../managing-commits/amending-a-commit.md | 2 +- .../cherry-picking-a-commit.md | 2 +- .../managing-commits/index.md | 3 +- .../managing-commits/managing-tags.md | 2 +- .../managing-commits/reordering-commits.md | 4 +- .../managing-commits/reverting-a-commit.md | 2 +- .../managing-commits/squashing-commits.md | 4 +- ...nging-a-remotes-url-from-github-desktop.md | 2 +- .../creating-an-issue-or-pull-request.md | 2 +- .../index.md | 2 +- ...iewing-a-pull-request-in-github-desktop.md | 2 +- content/desktop/index.md | 2 +- ...t-large-file-storage-and-github-desktop.md | 2 +- .../configuring-a-default-editor.md | 2 +- .../configuring-basic-settings.md | 2 +- .../configuring-git-for-github-desktop.md | 2 +- .../index.md | 2 +- .../setting-a-theme-for-github-desktop.md | 2 +- .../index.md | 2 +- .../about-connections-to-github.md | 2 +- .../authenticating-to-github.md | 2 +- .../index.md | 2 +- .../installing-github-desktop.md | 2 +- .../setting-up-github-desktop.md | 2 +- .../uninstalling-github-desktop.md | 2 +- .../updating-github-desktop.md | 2 +- ...r-first-repository-using-github-desktop.md | 2 +- .../getting-started-with-github-desktop.md | 2 +- .../overview/index.md | 2 +- .../overview/keyboard-shortcuts.md | 2 +- ...ng-github-desktop-from-the-command-line.md | 2 +- .../overview/supported-operating-systems.md | 2 +- .../authenticating-with-github-apps.md | 20 +- ...ting-a-custom-badge-for-your-github-app.md | 14 +- .../creating-a-github-app-from-a-manifest.md | 12 +- ...ating-a-github-app-using-url-parameters.md | 34 ++-- .../creating-a-github-app.md | 14 +- ...g-and-authorizing-users-for-github-apps.md | 84 ++++---- .../apps/building-github-apps/index.md | 6 +- ...g-allowed-ip-addresses-for-a-github-app.md | 8 +- .../rate-limits-for-github-apps.md | 16 +- ...refreshing-user-to-server-access-tokens.md | 16 +- .../setting-permissions-for-github-apps.md | 6 +- .../authorizing-oauth-apps.md | 30 +-- ...ating-a-custom-badge-for-your-oauth-app.md | 14 +- .../creating-an-oauth-app.md | 10 +- .../apps/building-oauth-apps/index.md | 6 +- .../scopes-for-oauth-apps.md | 32 +-- .../getting-started-with-apps/about-apps.md | 20 +- .../activating-optional-features-for-apps.md | 14 +- ...nces-between-github-apps-and-oauth-apps.md | 10 +- .../apps/getting-started-with-apps/index.md | 6 +- .../migrating-oauth-apps-to-github-apps.md | 8 +- ...ment-environment-to-create-a-github-app.md | 8 +- .../creating-ci-tests-with-the-checks-api.md | 16 +- content/developers/apps/guides/index.md | 6 +- .../apps/guides/using-content-attachments.md | 6 +- .../using-the-github-api-in-your-app.md | 10 +- content/developers/apps/index.md | 6 +- .../deleting-a-github-app.md | 6 +- .../editing-a-github-apps-permissions.md | 6 +- .../apps/managing-github-apps/index.md | 6 +- .../installing-github-apps.md | 10 +- .../making-a-github-app-public-or-private.md | 12 +- .../modifying-a-github-app.md | 6 +- .../suspending-a-github-app-installation.md | 6 +- .../transferring-ownership-of-a-github-app.md | 6 +- .../deleting-an-oauth-app.md | 6 +- .../apps/managing-oauth-apps/index.md | 6 +- .../modifying-an-oauth-app.md | 6 +- .../transferring-ownership-of-an-oauth-app.md | 6 +- ...leshooting-authorization-request-errors.md | 6 +- ...g-oauth-app-access-token-request-errors.md | 6 +- ...omer-experience-best-practices-for-apps.md | 2 +- .../index.md | 2 +- .../requirements-for-listing-an-app.md | 2 +- .../security-best-practices-for-apps.md | 2 +- .../viewing-metrics-for-your-listing.md | 2 +- .../viewing-transactions-for-your-listing.md | 2 +- .../about-github-marketplace.md | 2 +- .../about-marketplace-badges.md | 2 +- ...sher-verification-for-your-organization.md | 2 +- .../github-marketplace-overview/index.md | 2 +- .../developers/github-marketplace/index.md | 2 +- ...a-webhook-to-notify-you-of-plan-changes.md | 2 +- .../drafting-a-listing-for-your-app.md | 2 +- .../index.md | 2 +- .../setting-pricing-plans-for-your-listing.md | 2 +- ...submitting-your-listing-for-publication.md | 2 +- ...ting-a-listing-description-for-your-app.md | 2 +- .../billing-customers.md | 2 +- .../index.md | 2 +- ...icing-plans-for-github-marketplace-apps.md | 2 +- .../receiving-payment-for-app-purchases.md | 2 +- .../handling-new-purchases-and-free-trials.md | 2 +- .../handling-plan-cancellations.md | 2 +- .../handling-plan-changes.md | 2 +- .../index.md | 2 +- ...ndpoints-for-the-github-marketplace-api.md | 2 +- .../testing-your-app.md | 2 +- ...k-events-for-the-github-marketplace-api.md | 2 +- content/developers/index.md | 6 +- .../developers/overview/about-githubs-apis.md | 6 +- .../overview/github-developer-program.md | 2 +- content/developers/overview/index.md | 8 +- .../overview/managing-deploy-keys.md | 24 +-- .../overview/replacing-github-services.md | 6 +- .../secret-scanning-partner-program.md | 2 +- .../overview/using-ssh-agent-forwarding.md | 16 +- .../overview/viewing-deployment-history.md | 10 +- .../events/github-event-types.md | 12 +- .../webhooks-and-events/events/index.md | 6 +- .../events/issue-event-types.md | 12 +- .../developers/webhooks-and-events/index.md | 6 +- .../webhooks/about-webhooks.md | 10 +- ...iguring-your-server-to-receive-payloads.md | 6 +- .../webhooks/creating-webhooks.md | 6 +- .../webhooks-and-events/webhooks/index.md | 6 +- .../webhooks/securing-your-webhooks.md | 16 +- .../webhooks/testing-webhooks.md | 8 +- .../webhooks/webhook-events-and-payloads.md | 62 +++--- .../about-discussions.md | 4 +- ...ting-with-maintainers-using-discussions.md | 4 +- .../index.md | 2 +- .../participating-in-a-discussion.md | 4 +- ...s-for-community-conversations-on-github.md | 2 +- ...iscussions-across-multiple-repositories.md | 4 +- ...-higher-permissions-to-top-contributors.md | 4 +- content/discussions/guides/index.md | 2 +- content/discussions/index.md | 3 +- .../index.md | 2 +- ...ries-for-discussions-in-your-repository.md | 4 +- ...managing-discussions-in-your-repository.md | 4 +- .../moderating-discussions.md | 2 +- content/discussions/quickstart.md | 2 +- .../index.md | 2 +- .../about-campus-advisors.md | 2 +- .../about-campus-experts.md | 2 +- .../about-github-campus-program.md | 2 +- .../index.md | 2 +- .../about-github-education-for-students.md | 2 +- .../apply-for-a-student-developer-pack.md | 2 +- .../use-github-for-your-schoolwork/index.md | 2 +- ...n-for-a-student-developer-pack-approved.md | 2 +- ...education-for-educators-and-researchers.md | 2 +- ...-for-an-educator-or-researcher-discount.md | 2 +- .../index.md | 2 +- ...ducator-or-researcher-discount-approved.md | 2 +- content/education/guides.md | 2 +- content/education/index.md | 3 +- .../basics-of-setting-up-github-classroom.md | 2 +- .../glossary.md | 2 +- .../index.md | 2 +- .../index.md | 3 +- ...g-makecode-arcade-with-github-classroom.md | 2 +- ...bout-using-replit-with-github-classroom.md | 2 +- .../index.md | 2 +- ...ate-github-classroom-with-an-online-ide.md | 2 +- .../run-student-code-in-an-online-ide.md | 2 +- .../learn-with-github-classroom/index.md | 2 +- .../view-autograding-results.md | 2 +- ...g-management-system-to-github-classroom.md | 2 +- .../create-a-group-assignment.md | 2 +- ...n-assignment-from-a-template-repository.md | 2 +- .../create-an-individual-assignment.md | 2 +- .../teach-with-github-classroom/index.md | 3 +- .../leave-feedback-with-pull-requests.md | 2 +- .../manage-classrooms.md | 4 +- .../use-autograding.md | 2 +- ...e-the-git-and-github-starter-assignment.md | 6 +- content/education/quickstart.md | 4 +- ...-to-contribute-to-open-source-on-github.md | 2 +- .../following-people.md | 12 +- .../exploring-projects-on-github/index.md | 6 +- .../saving-repositories-with-stars.md | 10 +- .../about-remote-repositories.md | 14 +- .../associating-text-editors-with-git.md | 6 +- .../caching-your-github-credentials-in-git.md | 6 +- .../configuring-git-to-handle-line-endings.md | 6 +- .../getting-started-with-git/git-workflows.md | 6 +- .../ignoring-files.md | 6 +- .../getting-started-with-git/index.md | 6 +- .../managing-remote-repositories.md | 6 +- .../setting-your-username-in-git.md | 6 +- ...ing-credentials-from-the-macos-keychain.md | 8 +- ...hy-is-git-always-asking-for-my-password.md | 6 +- content/get-started/index.md | 6 +- .../about-github-advanced-security.md | 28 +-- .../access-permissions-on-github.md | 10 +- .../faq-about-changes-to-githubs-plans.md | 2 +- .../github-language-support.md | 6 +- .../learning-about-github/githubs-products.md | 8 +- .../learning-about-github/index.md | 6 +- .../types-of-github-accounts.md | 18 +- content/get-started/quickstart/be-social.md | 8 +- .../quickstart/communicating-on-github.md | 22 +- .../get-started/quickstart/create-a-repo.md | 14 +- content/get-started/quickstart/fork-a-repo.md | 12 +- .../git-and-github-learning-resources.md | 10 +- .../get-started/quickstart/git-cheatsheet.md | 6 +- content/get-started/quickstart/github-flow.md | 10 +- .../get-started/quickstart/github-glossary.md | 6 +- content/get-started/quickstart/index.md | 6 +- content/get-started/quickstart/set-up-git.md | 8 +- .../signing-up-for-github/index.md | 6 +- ...g-up-a-trial-of-github-enterprise-cloud.md | 4 +- ...-up-a-trial-of-github-enterprise-server.md | 6 +- .../signing-up-for-a-new-github-account.md | 2 +- .../verifying-your-email-address.md | 2 +- .../get-started/using-git/about-git-rebase.md | 6 +- .../using-git/about-git-subtree-merges.md | 6 +- .../dealing-with-non-fast-forward-errors.md | 6 +- ...etting-changes-from-a-remote-repository.md | 8 +- content/get-started/using-git/index.md | 6 +- .../pushing-commits-to-a-remote-repository.md | 6 +- ...ving-merge-conflicts-after-a-git-rebase.md | 6 +- ...g-a-subfolder-out-into-a-new-repository.md | 6 +- .../using-git-rebase-on-the-command-line.md | 6 +- ...ly-access-releases-with-feature-preview.md | 2 +- .../get-started/using-github/github-cli.md | 6 +- .../using-github/github-desktop.md | 6 +- .../using-github/github-for-mobile.md | 6 +- content/get-started/using-github/index.md | 6 +- .../using-github/keyboard-shortcuts.md | 24 +-- .../using-github/supported-browsers.md | 6 +- .../troubleshooting-connectivity-problems.md | 2 +- .../about-merge-methods-on-github.md | 8 +- ...uring-commit-rebasing-for-pull-requests.md | 6 +- ...ring-commit-squashing-for-pull-requests.md | 6 +- .../configuring-pull-request-merges/index.md | 6 +- ...ge-for-pull-requests-in-your-repository.md | 8 +- ...ging-the-automatic-deletion-of-branches.md | 6 +- .../about-protected-branches.md | 22 +- .../index.md | 6 +- .../managing-a-branch-protection-rule.md | 10 +- .../troubleshooting-required-status-checks.md | 8 +- ...g-issues-and-pull-requests-by-assignees.md | 6 +- ...ring-issues-and-pull-requests-by-labels.md | 6 +- .../filtering-issues-and-pull-requests.md | 6 +- ...iltering-pull-requests-by-review-status.md | 6 +- .../index.md | 6 +- .../sharing-filters.md | 6 +- .../sorting-issues-and-pull-requests.md | 6 +- ...arch-to-filter-issues-and-pull-requests.md | 10 +- .../administering-a-repository/index.md | 9 +- .../changing-the-default-branch.md | 14 +- ...nd-restoring-branches-in-a-pull-request.md | 6 +- .../index.md | 6 +- .../renaming-a-branch.md | 4 +- .../viewing-branches-in-your-repository.md | 6 +- ...fications-for-pushes-to-your-repository.md | 10 +- ...classifying-your-repository-with-topics.md | 16 +- ...tolinks-to-reference-external-resources.md | 8 +- ...s-artifacts-and-logs-in-your-repository.md | 6 +- ...zing-how-changed-files-appear-on-github.md | 6 +- ...g-your-repositorys-social-media-preview.md | 8 +- .../deleting-a-repository.md | 12 +- .../disabling-issues.md | 8 +- ...imiting-github-actions-for-a-repository.md | 18 +- ...isabling-project-boards-in-a-repository.md | 6 +- ...ing-a-sponsor-button-in-your-repository.md | 2 +- ...nymous-git-read-access-for-a-repository.md | 2 +- ...ing-github-discussions-for-a-repository.md | 2 +- .../managing-repository-settings/index.md | 6 +- ...-objects-in-archives-of-your-repository.md | 8 +- ...d-analysis-settings-for-your-repository.md | 40 ++-- ...d-people-with-access-to-your-repository.md | 2 +- ...-the-forking-policy-for-your-repository.md | 10 +- .../renaming-a-repository.md | 8 +- .../restoring-a-deleted-repository.md | 2 +- .../setting-repository-visibility.md | 36 ++-- .../transferring-a-repository.md | 14 +- ...deployment-activity-for-your-repository.md | 8 +- .../about-releases.md | 14 +- ...for-release-forms-with-query-parameters.md | 6 +- .../comparing-releases.md | 6 +- .../releasing-projects-on-github/index.md | 6 +- .../linking-to-releases.md | 6 +- .../managing-releases-in-a-repository.md | 14 +- ...wing-your-repositorys-releases-and-tags.md | 8 +- ...authentication-with-saml-single-sign-on.md | 14 +- ...-token-for-use-with-saml-single-sign-on.md | 2 +- ...sh-key-for-use-with-saml-single-sign-on.md | 2 +- .../index.md | 6 +- ...-and-managing-your-active-saml-sessions.md | 2 +- .../about-ssh.md | 10 +- ...ng-a-new-ssh-key-to-your-github-account.md | 10 +- .../checking-for-existing-ssh-keys.md | 6 +- ...-ssh-key-and-adding-it-to-the-ssh-agent.md | 12 +- .../connecting-to-github-with-ssh/index.md | 6 +- .../testing-your-ssh-connection.md | 8 +- .../working-with-ssh-key-passphrases.md | 6 +- .../github/authenticating-to-github/index.md | 8 +- .../about-anonymized-urls.md | 2 +- .../about-authentication-to-github.md | 16 +- .../about-githubs-ip-addresses.md | 2 +- .../authorizing-oauth-apps.md | 10 +- ...onnecting-with-third-party-applications.md | 10 +- .../creating-a-personal-access-token.md | 22 +- .../creating-a-strong-password.md | 8 +- .../githubs-ssh-key-fingerprints.md | 2 +- .../index.md | 6 +- .../preventing-unauthorized-access.md | 6 +- ...moving-sensitive-data-from-a-repository.md | 6 +- ...wing-your-authorized-applications-oauth.md | 8 +- .../reviewing-your-authorized-integrations.md | 8 +- .../reviewing-your-deploy-keys.md | 6 +- .../reviewing-your-security-log.md | 52 ++--- .../reviewing-your-ssh-keys.md | 12 +- .../sudo-mode.md | 4 +- ...updating-your-github-access-credentials.md | 16 +- .../about-commit-signature-verification.md | 14 +- ...ng-a-new-gpg-key-to-your-github-account.md | 6 +- .../associating-an-email-with-your-gpg-key.md | 8 +- .../checking-for-existing-gpg-keys.md | 6 +- ...cation-statuses-for-all-of-your-commits.md | 2 +- .../generating-a-new-gpg-key.md | 10 +- .../index.md | 8 +- .../signing-commits.md | 6 +- .../signing-tags.md | 6 +- .../telling-git-about-your-signing-key.md | 6 +- .../about-two-factor-authentication.md | 10 +- ...-github-using-two-factor-authentication.md | 8 +- ...delivery-methods-for-your-mobile-device.md | 2 +- ...-factor-authentication-recovery-methods.md | 6 +- .../configuring-two-factor-authentication.md | 16 +- ...s-where-sms-authentication-is-supported.md | 2 +- ...uthentication-for-your-personal-account.md | 6 +- .../index.md | 4 +- ...ccount-if-you-lose-your-2fa-credentials.md | 12 +- ...t-and-tag-signature-verification-status.md | 14 +- .../index.md | 6 +- .../updating-an-expired-gpg-key.md | 6 +- ...-verified-email-address-in-your-gpg-key.md | 8 +- .../deleted-or-missing-ssh-keys.md | 2 +- .../error-agent-admitted-failure-to-sign.md | 6 +- .../error-bad-file-number.md | 10 +- .../error-key-already-in-use.md | 6 +- .../error-permission-denied-publickey.md | 18 +- ...ission-to-userrepo-denied-to-other-user.md | 6 +- ...on-to-userrepo-denied-to-userother-repo.md | 6 +- .../error-ssh-add-illegal-option----k.md | 6 +- ...e-problem-verify-that-the-ca-cert-is-ok.md | 2 +- .../error-unknown-key-type.md | 6 +- .../error-were-doing-an-ssh-key-audit.md | 6 +- .../troubleshooting-ssh/index.md | 6 +- .../recovering-your-ssh-key-passphrase.md | 6 +- .../using-ssh-over-the-https-port.md | 2 +- .../about-merge-conflicts.md | 6 +- .../addressing-merge-conflicts/index.md | 6 +- .../resolving-a-merge-conflict-on-github.md | 14 +- ...a-merge-conflict-using-the-command-line.md | 6 +- .../about-status-checks.md | 6 +- .../index.md | 8 +- .../working-with-pre-receive-hooks.md | 2 +- .../about-collaborative-development-models.md | 6 +- .../getting-started/index.md | 6 +- .../about-pull-request-merges.md | 6 +- .../automatically-merging-a-pull-request.md | 8 +- .../closing-a-pull-request.md | 6 +- .../index.md | 6 +- .../merging-a-pull-request.md | 10 +- .../reverting-a-pull-request.md | 6 +- .../collaborating-with-pull-requests/index.md | 6 +- .../about-branches.md | 14 +- ...out-comparing-branches-in-pull-requests.md | 8 +- .../about-pull-requests.md | 8 +- ...nging-the-base-branch-of-a-pull-request.md | 6 +- .../changing-the-stage-of-a-pull-request.md | 12 +- ...pull-request-branch-created-from-a-fork.md | 6 +- .../creating-a-pull-request-from-a-fork.md | 6 +- .../creating-a-pull-request.md | 10 +- ...eleting-branches-within-your-repository.md | 8 +- .../index.md | 6 +- .../requesting-a-pull-request-review.md | 8 +- ...ery-parameters-to-create-a-pull-request.md | 8 +- .../about-pull-request-reviews.md | 10 +- ...ng-a-pull-request-with-required-reviews.md | 6 +- .../checking-out-pull-requests-locally.md | 10 +- .../commenting-on-a-pull-request.md | 8 +- .../dismissing-a-pull-request-review.md | 6 +- .../filtering-files-in-a-pull-request.md | 6 +- ...methods-and-functions-in-a-pull-request.md | 6 +- ...rporating-feedback-in-your-pull-request.md | 6 +- .../index.md | 6 +- ...ng-dependency-changes-in-a-pull-request.md | 2 +- ...wing-proposed-changes-in-a-pull-request.md | 8 +- .../viewing-a-pull-request-review.md | 6 +- .../working-with-forks/about-forks.md | 10 +- ...pull-request-branch-created-from-a-fork.md | 6 +- .../configuring-a-remote-for-a-fork.md | 6 +- .../working-with-forks/index.md | 6 +- ...g-an-upstream-repository-into-your-fork.md | 6 +- .../working-with-forks/syncing-a-fork.md | 8 +- ...sitory-is-deleted-or-changes-visibility.md | 16 +- .../about-commits.md | 8 +- .../changing-a-commit-message.md | 8 +- ...g-a-commit-on-behalf-of-an-organization.md | 2 +- ...creating-a-commit-with-multiple-authors.md | 12 +- .../creating-and-editing-commits/index.md | 6 +- .../index.md | 9 +- ...sts-on-github-but-not-in-my-local-clone.md | 6 +- .../troubleshooting-commits/index.md | 6 +- ...are-my-commits-linked-to-the-wrong-user.md | 18 +- .../commit-branch-and-tag-labels.md | 6 +- .../comparing-commits.md | 12 +- .../differences-between-commit-views.md | 6 +- .../viewing-and-comparing-commits/index.md | 6 +- ...ut-archiving-content-and-data-on-github.md | 2 +- .../about-archiving-repositories.md | 8 +- .../archiving-repositories.md | 6 +- .../backing-up-a-repository.md | 14 +- .../archiving-a-github-repository/index.md | 6 +- .../referencing-and-citing-content.md | 2 +- .../cloning-a-repository.md | 10 +- ...s-to-nonexistent-ref-unable-to-checkout.md | 6 +- .../error-repository-not-found.md | 10 +- .../https-cloning-errors.md | 6 +- .../cloning-a-repository-from-github/index.md | 6 +- .../about-code-owners.md | 10 +- .../about-readmes.md | 14 +- .../about-repositories.md | 10 +- .../about-repository-languages.md | 6 +- .../about-repository-visibility.md | 20 +- .../creating-a-new-repository.md | 16 +- .../creating-a-repository-from-a-template.md | 12 +- .../creating-a-template-repository.md | 10 +- .../creating-an-issues-only-repository.md | 6 +- .../duplicating-a-repository.md | 6 +- .../creating-a-repository-on-github/index.md | 6 +- .../licensing-a-repository.md | 8 +- ...ewing-content-and-diffs-in-a-repository.md | 6 +- .../index.md | 6 +- .../about-github-marketplace.md | 2 +- .../about-integrations.md | 2 +- .../github-extensions-and-integrations.md | 2 +- .../exploring-integrations/index.md | 2 +- .../customizing-your-github-workflow/index.md | 2 +- .../index.md | 2 +- .../installing-an-app-in-your-organization.md | 2 +- ...talling-an-app-in-your-personal-account.md | 2 +- .../github/extending-github/about-webhooks.md | 6 +- .../getting-started-with-the-api.md | 8 +- .../git-automation-with-oauth-tokens.md | 10 +- content/github/extending-github/index.md | 6 +- .../about-code-scanning.md | 2 +- .../configuring-code-scanning.md | 6 +- ...-codeql-workflow-for-compiled-languages.md | 2 +- .../index.md | 2 +- ...ode-scanning-alerts-for-your-repository.md | 2 +- ...ing-codeql-code-scanning-in-a-container.md | 4 +- ...tting-up-code-scanning-for-a-repository.md | 2 +- ...g-code-scanning-alerts-in-pull-requests.md | 2 +- .../troubleshooting-the-codeql-workflow.md | 4 +- .../index.md | 2 +- .../about-integration-with-code-scanning.md | 2 +- .../integrating-with-code-scanning/index.md | 2 +- .../sarif-support-for-code-scanning.md | 2 +- .../uploading-a-sarif-file-to-github.md | 6 +- ...-codeql-code-scanning-in-your-ci-system.md | 2 +- .../index.md | 2 +- ...-codeql-code-scanning-in-your-ci-system.md | 2 +- ...-codeql-code-scanning-in-your-ci-system.md | 2 +- .../about-github-importer.md | 2 +- ...roject-to-github-using-the-command-line.md | 6 +- ...a-git-repository-using-the-command-line.md | 8 +- ...rting-a-repository-with-github-importer.md | 2 +- .../importing-source-code-to-github/index.md | 8 +- .../source-code-migration-tools.md | 10 +- ...author-attribution-with-github-importer.md | 2 +- .../index.md | 9 +- .../index.md | 4 +- ...bversion-properties-supported-by-github.md | 4 +- .../support-for-subversion-clients.md | 4 +- ...-differences-between-subversion-and-git.md | 4 +- content/github/index.md | 6 +- .../managing-files-in-a-repository/index.md | 6 +- .../adding-a-file-to-a-repository.md | 8 +- .../creating-new-files.md | 6 +- .../deleting-files-in-a-repository.md | 20 +- ...iting-files-in-another-users-repository.md | 6 +- .../editing-files-in-your-repository.md | 6 +- .../getting-permanent-links-to-files.md | 6 +- .../managing-files-on-github/index.md | 6 +- .../moving-a-file-to-a-new-location.md | 6 +- .../navigating-code-on-github.md | 2 +- .../renaming-a-file.md | 6 +- .../tracking-changes-in-a-file.md | 6 +- ...-to-a-repository-using-the-command-line.md | 6 +- .../index.md | 6 +- ...o-a-new-location-using-the-command-line.md | 6 +- .../renaming-a-file-using-the-command-line.md | 6 +- .../3d-file-viewer.md | 6 +- .../working-with-non-code-files/index.md | 6 +- .../mapping-geojson-files-on-github.md | 6 +- .../rendering-and-diffing-images.md | 6 +- .../rendering-csv-and-tsv-data.md | 6 +- ...endering-differences-in-prose-documents.md | 6 +- .../rendering-pdf-documents.md | 6 +- ...g-with-jupyter-notebook-files-on-github.md | 6 +- content/github/managing-large-files/index.md | 6 +- .../about-git-large-file-storage.md | 8 +- .../about-storage-and-bandwidth-usage.md | 4 +- ...llaboration-with-git-large-file-storage.md | 8 +- .../configuring-git-large-file-storage.md | 10 +- .../versioning-large-files/index.md | 6 +- .../installing-git-large-file-storage.md | 6 +- ...ur-repository-to-git-large-file-storage.md | 6 +- ...oving-files-from-git-large-file-storage.md | 10 +- ...-git-large-file-storage-upload-failures.md | 6 +- .../conditions-for-large-files.md | 8 +- .../distributing-large-binaries.md | 8 +- .../working-with-large-files/index.md | 6 +- ...moving-files-from-a-repositorys-history.md | 6 +- .../what-is-my-disk-quota.md | 2 +- .../index.md | 2 +- ...bout-alerts-for-vulnerable-dependencies.md | 20 +- ...tifications-for-vulnerable-dependencies.md | 24 +-- .../index.md | 4 +- .../index.md | 7 +- .../index.md | 6 +- .../managing-your-subscriptions.md | 12 +- .../viewing-your-subscriptions.md | 14 +- .../about-notifications.md | 18 +- .../configuring-notifications.md | 66 +++--- .../setting-up-notifications/index.md | 6 +- ...orkflow-for-triaging-your-notifications.md | 6 +- .../index.md | 6 +- .../managing-notifications-from-your-inbox.md | 34 ++-- .../triaging-a-single-notification.md | 6 +- .../about-searching-on-github.md | 14 +- ...tory-search-in-github-enterprise-server.md | 4 +- .../index.md | 6 +- .../sorting-search-results.md | 6 +- .../troubleshooting-search-queries.md | 6 +- .../understanding-the-search-syntax.md | 8 +- .../index.md | 7 +- .../finding-files-on-github.md | 8 +- .../searching-on-github/index.md | 6 +- .../searching-on-github/searching-code.md | 14 +- .../searching-on-github/searching-commits.md | 8 +- .../searching-discussions.md | 4 +- .../searching-for-packages.md | 8 +- .../searching-for-repositories.md | 14 +- .../searching-github-marketplace.md | 2 +- .../searching-on-github/searching-in-forks.md | 6 +- .../searching-issues-and-pull-requests.md | 16 +- .../searching-on-github/searching-topics.md | 8 +- .../searching-on-github/searching-users.md | 6 +- .../searching-on-github/searching-wikis.md | 6 +- ...-management-for-your-enterprise-account.md | 2 +- ...rganizations-in-your-enterprise-account.md | 2 +- ...-for-your-enterprise-account-using-okta.md | 2 +- ...rganizations-in-your-enterprise-account.md | 2 +- .../index.md | 2 +- ...rganizations-in-your-enterprise-account.md | 2 +- .../index.md | 6 +- ...rganizations-to-your-enterprise-account.md | 2 +- ...ation-events-in-your-enterprise-account.md | 2 +- .../index.md | 2 +- ...rganizations-in-your-enterprise-account.md | 2 +- ...rganizations-in-your-enterprise-account.md | 2 +- .../index.md | 6 +- ...viting-people-to-manage-your-enterprise.md | 4 +- ...upport-entitlements-for-your-enterprise.md | 2 +- .../roles-in-an-enterprise.md | 18 +- ...-a-users-saml-access-to-your-enterprise.md | 2 +- .../viewing-people-in-your-enterprise.md | 18 +- .../about-enterprise-accounts.md | 10 +- ...n-azure-subscription-to-your-enterprise.md | 2 +- .../managing-your-enterprise-account/index.md | 4 +- ...dio-subscription-with-github-enterprise.md | 2 +- ...ng-a-domain-for-your-enterprise-account.md | 2 +- ...n-and-usage-for-your-enterprise-account.md | 18 +- ...cts-and-logs-in-your-enterprise-account.md | 6 +- ...ncy-insights-in-your-enterprise-account.md | 2 +- ...ons-policies-in-your-enterprise-account.md | 2 +- ...ced-security-in-your-enterprise-account.md | 2 +- ...ard-policies-in-your-enterprise-account.md | 2 +- ...ent-policies-in-your-enterprise-account.md | 2 +- ...ity-settings-in-your-enterprise-account.md | 2 +- ...eam-policies-in-your-enterprise-account.md | 2 +- .../index.md | 2 +- ...tifications-for-your-enterprise-account.md | 2 +- .../about-your-organizations-profile.md | 8 +- .../about-your-profile.md | 12 +- .../customizing-your-profile/index.md | 6 +- .../managing-your-profile-readme.md | 4 +- .../personalizing-your-profile.md | 10 +- .../pinning-items-to-your-profile.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- ...r-private-contributions-on-your-profile.md | 8 +- ...contributions-to-your-githubcom-profile.md | 4 +- ...erview-of-your-activity-on-your-profile.md | 6 +- ...roubleshooting-commits-on-your-timeline.md | 6 +- .../viewing-contributions-on-your-profile.md | 18 +- ...tributions-not-showing-up-on-my-profile.md | 10 +- .../index.md | 6 +- .../index.md | 6 +- ...-collaborators-to-a-personal-repository.md | 18 +- ...uity-of-your-user-accounts-repositories.md | 2 +- ...collaborator-from-a-personal-repository.md | 8 +- ...ourself-from-a-collaborators-repository.md | 6 +- ...an-email-address-to-your-github-account.md | 6 +- ...that-expose-your-personal-email-address.md | 2 +- .../changing-your-primary-email-address.md | 6 +- .../managing-email-preferences/index.md | 6 +- .../managing-marketing-emails-from-github.md | 2 +- ...membering-your-github-username-or-email.md | 6 +- .../setting-a-backup-email-address.md | 8 +- .../setting-your-commit-email-address.md | 18 +- .../types-of-emails-github-sends.md | 2 +- .../about-your-personal-dashboard.md | 12 +- ...best-practices-for-leaving-your-company.md | 4 +- .../changing-your-github-username.md | 14 +- .../converting-a-user-into-an-organization.md | 8 +- .../deleting-your-user-account.md | 10 +- .../managing-user-account-settings/index.md | 6 +- ...rating-jira-with-your-personal-projects.md | 4 +- ...ss-to-your-user-accounts-project-boards.md | 6 +- ...analysis-settings-for-your-user-account.md | 4 +- ...fault-branch-name-for-your-repositories.md | 6 +- .../managing-your-theme-settings.md | 2 +- .../merging-multiple-user-accounts.md | 2 +- ...on-levels-for-a-user-account-repository.md | 36 ++-- ...on-levels-for-user-owned-project-boards.md | 10 +- ...does-the-available-for-hire-checkbox-do.md | 2 +- .../about-organization-membership.md | 8 +- .../accessing-an-organization.md | 6 +- .../index.md | 6 +- .../managing-your-scheduled-reminders.md | 2 +- ...izing-or-hiding-organization-membership.md | 6 +- .../removing-yourself-from-an-organization.md | 8 +- ...ng-organization-approval-for-oauth-apps.md | 2 +- ...iewing-peoples-roles-in-an-organization.md | 6 +- ...plicable-to-us-federal-government-users.md | 2 +- .../github-ae-data-protection-agreement.md | 2 +- .../github-ae-product-specific-terms.md | 2 +- ...the-github-enterprise-license-agreement.md | 2 +- ...b-enterprise-cloud-evaluation-agreement.md | 2 +- ...hub-enterprise-server-license-agreement.md | 2 +- ...thub-enterprise-service-level-agreement.md | 2 +- ...ithub-enterprise-subscription-agreement.md | 2 +- ...al-terms-for-microsoft-volume-licensing.md | 2 +- .../github/site-policy-deprecated/index.md | 3 +- .../site-policy/dmca-takedown-policy.md | 2 +- .../github-acceptable-use-policies.md | 2 +- .../site-policy/github-and-trade-controls.md | 2 +- .../github-anti-bribery-statement.md | 2 +- ...ub-bug-bounty-program-legal-safe-harbor.md | 2 +- .../github-candidate-privacy-policy.md | 2 +- .../github-community-forum-code-of-conduct.md | 2 +- .../github-community-guidelines.md | 2 +- .../github-corporate-terms-of-service.md | 2 +- ...tion-agreement-non-enterprise-customers.md | 2 +- .../github-deceased-user-policy.md | 2 +- .../github-event-code-of-conduct.md | 2 +- .../github/site-policy/github-event-terms.md | 2 +- .../github-gifts-and-entertainment-policy.md | 2 +- .../github-government-takedown-policy.md | 2 +- .../github-gpl-cooperation-commitment.md | 2 +- ...d-data-protection-for-your-organization.md | 2 +- .../github/site-policy/github-logo-policy.md | 2 +- .../github-marketplace-developer-agreement.md | 2 +- .../github-marketplace-terms-of-service.md | 2 +- ...ource-applications-terms-and-conditions.md | 2 +- .../site-policy/github-pre-release-program.md | 2 +- .../site-policy/github-privacy-statement.md | 2 +- ...thub-private-information-removal-policy.md | 2 +- .../github-registered-developer-agreement.md | 2 +- .../github-research-program-terms.md | 2 +- .../github-sponsors-additional-terms.md | 2 +- ...-against-modern-slavery-and-child-labor.md | 2 +- .../github-subprocessors-and-cookies.md | 2 +- ...ms-for-additional-products-and-features.md | 6 +- .../site-policy/github-terms-of-service.md | 2 +- .../site-policy/github-trademark-policy.md | 2 +- .../site-policy/github-username-policy.md | 2 +- ...out-the-california-consumer-privacy-act.md | 2 +- .../site-policy/global-privacy-practices.md | 2 +- ...ide-to-submitting-a-dmca-counter-notice.md | 2 +- ...de-to-submitting-a-dmca-takedown-notice.md | 2 +- ...delines-for-legal-requests-of-user-data.md | 2 +- content/github/site-policy/index.md | 3 +- ...-disclosure-of-security-vulnerabilities.md | 2 +- .../submitting-content-removal-requests.md | 2 +- .../about-githubs-use-of-your-data.md | 2 +- .../index.md | 2 +- ...se-settings-for-your-private-repository.md | 2 +- ...hive-program-for-your-public-repository.md | 2 +- ...-archive-of-your-personal-accounts-data.md | 2 +- .../about-repository-graphs.md | 10 +- .../accessing-basic-repository-data/index.md | 8 +- .../viewing-a-projects-contributors.md | 14 +- ...iewing-a-summary-of-repository-activity.md | 6 +- .../viewing-traffic-to-a-repository.md | 4 +- .../index.md | 6 +- ...nd-deletions-to-content-in-a-repository.md | 8 +- .../visualizing-commits-in-a-repository.md | 6 +- .../index.md | 7 +- .../about-the-dependency-graph.md | 8 +- ...loring-the-dependencies-of-a-repository.md | 8 +- .../index.md | 8 +- .../listing-the-forks-of-a-repository.md | 8 +- .../viewing-a-repositorys-network.md | 6 +- ...iewing-the-dependencies-of-a-repository.md | 4 +- ...ium-support-for-github-enterprise-cloud.md | 2 +- .../about-github-support.md | 2 +- .../github-enterprise-cloud-support.md | 2 +- .../github-marketplace-support.md | 2 +- .../working-with-github-support/index.md | 2 +- .../submitting-a-ticket.md | 2 +- .../creating-gists.md | 30 +-- .../forking-and-cloning-gists.md | 6 +- .../index.md | 6 +- .../about-writing-and-formatting-on-github.md | 6 +- .../basic-writing-and-formatting-syntax.md | 14 +- .../index.md | 6 +- content/github/writing-on-github/index.md | 7 +- .../attaching-files.md | 12 +- .../autolinked-references-and-urls.md | 8 +- ...ting-a-permanent-link-to-a-code-snippet.md | 6 +- .../creating-and-highlighting-code-blocks.md | 6 +- .../working-with-advanced-formatting/index.md | 6 +- .../organizing-information-with-tables.md | 6 +- ...ng-keywords-in-issues-and-pull-requests.md | 10 +- .../about-saved-replies.md | 6 +- .../creating-a-saved-reply.md | 6 +- .../deleting-a-saved-reply.md | 6 +- .../editing-a-saved-reply.md | 6 +- .../working-with-saved-replies/index.md | 6 +- .../using-saved-replies.md | 6 +- .../guides/forming-calls-with-graphql.md | 12 +- content/graphql/guides/index.md | 6 +- .../graphql/guides/introduction-to-graphql.md | 6 +- .../guides/managing-enterprise-accounts.md | 16 +- .../guides/migrating-from-rest-to-graphql.md | 6 +- .../graphql/guides/using-global-node-ids.md | 6 +- content/graphql/guides/using-the-explorer.md | 8 +- .../using-the-graphql-api-for-discussions.md | 4 +- content/graphql/index.md | 6 +- .../graphql/overview/about-the-graphql-api.md | 6 +- content/graphql/overview/breaking-changes.md | 6 +- content/graphql/overview/changelog.md | 6 +- content/graphql/overview/explorer.md | 6 +- content/graphql/overview/index.md | 6 +- content/graphql/overview/public-schema.md | 12 +- .../graphql/overview/resource-limitations.md | 6 +- content/graphql/overview/schema-previews.md | 6 +- content/graphql/reference/enums.md | 6 +- content/graphql/reference/index.md | 6 +- content/graphql/reference/input-objects.md | 6 +- content/graphql/reference/interfaces.md | 6 +- content/graphql/reference/mutations.md | 6 +- content/graphql/reference/objects.md | 6 +- content/graphql/reference/queries.md | 6 +- content/graphql/reference/scalars.md | 6 +- content/graphql/reference/unions.md | 6 +- content/index.md | 2 +- .../index.md | 2 +- .../metrics-available-with-github-insights.md | 2 +- ...n-github-enterprise-and-github-insights.md | 2 +- ...tting-your-timezone-for-github-insights.md | 2 +- .../viewing-key-metrics-and-reports.md | 2 +- content/insights/index.md | 2 +- ...n-github-insights-and-github-enterprise.md | 2 +- ...n-github-insights-and-github-enterprise.md | 2 +- .../configuring-github-insights/index.md | 2 +- ...managing-permissions-in-github-insights.md | 4 +- .../index.md | 2 +- .../about-github-insights.md | 4 +- .../index.md | 2 +- .../installing-github-insights.md | 2 +- .../system-overview-for-github-insights.md | 2 +- .../updating-github-insights.md | 2 +- .../about-data-in-github-insights.md | 2 +- .../managing-data-in-github-insights/index.md | 2 +- .../managing-available-metrics-and-reports.md | 2 +- .../managing-contributors-and-teams.md | 2 +- .../managing-events.md | 2 +- .../managing-goals.md | 2 +- .../managing-organizations.md | 2 +- .../managing-repositories.md | 2 +- content/issues/index.md | 9 +- .../index.md | 6 +- .../about-automation-for-project-boards.md | 8 +- .../about-project-boards.md | 8 +- .../changing-project-board-visibility.md | 12 +- .../closing-a-project-board.md | 6 +- ...nfiguring-automation-for-project-boards.md | 6 +- .../copying-a-project-board.md | 2 +- .../creating-a-project-board.md | 8 +- .../deleting-a-project-board.md | 6 +- .../editing-a-project-board.md | 6 +- .../managing-project-boards/index.md | 8 +- ...linking-a-repository-to-a-project-board.md | 6 +- .../reopening-a-closed-project-board.md | 6 +- ...es-and-pull-requests-to-a-project-board.md | 6 +- .../adding-notes-to-a-project-board.md | 6 +- .../archiving-cards-on-a-project-board.md | 6 +- .../filtering-cards-on-a-project-board.md | 8 +- .../index.md | 8 +- ...tracking-progress-on-your-project-board.md | 6 +- .../about-issues.md | 20 +- .../about-task-lists.md | 14 +- ...and-pull-requests-to-other-github-users.md | 6 +- .../creating-an-issue.md | 10 +- .../deleting-an-issue.md | 6 +- .../tracking-your-work-with-issues/index.md | 11 +- .../linking-a-pull-request-to-an-issue.md | 12 +- ...-issues-or-pull-requests-as-a-duplicate.md | 6 +- .../pinning-an-issue-to-your-repository.md | 6 +- .../quickstart.md | 14 +- ...sferring-an-issue-to-another-repository.md | 8 +- ...ng-all-of-your-issues-and-pull-requests.md | 8 +- .../about-projects.md | 2 +- .../automating-projects.md | 2 +- .../best-practices-for-managing-projects.md | 2 +- .../creating-a-project.md | 2 +- .../customizing-your-project-views.md | 2 +- .../index.md | 3 +- .../quickstart.md | 2 +- .../using-the-api-to-manage-projects.md | 6 +- .../about-milestones.md | 6 +- ...ilestones-with-issues-and-pull-requests.md | 6 +- ...milestones-for-issues-and-pull-requests.md | 6 +- ...g-issues-and-pull-requests-by-milestone.md | 6 +- .../index.md | 6 +- .../managing-labels.md | 28 +-- .../viewing-your-milestones-progress.md | 6 +- .../about-organizations.md | 8 +- .../about-your-organization-dashboard.md | 10 +- .../about-your-organizations-news-feed.md | 8 +- .../accessing-your-organizations-settings.md | 8 +- ...reating-a-new-organization-from-scratch.md | 10 +- .../index.md | 6 +- .../viewing-insights-for-your-organization.md | 2 +- .../about-team-discussions.md | 10 +- .../creating-a-team-discussion.md | 6 +- .../editing-or-deleting-a-team-discussion.md | 6 +- .../collaborating-with-your-team/index.md | 6 +- .../pinning-a-team-discussion.md | 6 +- ...-authentication-and-saml-single-sign-on.md | 2 +- .../index.md | 2 +- ...rvice-accounts-with-saml-single-sign-on.md | 2 +- ...embers-saml-access-to-your-organization.md | 2 +- content/organizations/index.md | 6 +- .../keeping-your-organization-secure/index.md | 8 +- ...owed-ip-addresses-for-your-organization.md | 8 +- ...analysis-settings-for-your-organization.md | 60 +++--- ...tor-authentication-in-your-organization.md | 6 +- ...tor-authentication-in-your-organization.md | 22 +- ...ail-notifications-for-your-organization.md | 4 +- ...ing-the-audit-log-for-your-organization.md | 170 ++++++++-------- ...ur-organizations-installed-integrations.md | 6 +- ...s-in-your-organization-have-2fa-enabled.md | 6 +- ...ithub-app-managers-in-your-organization.md | 8 +- .../index.md | 6 +- ...hub-app-managers-from-your-organization.md | 8 +- ...to-a-project-board-in-your-organization.md | 6 +- .../index.md | 6 +- ...-project-board-for-organization-members.md | 6 +- ...access-to-an-organization-project-board.md | 6 +- ...access-to-an-organization-project-board.md | 6 +- ...t-board-permissions-for-an-organization.md | 8 +- ...ator-from-an-organization-project-board.md | 6 +- ...rs-to-repositories-in-your-organization.md | 10 +- ...tside-collaborator-in-your-organization.md | 2 +- ...ation-member-to-an-outside-collaborator.md | 8 +- ...-collaborator-to-an-organization-member.md | 20 +- .../index.md | 6 +- ...ls-access-to-an-organization-repository.md | 8 +- ...am-access-to-an-organization-repository.md | 6 +- ...llaborators-access-to-your-organization.md | 16 +- ...borator-from-an-organization-repository.md | 8 +- ...y-permission-levels-for-an-organization.md | 54 ++--- ...ng-base-permissions-for-an-organization.md | 8 +- ...g-people-with-access-to-your-repository.md | 8 +- .../about-ssh-certificate-authorities.md | 10 +- .../index.md | 6 +- ...ganizations-ssh-certificate-authorities.md | 6 +- .../adding-people-to-your-organization.md | 8 +- ...-accounts-for-people-in-my-organization.md | 2 +- ...an-invitation-to-join-your-organization.md | 4 +- .../index.md | 8 +- ...nviting-users-to-join-your-organization.md | 2 +- ...ng-a-former-member-of-your-organization.md | 20 +- ...emoving-a-member-from-your-organization.md | 10 +- ...e-to-delete-issues-in-your-organization.md | 6 +- ...-your-organizations-dependency-insights.md | 2 +- ...artifacts-and-logs-in-your-organization.md | 6 +- .../converting-an-organization-into-a-user.md | 6 +- .../deleting-an-organization-account.md | 10 +- ...ng-github-actions-for-your-organization.md | 16 +- ...ing-project-boards-in-your-organization.md | 6 +- .../managing-organization-settings/index.md | 8 +- ...ra-with-your-organization-project-board.md | 4 +- ...s-for-repositories-in-your-organization.md | 12 +- ...n-for-repositories-in-your-organization.md | 2 +- ...heduled-reminders-for-your-organization.md | 2 +- ...e-for-repositories-in-your-organization.md | 8 +- ...ay-of-member-names-in-your-organization.md | 6 +- ...he-forking-policy-for-your-organization.md | 12 +- ...ithub-pages-sites-for-your-organization.md | 12 +- ...rom-accounts-your-organization-sponsors.md | 2 +- .../renaming-an-organization.md | 10 +- ...epository-creation-in-your-organization.md | 10 +- ...visibility-changes-in-your-organization.md | 6 +- ...ssions-for-adding-outside-collaborators.md | 8 +- ...r-deleting-or-transferring-repositories.md | 6 +- ...eation-permissions-in-your-organization.md | 6 +- .../transferring-organization-ownership.md | 10 +- ...ading-to-the-corporate-terms-of-service.md | 2 +- ...pproving-a-domain-for-your-organization.md | 6 +- ...-a-billing-manager-to-your-organization.md | 2 +- ...r-permissions-to-an-organization-member.md | 6 +- .../index.md | 6 +- ...ership-continuity-for-your-organization.md | 6 +- .../permission-levels-for-an-organization.md | 16 +- ...-billing-manager-from-your-organization.md | 2 +- ...ess-management-with-saml-single-sign-on.md | 2 +- .../about-scim.md | 2 +- ...f-your-identity-provider-is-unavailable.md | 2 +- ...saml-single-sign-on-and-scim-using-okta.md | 2 +- ...-identity-provider-to-your-organization.md | 2 +- ...ions-saml-single-sign-on-recovery-codes.md | 2 +- ...ml-single-sign-on-for-your-organization.md | 2 +- ...ml-single-sign-on-for-your-organization.md | 2 +- .../index.md | 2 +- ...m-synchronization-for-your-organization.md | 2 +- ...aml-single-sign-on-in-your-organization.md | 2 +- ...am-to-improved-organization-permissions.md | 4 +- ...am-to-improved-organization-permissions.md | 4 +- .../index.md | 4 +- ...ms-to-improved-organization-permissions.md | 4 +- .../about-teams.md | 8 +- .../adding-organization-members-to-a-team.md | 10 +- .../changing-team-visibility.md | 6 +- .../creating-a-team.md | 8 +- .../deleting-a-team.md | 6 +- ...-team-discussions-for-your-organization.md | 6 +- .../organizing-members-into-teams/index.md | 6 +- ...ng-code-review-assignment-for-your-team.md | 6 +- ...aging-scheduled-reminders-for-your-team.md | 2 +- ...-a-team-in-your-organizations-hierarchy.md | 6 +- ...moving-organization-members-from-a-team.md | 6 +- .../renaming-a-team.md | 6 +- .../requesting-to-add-a-child-team.md | 6 +- ...questing-to-add-or-change-a-parent-team.md | 6 +- .../setting-your-teams-profile-picture.md | 6 +- ...-a-team-with-an-identity-provider-group.md | 34 ++-- .../about-oauth-app-access-restrictions.md | 2 +- ...roving-oauth-apps-for-your-organization.md | 2 +- ...pproved-oauth-app-for-your-organization.md | 2 +- ...cess-restrictions-for-your-organization.md | 2 +- ...cess-restrictions-for-your-organization.md | 2 +- .../index.md | 2 +- content/packages/index.md | 12 +- .../about-permissions-for-github-packages.md | 24 +-- ...-packages-access-control-and-visibility.md | 2 +- .../connecting-a-repository-to-a-package.md | 2 +- .../deleting-a-package.md | 18 +- .../deleting-and-restoring-a-package.md | 20 +- .../packages/learn-github-packages/index.md | 6 +- .../installing-a-package.md | 8 +- .../introduction-to-github-packages.md | 34 ++-- .../publishing-a-package.md | 10 +- .../learn-github-packages/viewing-packages.md | 12 +- ...bout-github-packages-and-github-actions.md | 8 +- ...mple-workflows-for-publishing-a-package.md | 8 +- .../index.md | 6 +- ...nstalling-a-package-with-github-actions.md | 44 ++-- content/packages/quickstart.md | 16 +- .../index.md | 8 +- ...ainer-registry-from-the-docker-registry.md | 2 +- .../working-with-the-apache-maven-registry.md | 22 +- .../working-with-the-container-registry.md | 2 +- .../working-with-the-docker-registry.md | 62 +++--- .../working-with-the-gradle-registry.md | 20 +- .../working-with-the-npm-registry.md | 46 ++--- .../working-with-the-nuget-registry.md | 32 +-- .../working-with-the-rubygems-registry.md | 34 ++-- .../about-custom-domains-and-github-pages.md | 2 +- .../index.md | 2 +- ...ustom-domain-for-your-github-pages-site.md | 2 +- ...hooting-custom-domains-and-github-pages.md | 2 +- .../about-github-pages.md | 34 ++-- ...ithub-pages-site-with-the-theme-chooser.md | 2 +- ...he-visibility-of-your-github-pages-site.md | 6 +- ...shing-source-for-your-github-pages-site.md | 14 +- ...tom-404-page-for-your-github-pages-site.md | 6 +- .../creating-a-github-pages-site.md | 12 +- .../index.md | 6 +- ...uring-your-github-pages-site-with-https.md | 2 +- .../unpublishing-a-github-pages-site.md | 8 +- .../using-submodules-with-github-pages.md | 2 +- content/pages/index.md | 6 +- .../about-github-pages-and-jekyll.md | 10 +- ...yll-build-errors-for-github-pages-sites.md | 8 +- ...-to-your-github-pages-site-using-jekyll.md | 6 +- ...-to-your-github-pages-site-using-jekyll.md | 6 +- ...reating-a-github-pages-site-with-jekyll.md | 12 +- .../index.md | 6 +- ...for-your-github-pages-site-using-jekyll.md | 6 +- ...r-github-pages-site-locally-with-jekyll.md | 6 +- ...yll-build-errors-for-github-pages-sites.md | 10 +- .../rest/guides/basics-of-authentication.md | 10 +- .../guides/best-practices-for-integrators.md | 14 +- content/rest/guides/building-a-ci-server.md | 6 +- content/rest/guides/delivering-deployments.md | 6 +- .../discovering-resources-for-a-user.md | 8 +- .../getting-started-with-the-checks-api.md | 8 +- ...tting-started-with-the-git-database-api.md | 6 +- .../getting-started-with-the-rest-api.md | 28 +-- content/rest/guides/index.md | 6 +- .../rest/guides/rendering-data-as-graphs.md | 6 +- .../rest/guides/traversing-with-pagination.md | 6 +- content/rest/guides/working-with-comments.md | 6 +- content/rest/index.md | 6 +- content/rest/overview/api-previews.md | 26 +-- .../endpoints-available-for-github-apps.md | 6 +- content/rest/overview/index.md | 6 +- content/rest/overview/libraries.md | 6 +- content/rest/overview/media-types.md | 6 +- content/rest/overview/openapi-description.md | 4 +- .../overview/other-authentication-methods.md | 24 +-- .../overview/resources-in-the-rest-api.md | 34 ++-- content/rest/overview/troubleshooting.md | 8 +- content/rest/reference/actions.md | 8 +- content/rest/reference/activity.md | 8 +- content/rest/reference/apps.md | 10 +- content/rest/reference/billing.md | 2 +- content/rest/reference/checks.md | 6 +- content/rest/reference/code-scanning.md | 8 +- content/rest/reference/codes-of-conduct.md | 6 +- content/rest/reference/emojis.md | 6 +- content/rest/reference/enterprise-admin.md | 54 ++--- content/rest/reference/gists.md | 8 +- content/rest/reference/git.md | 6 +- content/rest/reference/gitignore.md | 6 +- content/rest/reference/index.md | 6 +- content/rest/reference/interactions.md | 2 +- content/rest/reference/issues.md | 6 +- content/rest/reference/licenses.md | 6 +- content/rest/reference/markdown.md | 6 +- content/rest/reference/meta.md | 6 +- content/rest/reference/migrations.md | 2 +- .../rest/reference/oauth-authorizations.md | 2 +- content/rest/reference/orgs.md | 8 +- content/rest/reference/packages.md | 2 +- .../permissions-required-for-github-apps.md | 154 +++++++------- content/rest/reference/projects.md | 6 +- content/rest/reference/pulls.md | 6 +- content/rest/reference/rate-limit.md | 6 +- content/rest/reference/reactions.md | 6 +- content/rest/reference/repos.md | 18 +- content/rest/reference/scim.md | 2 +- content/rest/reference/search.md | 6 +- content/rest/reference/secret-scanning.md | 6 +- content/rest/reference/teams.md | 10 +- content/rest/reference/users.md | 12 +- .../about-github-sponsors.md | 2 +- .../index.md | 2 +- ...art-for-finding-contributors-to-sponsor.md | 2 +- content/sponsors/guides.md | 5 +- content/sponsors/index.md | 2 +- ...ks-for-events-in-your-sponsored-account.md | 2 +- ...g-started-with-the-sponsors-graphql-api.md | 2 +- .../integrating-with-github-sponsors/index.md | 2 +- ...b-sponsors-for-open-source-contributors.md | 2 +- .../contacting-your-sponsors.md | 2 +- .../disabling-your-github-sponsors-account.md | 2 +- ...our-profile-details-for-github-sponsors.md | 2 +- .../index.md | 2 +- ...aging-your-payouts-from-github-sponsors.md | 2 +- .../managing-your-sponsorship-goal.md | 2 +- .../managing-your-sponsorship-tiers.md | 2 +- ...p-github-sponsors-for-your-organization.md | 2 +- ...p-github-sponsors-for-your-user-account.md | 2 +- .../tax-information-for-github-sponsors.md | 2 +- ...publishing-your-github-sponsors-profile.md | 2 +- .../viewing-your-sponsors-and-sponsorships.md | 2 +- ...uting-sponsorships-to-your-organization.md | 2 +- .../index.md | 2 +- .../managing-your-sponsorship.md | 2 +- .../sponsoring-an-open-source-contributor.md | 2 +- data/glossaries/external.yml | 10 +- data/learning-tracks/code-security.yml | 20 +- .../code-security/code-examples.yml | 6 +- data/reusables/actions/about-secrets.md | 2 +- .../actions/actions-authentication.md | 2 +- .../actions-not-certified-by-github.md | 2 +- .../actions/actions-use-policy-settings.md | 2 +- data/reusables/actions/ae-beta.md | 2 +- .../actions/ae-self-hosted-runners-notice.md | 2 +- .../actions/allow-specific-actions-intro.md | 2 +- data/reusables/actions/choose-repo.md | 2 +- data/reusables/actions/commit-workflow.md | 2 +- data/reusables/actions/concurrency-beta.md | 2 +- .../actions/enterprise-actions-permissions.md | 2 +- data/reusables/actions/enterprise-beta.md | 2 +- .../actions/enterprise-enable-checkbox.md | 2 +- .../enterprise-github-connect-warning.md | 2 +- .../enterprise-github-hosted-runners.md | 2 +- .../actions/enterprise-marketplace-actions.md | 2 +- .../actions/enterprise-s3-support-warning.md | 2 +- .../actions/enterprise-setup-prereq.md | 2 +- data/reusables/actions/forked-secrets.md | 2 +- data/reusables/actions/make-workflow-file.md | 2 +- .../actions/workflow-runs-dependabot-note.md | 2 +- .../actions/workflow-template-overview.md | 2 +- .../about-committer-numbers-ghec-ghes.md | 2 +- .../about-ghas-organization-policy.md | 2 +- .../ghas-helps-developers.md | 2 +- .../managing-license-usage-ghec-ghes.md | 2 +- .../advanced-security/more-info-ghas.md | 2 +- ...re-information-about-enforcement-policy.md | 2 +- .../note-org-enable-uses-seats.md | 6 +- .../deprecating_auth_with_query_parameters.md | 6 +- .../expiring_user_authorization_tokens.md | 2 +- .../apps/general-apps-restrictions.md | 2 +- .../reusables/apps/ip-allow-list-only-apps.md | 2 +- .../apps/maximum-github-apps-allowed.md | 2 +- .../apps/maximum-oauth-apps-allowed.md | 2 +- .../reusables/apps/oauth-apps-restrictions.md | 2 +- data/reusables/apps/oauth-token-limit.md | 2 +- .../apps/optional_feature_activation.md | 6 +- data/reusables/branches/set-default-branch.md | 2 +- .../assignments-guide-prevent-changes.md | 2 +- .../assignments-guide-using-autograding.md | 2 +- .../you-can-choose-a-template-repository.md | 2 +- data/reusables/cli/cli-manual.md | 2 +- data/reusables/cli/cli-repo.md | 2 +- data/reusables/cli/download-update-cli.md | 2 +- .../filter-issues-and-pull-requests-tip.md | 2 +- .../code-scanning/beta-codeql-runner.md | 2 +- data/reusables/code-scanning/beta.md | 4 +- .../choose-alert-dismissal-reason.md | 2 +- .../code-scanning/click-alert-in-list.md | 2 +- .../codeql-runner-analyze-example.md | 6 +- .../code-scanning/enabling-options.md | 2 +- ...enterprise-enable-code-scanning-actions.md | 2 +- .../enterprise-enable-code-scanning.md | 2 +- .../false-positive-fix-codeql.md | 2 +- .../reusables/code-scanning/licensing-note.md | 4 +- data/reusables/code-scanning/not-available.md | 2 +- .../code-scanning/run-additional-queries.md | 2 +- .../code-scanning/upload-sarif-alert-limit.md | 2 +- .../code-scanning/upload-sarif-ghas.md | 4 +- .../use-codeql-runner-not-cli.md | 4 +- .../code-scanning/what-is-codeql-cli.md | 2 +- .../codespaces/about-port-forwarding.md | 2 +- .../codespaces/apply-devcontainer-changes.md | 2 +- .../click-remote-explorer-icon-vscode.md | 2 +- .../committing-link-to-procedure.md | 2 +- data/reusables/codespaces/recovery-mode.md | 2 +- .../reusables/codespaces/secret-precedence.md | 2 +- data/reusables/codespaces/secrets-naming.md | 2 +- data/reusables/codespaces/secrets-on-start.md | 2 +- .../codespaces/source-control-display-dark.md | 2 +- .../codespaces/source-control-display.md | 2 +- data/reusables/codespaces/type-port-label.md | 2 +- .../your-codespaces-procedure-step.md | 2 +- .../command_line/provide-an-access-token.md | 2 +- .../community/interaction-limits-duration.md | 2 +- .../interaction-limits-restrictions.md | 2 +- data/reusables/community/issue-forms-beta.md | 2 +- .../reusables/community/issue-forms-sample.md | 2 +- .../community/set-interaction-limit.md | 2 +- .../community/types-of-interaction-limits.md | 2 +- .../dependabot/dependabot-secrets-button.md | 2 +- .../dependabot/pull-request-introduction.md | 2 +- .../desktop/click-changed-files-header.md | 2 +- data/reusables/desktop/click-clone.md | 2 +- .../desktop/click-stash-all-changes.md | 2 +- .../desktop/click-stashed-changes.md | 2 +- .../desktop/cloning-repository-list.md | 2 +- data/reusables/desktop/delete-tag.md | 2 +- data/reusables/desktop/fork-type-prompt.md | 2 +- .../desktop/navigate-to-stashed-changes.md | 2 +- .../desktop/open-repository-settings.md | 2 +- .../reusables/desktop/select-fork-behavior.md | 2 +- .../pull_request_forked_repos_link.md | 2 +- .../discussions/you-can-label-discussions.md | 2 +- .../discussions/you-can-use-discussions.md | 2 +- .../you-cannot-convert-a-discussion.md | 2 +- .../dotcom_billing/choose_org_plan.md | 2 +- .../enterprise-accounts/access-enterprise.md | 6 +- .../actions-runners-tab.md | 2 +- .../approved-domains-beta-note.md | 2 +- .../billing-microsoft-ea-overview.md | 2 +- .../enterprise-administrators.md | 2 +- .../enterprise-accounts/license-tab.md | 2 +- .../enterprise-accounts/options-tab.md | 2 +- .../enterprise-accounts/pages-tab.md | 2 +- .../enterprise-accounts/security-tab.md | 2 +- .../support-entitlements.md | 2 +- .../verified-domains-tab.md | 2 +- .../enterprise-managed/about-billing.md | 2 +- data/reusables/enterprise/rate_limit.md | 2 +- .../submit-support-ticket-first-section.md | 12 +- .../submit-support-ticket-second-section.md | 2 +- .../disable-github-pages-warning.md | 4 +- .../hardware-considerations-all-platforms.md | 10 +- .../hardware-rec-table.md | 18 +- .../image-urls-viewable-warning.md | 2 +- .../enterprise_installation/replica-limit.md | 2 +- .../upgrade-hardware-requirements.md | 4 +- .../when-9418-necessary.md | 2 +- .../advanced-security-license.md | 2 +- .../about-ssh-access.md | 2 +- .../about-the-management-console.md | 2 +- .../about-the-site-admin-dashboard.md | 2 +- .../business.md | 4 +- .../message-preview-save.md | 2 +- .../ldap-sync-nested-teams.md | 4 +- .../feature-preview-setting.md | 2 +- data/reusables/files/add-file.md | 2 +- data/reusables/files/choose-commit-email.md | 2 +- .../files/commit-author-email-options.md | 2 +- .../reusables/form-schema/attributes-intro.md | 2 +- .../form-schema/id-must-be-unique.md | 2 +- data/reusables/form-schema/options-syntax.md | 2 +- data/reusables/form-schema/required-key.md | 2 +- .../form-schema/validations-intro.md | 2 +- data/reusables/gated-features/actions.md | 2 +- data/reusables/gated-features/auto-merge.md | 2 +- data/reusables/gated-features/autolinks.md | 2 +- data/reusables/gated-features/code-owners.md | 2 +- .../gated-features/code-review-assignment.md | 2 +- .../reusables/gated-features/code-scanning.md | 6 +- .../reusables/gated-features/display-names.md | 2 +- data/reusables/gated-features/draft-prs.md | 2 +- .../gated-features/enterprise-accounts.md | 2 +- data/reusables/gated-features/environments.md | 2 +- data/reusables/gated-features/ghas.md | 2 +- .../gated-features/github-insights.md | 2 +- .../gated-features/internal-repos.md | 2 +- .../gated-features/more-info-org-products.md | 2 +- data/reusables/gated-features/more-info.md | 2 +- .../gated-features/okta-team-sync.md | 2 +- data/reusables/gated-features/packages.md | 2 +- data/reusables/gated-features/pages.md | 2 +- .../gated-features/protected-branches.md | 2 +- .../gated-features/repository-insights.md | 2 +- data/reusables/gated-features/saml-sso.md | 2 +- .../gated-features/secret-scanning.md | 8 +- .../gated-features/security-center.md | 2 +- .../ssh-certificate-authorities.md | 2 +- .../gated-features/team-synchronization.md | 2 +- data/reusables/gated-features/wikis.md | 2 +- .../gist/anonymous-gists-cannot-be-deleted.md | 2 +- .../cannot-convert-public-gists-to-secret.md | 2 +- .../artifact-log-retention-statement.md | 4 +- ...nge-retention-period-for-artifacts-logs.md | 2 +- .../disabling-github-actions.md | 2 +- .../github-actions/forked-write-permission.md | 2 +- .../github-token-available-permissions.md | 2 +- .../github-token-permissions.md | 2 +- .../ip-allow-list-self-hosted-runners.md | 2 +- .../publish-to-packages-workflow-step.md | 2 +- ...ed-runner-configure-runner-group-access.md | 2 +- .../github-actions/self-hosted-runner-list.md | 2 +- ...-runner-management-permissions-required.md | 6 +- ...-runner-navigate-to-repo-org-enterprise.md | 6 +- .../self-hosted-runner-removing-a-runner.md | 2 +- .../settings-sidebar-actions-runners.md | 2 +- .../usage-workflow-queue-limits.md | 2 +- .../workflow-permissions-modifying.md | 2 +- data/reusables/github-ae/about-billing.md | 2 +- .../github-insights/enterprise-api-url.md | 2 +- data/reusables/gpg/private-email.md | 2 +- .../vigilant-mode-beta-note.md | 2 +- .../can-include-lfs-objects-archives.md | 2 +- .../large_files/storage_assets_location.md | 4 +- .../mobile/push-notifications-on-ghes.md | 2 +- .../custom-notification-types.md | 4 +- .../email-notification-caveats.md | 2 +- .../notifications/outbound_email_tip.md | 2 +- data/reusables/notifications/shared_state.md | 2 +- ...ification-delivery-method-customization.md | 4 +- ...nerable-dependency-notification-options.md | 12 +- .../organizations/add-dns-txt-record.md | 2 +- data/reusables/organizations/add-domain.md | 2 +- .../organizations/cancel_org_invite.md | 2 +- .../choose-to-restore-privileges.md | 2 +- .../choose-user-role-send-invitation.md | 2 +- .../continue-verifying-domain.md | 2 +- .../organizations/filter-security-overview.md | 2 +- .../internal-repos-enterprise.md | 2 +- .../invite_member_from_people_tab.md | 2 +- data/reusables/organizations/invite_to_org.md | 2 +- .../reusables/organizations/invite_to_team.md | 2 +- .../organizations/oauth_app_access.md | 2 +- .../oauth_app_restrictions_default.md | 2 +- .../organizations/organizations_include.md | 6 +- .../outside-collaborators-use-seats.md | 2 +- .../restrict-email-notifications.md | 2 +- .../organizations/security-overview.md | 2 +- data/reusables/organizations/security.md | 4 +- .../organizations/send-invitation.md | 2 +- .../organizations/team-synchronization.md | 2 +- .../organizations/team_maintainers_can.md | 4 +- .../organizations/verified-domains-details.md | 2 +- .../about-packaging-and-actions.md | 2 +- .../admins-can-configure-package-types.md | 2 +- .../authenticate-packages-github-token.md | 2 +- .../package_registry/authenticate-packages.md | 2 +- ...nticate_with_pat_for_container_registry.md | 2 +- .../package_registry/checksum-maven-plugin.md | 2 +- .../create-npmrc-owner-step.md | 2 +- .../docker_registry_deprecation_status.md | 2 +- .../enable-enterprise-github-packages.md | 2 +- .../packages-cluster-support.md | 2 +- .../packages-from-code-tab.md | 2 +- .../packages-ghae-release-stage.md | 2 +- .../packages-ghes-release-stage.md | 2 +- .../public-or-private-packages.md | 2 +- .../package_registry/publish-docker-image.md | 2 +- .../visibility-and-access-permissions.md | 2 +- data/reusables/pages/admin-must-push.md | 2 +- .../pages/best-with-supported-themes.md | 2 +- .../pages/build-failure-email-server.md | 2 +- data/reusables/pages/choose-visibility.md | 2 +- .../pages/decide-publishing-source.md | 2 +- data/reusables/pages/new-or-existing-repo.md | 4 +- .../org-owners-can-restrict-pages-creation.md | 4 +- .../pages/private_pages_are_public_warning.md | 2 +- data/reusables/pages/sidebar-pages.md | 2 +- .../pages/twenty-minutes-to-publish.md | 2 +- .../pages/update_your_dns_settings.md | 2 +- data/reusables/policies/abuse.md | 2 +- .../expiring-user-access-tokens.md | 4 +- .../machine-man-preview.md | 2 +- .../pre-release-program/sailor-v-preview.md | 2 +- data/reusables/profile/access_org.md | 4 +- data/reusables/profile/access_profile.md | 2 +- data/reusables/profile/org_settings.md | 4 +- .../project-management/choose-visibility.md | 4 +- .../project-management/copy-project-boards.md | 2 +- .../project-board-visibility.md | 2 +- data/reusables/projects/api-beta.md | 2 +- .../projects/open-command-palette.md | 2 +- data/reusables/projects/project_boards_old.md | 4 +- .../close-issues-using-keywords.md | 2 +- ...ollect-co-author-commit-git-config-info.md | 2 +- .../perms-to-open-pull-request.md | 2 +- .../pull_request_merges_and_contributions.md | 2 +- .../pull_requests/resolving-conversations.md | 2 +- .../pull_requests/you-can-auto-merge.md | 2 +- .../repositories/about-internal-repos.md | 2 +- .../repositories/blocked-passwords.md | 2 +- data/reusables/repositories/changed-files.md | 2 +- data/reusables/repositories/copy-clone-url.md | 6 +- data/reusables/repositories/create-repo.md | 2 +- .../repositories/default-issue-templates.md | 2 +- ...forks_from_private_repositories_warning.md | 4 +- .../repositories/dependency-review.md | 4 +- .../repositories/enable-security-alerts.md | 4 +- .../repositories/internal-repo-default.md | 2 +- .../navigate-to-job-superlinter.md | 4 +- .../navigate-to-workflow-superlinter.md | 2 +- .../repositories/new-pull-request.md | 2 +- .../repositories/open-with-github-desktop.md | 2 +- data/reusables/repositories/releases.md | 2 +- .../reusables/repositories/repo-size-limit.md | 2 +- .../request-security-advisory-cve-id.md | 2 +- .../security-alert-delivery-options.md | 6 +- .../security-alerts-x-github-severity.md | 2 +- .../repositories/security-guidelines.md | 2 +- .../repositories/select-marketplace-apps.md | 2 +- .../repositories/sidebar-dependabot-alerts.md | 2 +- data/reusables/repositories/sidebar-issues.md | 2 +- data/reusables/repositories/sidebar-pr.md | 2 +- ...quash-and-rebase-linear-commit-hisitory.md | 2 +- .../repositories/start-line-comment.md | 2 +- .../reusables/repositories/suggest-changes.md | 2 +- .../repositories/transfer-repository-steps.md | 2 +- .../view-failed-job-results-superlinter.md | 6 +- .../repositories/view-run-superlinter.md | 2 +- .../view-specific-line-superlinter.md | 6 +- .../repositories/workflow-notifications.md | 2 +- data/reusables/repositories/you-can-fork.md | 8 +- .../rest-api/dotcom-only-guide-note.md | 2 +- .../you-must-periodically-authenticate.md | 2 +- .../scim/after-you-configure-saml.md | 2 +- data/reusables/scim/supported-idps.md | 2 +- data/reusables/search/syntax_tips.md | 2 +- .../secret-scanning/about-secret-scanning.md | 2 +- data/reusables/secret-scanning/api-beta.md | 4 +- data/reusables/secret-scanning/beta.md | 4 +- .../enterprise-enable-secret-scanning.md | 2 +- .../partner-secret-list-private-repo.md | 188 +++++++++--------- .../secret-scanning-process.md | 2 +- .../link-browsing-advisory-db.md | 2 +- .../security-advisory-overview.md | 2 +- .../security/displayed-information.md | 2 +- ...-and-analysis-features-enable-read-only.md | 2 +- ...nalysis-features-are-enabled-by-default.md | 4 +- data/reusables/sponsors/activity-tab.md | 2 +- data/reusables/sponsors/manage-sponsorship.md | 2 +- .../sponsors/org-sponsors-release-phase.md | 2 +- .../reusables/sponsors/pay-prorated-amount.md | 2 +- data/reusables/sponsors/sponsor-account.md | 2 +- .../support/contacting-premium-support.md | 2 +- ...nterprise-resolving-and-closing-tickets.md | 2 +- data/reusables/support/receiving-credits.md | 2 +- data/reusables/supported-languages/C.md | 2 +- data/reusables/supported-languages/Cpp.md | 2 +- data/reusables/supported-languages/Cs.md | 2 +- data/reusables/supported-languages/go.md | 2 +- data/reusables/supported-languages/java.md | 2 +- .../supported-languages/javascript.md | 2 +- data/reusables/supported-languages/php.md | 2 +- .../products-table-header.md | 8 +- data/reusables/supported-languages/python.md | 2 +- data/reusables/supported-languages/ruby.md | 2 +- data/reusables/supported-languages/scala.md | 2 +- .../supported-languages/typescript.md | 2 +- .../two_fa/after-2fa-add-security-key.md | 2 +- data/reusables/two_fa/auth_methods_2fa.md | 4 +- ...to-reinstate-user-before-2fa-is-enabled.md | 2 +- .../user-settings/marketplace_apps.md | 2 +- .../about-commit-email-addresses.md | 2 +- data/reusables/user_settings/access_org.md | 4 +- .../user_settings/add_and_verify_email.md | 6 +- .../codespaces-secret-repository-access.md | 2 +- .../user_settings/codespaces-secret-value.md | 2 +- .../reusables/user_settings/codespaces-tab.md | 2 +- .../user_settings/context_switcher.md | 2 +- data/reusables/user_settings/export-data.md | 2 +- .../link_email_with_your_account.md | 4 +- .../password-authentication-deprecation.md | 2 +- .../user_settings/personal_dashboard.md | 2 +- data/reusables/user_settings/security.md | 2 +- .../set_your_email_address_in_git.md | 2 +- .../webhooks/check_run_properties.md | 4 +- .../webhooks/check_suite_properties.md | 2 +- data/reusables/webhooks/create_properties.md | 2 +- data/reusables/webhooks/discussion_desc.md | 2 +- .../webhooks/discussions-webhooks-beta.md | 2 +- .../webhooks/installation_properties.md | 2 +- .../pull_request_webhook_properties.md | 2 +- data/reusables/webhooks/pusher_type_desc.md | 2 +- data/reusables/webhooks/repo_desc_graphql.md | 2 +- data/reusables/webhooks/secret.md | 2 +- .../webhooks/webhooks-rest-api-links.md | 4 +- data/variables/command_line.yml | 6 +- data/variables/contact.yml | 10 +- data/variables/explore.yml | 6 +- data/variables/gists.yml | 6 +- data/variables/notifications.yml | 4 +- data/variables/product.yml | 28 +-- data/variables/search.yml | 4 +- 1976 files changed, 6155 insertions(+), 6133 deletions(-) diff --git a/content/actions/creating-actions/about-actions.md b/content/actions/creating-actions/about-actions.md index 9171922a2d..00e6efdeba 100644 --- a/content/actions/creating-actions/about-actions.md +++ b/content/actions/creating-actions/about-actions.md @@ -8,9 +8,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/about-actions - /actions/building-actions/about-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - Action development @@ -25,7 +25,7 @@ topics: You can create actions by writing custom code that interacts with your repository in any way you'd like, including integrating with {% data variables.product.prodname_dotcom %}'s APIs and any publicly available third-party API. For example, an action can publish npm modules, send SMS alerts when urgent issues are created, or deploy production-ready code. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can write your own actions to use in your workflow or share the actions you build with the {% data variables.product.prodname_dotcom %} community. To share actions you've built, your repository must be public. {% endif %} @@ -65,11 +65,11 @@ A _composite run steps_ action allows you to combine multiple workflow run steps If you're developing an action for other people to use, we recommend keeping the action in its own repository instead of bundling it with other application code. This allows you to version, track, and release the action just like any other software. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Storing an action in its own repository makes it easier for the {% data variables.product.prodname_dotcom %} community to discover the action, narrows the scope of the code base for developers fixing issues and extending the action, and decouples the action's versioning from the versioning of other application code. {% endif %} -{% if currentVersion == "free-pro-team@latest" %}If you're building an action that you don't plan to make available to the public, you {% else %} You{% endif %} can store the action's files in any location in your repository. If you plan to combine action, workflow, and application code in a single repository, we recommend storing actions in the `.github` directory. For example, `.github/actions/action-a` and `.github/actions/action-b`. +{% ifversion fpt %}If you're building an action that you don't plan to make available to the public, you {% else %} You{% endif %} can store the action's files in any location in your repository. If you plan to combine action, workflow, and application code in a single repository, we recommend storing actions in the `.github` directory. For example, `.github/actions/action-a` and `.github/actions/action-b`. ## Compatibility with {% data variables.product.prodname_ghe_server %} @@ -127,7 +127,7 @@ steps: ### Using a commit's SHA for release management -Each Git commit receives a calculated SHA value, which is unique and immutable. Your action's users might prefer to rely on a commit's SHA value, as this approach can be more reliable than specifying a tag, which could be deleted or moved. However, this means that users will not receive further updates made to the action. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}You must use a commit's full SHA value, and not an abbreviated value.{% else %}Using a commit's full SHA value instead of the abbreviated value can help prevent people from using a malicious commit that uses the same abbreviation.{% endif %} +Each Git commit receives a calculated SHA value, which is unique and immutable. Your action's users might prefer to rely on a commit's SHA value, as this approach can be more reliable than specifying a tag, which could be deleted or moved. However, this means that users will not receive further updates made to the action. {% ifversion fpt or ghes > 3.0 or ghae %}You must use a commit's full SHA value, and not an abbreviated value.{% else %}Using a commit's full SHA value instead of the abbreviated value can help prevent people from using a malicious commit that uses the same abbreviation.{% endif %} ```yaml steps: diff --git a/content/actions/creating-actions/creating-a-composite-run-steps-action.md b/content/actions/creating-actions/creating-a-composite-run-steps-action.md index e04bdba83a..aba1d87778 100644 --- a/content/actions/creating-actions/creating-a-composite-run-steps-action.md +++ b/content/actions/creating-actions/creating-a-composite-run-steps-action.md @@ -3,9 +3,9 @@ title: Creating a composite run steps action intro: 'In this guide, you''ll learn how to build a composite run steps action.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Action development diff --git a/content/actions/creating-actions/creating-a-docker-container-action.md b/content/actions/creating-actions/creating-a-docker-container-action.md index c2d40e975a..261646ff85 100644 --- a/content/actions/creating-actions/creating-a-docker-container-action.md +++ b/content/actions/creating-actions/creating-a-docker-container-action.md @@ -8,9 +8,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/creating-a-docker-container-action - /actions/building-actions/creating-a-docker-container-action versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Action development @@ -36,7 +36,7 @@ Once you complete this project, you should understand how to build your own Dock You may find it helpful to have a basic understanding of {% data variables.product.prodname_actions %} environment variables and the Docker container filesystem: - "[Using environment variables](/actions/automating-your-workflow-with-github-actions/using-environment-variables)" -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} - "[Docker container filesystem](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)." {% else %} - "[Virtual environments for {% data variables.product.prodname_dotcom %}](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners#docker-container-filesystem)" @@ -185,7 +185,7 @@ Now you're ready to test your action out in a workflow. When an action is in a p ### Example using a public action -The following workflow code uses the completed _hello world_ action in the public [`actions/hello-world-docker-action`](https://github.com/actions/hello-world-docker-action) repository. Copy the following workflow example code into a `.github/workflows/main.yml` file, but replace the `actions/hello-world-docker-action` with your repository and action name. You can also replace the `who-to-greet` input with your name. {% if currentVersion == "free-pro-team@latest" %}Public actions can be used even if they're not published to {% data variables.product.prodname_marketplace %}. For more information, see "[Publishing an action](/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)." {% endif %} +The following workflow code uses the completed _hello world_ action in the public [`actions/hello-world-docker-action`](https://github.com/actions/hello-world-docker-action) repository. Copy the following workflow example code into a `.github/workflows/main.yml` file, but replace the `actions/hello-world-docker-action` with your repository and action name. You can also replace the `who-to-greet` input with your name. {% ifversion fpt %}Public actions can be used even if they're not published to {% data variables.product.prodname_marketplace %}. For more information, see "[Publishing an action](/actions/creating-actions/publishing-actions-in-github-marketplace#publishing-an-action)." {% endif %} {% raw %} **.github/workflows/main.yml** @@ -210,7 +210,7 @@ jobs: ### Example using a private action -Copy the following example workflow code into a `.github/workflows/main.yml` file in your action's repository. You can also replace the `who-to-greet` input with your name. {% if currentVersion == "free-pro-team@latest" %}This private action can't be published to {% data variables.product.prodname_marketplace %}, and can only be used in this repository.{% endif %} +Copy the following example workflow code into a `.github/workflows/main.yml` file in your action's repository. You can also replace the `who-to-greet` input with your name. {% ifversion fpt %}This private action can't be published to {% data variables.product.prodname_marketplace %}, and can only be used in this repository.{% endif %} {% raw %} **.github/workflows/main.yml** @@ -237,9 +237,9 @@ jobs: ``` {% endraw %} -From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. +From your repository, click the **Actions** tab, and select the latest workflow run. {% ifversion fpt or ghes > 3.0 or ghae %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/docker-action-workflow-run-updated.png) {% else %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/docker-action-workflow-run.png) diff --git a/content/actions/creating-actions/creating-a-javascript-action.md b/content/actions/creating-actions/creating-a-javascript-action.md index 03ec2bb3e6..167f47f74a 100644 --- a/content/actions/creating-actions/creating-a-javascript-action.md +++ b/content/actions/creating-actions/creating-a-javascript-action.md @@ -8,9 +8,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/creating-a-javascript-action - /actions/building-actions/creating-a-javascript-action versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Action development @@ -270,11 +270,11 @@ jobs: ``` {% endraw %} -From your repository, click the **Actions** tab, and select the latest workflow run. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. +From your repository, click the **Actions** tab, and select the latest workflow run. {% ifversion fpt or ghes > 3.0 or ghae %}Under **Jobs** or in the visualization graph, click **A job to say hello**. {% endif %}You should see "Hello Mona the Octocat" or the name you used for the `who-to-greet` input and the timestamp printed in the log. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/javascript-action-workflow-run-updated-2.png) -{% elsif currentVersion ver_gt "enterprise-server@2.22" %} +{% elsif ghes > 2.22 %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/javascript-action-workflow-run-updated.png) {% else %} ![A screenshot of using your action in a workflow](/assets/images/help/repository/javascript-action-workflow-run.png) diff --git a/content/actions/creating-actions/dockerfile-support-for-github-actions.md b/content/actions/creating-actions/dockerfile-support-for-github-actions.md index 26f5ee32f3..0a01b69441 100644 --- a/content/actions/creating-actions/dockerfile-support-for-github-actions.md +++ b/content/actions/creating-actions/dockerfile-support-for-github-actions.md @@ -6,10 +6,10 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/building-actions/dockerfile-support-for-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'reference' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: reference --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/creating-actions/index.md b/content/actions/creating-actions/index.md index ed02ad2581..f445462ad4 100644 --- a/content/actions/creating-actions/index.md +++ b/content/actions/creating-actions/index.md @@ -8,9 +8,9 @@ redirect_from: - /actions/building-actions - /articles/creating-a-github-action/ versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /about-actions - /creating-a-docker-container-action diff --git a/content/actions/creating-actions/metadata-syntax-for-github-actions.md b/content/actions/creating-actions/metadata-syntax-for-github-actions.md index b14d8071ea..ccdb06f677 100644 --- a/content/actions/creating-actions/metadata-syntax-for-github-actions.md +++ b/content/actions/creating-actions/metadata-syntax-for-github-actions.md @@ -9,10 +9,10 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions - /actions/building-actions/metadata-syntax-for-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'reference' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: reference --- {% data reusables.actions.enterprise-beta %} @@ -253,7 +253,7 @@ For more information, see "[`github context`](/actions/reference/context-and-exp #### `runs.steps[*].env` -**Optional** Sets a `map` of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`echo "{name}={value}" >> $GITHUB_ENV`{% else %}`echo "::set-env name={name}::{value}"`{% endif %} in a composite run step. +**Optional** Sets a `map` of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use {% ifversion fpt or ghes > 2.22 or ghae %}`echo "{name}={value}" >> $GITHUB_ENV`{% else %}`echo "::set-env name={name}::{value}"`{% endif %} in a composite run step. #### `runs.steps[*].working-directory` diff --git a/content/actions/creating-actions/publishing-actions-in-github-marketplace.md b/content/actions/creating-actions/publishing-actions-in-github-marketplace.md index da47ef3043..22d46d5944 100644 --- a/content/actions/creating-actions/publishing-actions-in-github-marketplace.md +++ b/content/actions/creating-actions/publishing-actions-in-github-marketplace.md @@ -7,8 +7,8 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/publishing-actions-in-github-marketplace - /actions/building-actions/publishing-actions-in-github-marketplace versions: - free-pro-team: '*' -type: 'how_to' + fpt: '*' +type: how_to --- {% data reusables.actions.ae-beta %} diff --git a/content/actions/creating-actions/setting-exit-codes-for-actions.md b/content/actions/creating-actions/setting-exit-codes-for-actions.md index fee5ac739f..2f8bd9b239 100644 --- a/content/actions/creating-actions/setting-exit-codes-for-actions.md +++ b/content/actions/creating-actions/setting-exit-codes-for-actions.md @@ -6,10 +6,10 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/building-actions/setting-exit-codes-for-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'how_to' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: how_to --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/guides/about-continuous-integration.md b/content/actions/guides/about-continuous-integration.md index 524a4329d7..f2991489fb 100644 --- a/content/actions/guides/about-continuous-integration.md +++ b/content/actions/guides/about-continuous-integration.md @@ -8,9 +8,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/about-continuous-integration - /actions/building-and-testing-code-with-continuous-integration/about-continuous-integration versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - CI @@ -31,7 +31,7 @@ Building and testing your code requires a server. You can build and test updates ## About continuous integration using {% data variables.product.prodname_actions %} -{% if currentVersion == "github-ae@latest" %}CI using {% data variables.product.prodname_actions %} offers workflows that can build the code in your repository and run your tests. Workflows can run on virtual machines hosted by {% data variables.product.prodname_dotcom %}. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." +{% ifversion ghae %}CI using {% data variables.product.prodname_actions %} offers workflows that can build the code in your repository and run your tests. Workflows can run on virtual machines hosted by {% data variables.product.prodname_dotcom %}. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." {% else %} CI using {% data variables.product.prodname_actions %} offers workflows that can build the code in your repository and run your tests. Workflows can run on {% data variables.product.prodname_dotcom %}-hosted virtual machines, or on machines that you host yourself. For more information, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)" and "[About self-hosted runners](/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners)." {% endif %} @@ -52,9 +52,9 @@ For a definition of common terms, see "[Core concepts for {% data variables.prod {% data variables.product.product_name %} offers CI workflow templates for a variety of languages and frameworks. -Browse the complete list of CI workflow templates offered by {% data variables.product.product_name %} in the {% if currentVersion == "free-pro-team@latest" %}[actions/starter-workflows](https://github.com/actions/starter-workflows/tree/main/ci) repository{% else %} `actions/starter-workflows` repository on {% data variables.product.product_location %}{% endif %}. +Browse the complete list of CI workflow templates offered by {% data variables.product.product_name %} in the {% ifversion fpt %}[actions/starter-workflows](https://github.com/actions/starter-workflows/tree/main/ci) repository{% else %} `actions/starter-workflows` repository on {% data variables.product.product_location %}{% endif %}. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} ## Skipping workflow runs If you want to temporarily prevent a workflow from being triggered, you can add a skip instruction to the commit message. Workflows that would otherwise be triggered `on: push` or `on: pull_request`, won't be triggered if you add any of the following strings to the commit message in a push, or the HEAD commit of a pull request: @@ -89,6 +89,6 @@ For more information, see "[Configuring a workflow](/articles/configuring-a-work ## Further reading - "[Setting up continuous integration using {% data variables.product.prodname_actions %}](/articles/setting-up-continuous-integration-using-github-actions)" -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" {% endif %} diff --git a/content/actions/guides/about-packaging-with-github-actions.md b/content/actions/guides/about-packaging-with-github-actions.md index c3957a4563..78b05244e8 100644 --- a/content/actions/guides/about-packaging-with-github-actions.md +++ b/content/actions/guides/about-packaging-with-github-actions.md @@ -6,9 +6,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/about-packaging-with-github-actions - /actions/publishing-packages-with-github-actions/about-packaging-with-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - Packaging diff --git a/content/actions/guides/about-service-containers.md b/content/actions/guides/about-service-containers.md index 12ff4cafa0..1834bc2314 100644 --- a/content/actions/guides/about-service-containers.md +++ b/content/actions/guides/about-service-containers.md @@ -6,9 +6,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/about-service-containers - /actions/configuring-and-managing-workflows/about-service-containers versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - Containers diff --git a/content/actions/guides/adding-labels-to-issues.md b/content/actions/guides/adding-labels-to-issues.md index f1bf0acf84..07fd62a66b 100644 --- a/content/actions/guides/adding-labels-to-issues.md +++ b/content/actions/guides/adding-labels-to-issues.md @@ -3,9 +3,9 @@ title: Adding labels to issues intro: 'You can use {% data variables.product.prodname_actions %} to automatically label issues.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Workflows @@ -38,7 +38,7 @@ In the tutorial, you will first make a workflow file that uses the [`andymckay/l - opened jobs: label_issues: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: issues: write{% endif %} steps: diff --git a/content/actions/guides/building-and-testing-java-with-ant.md b/content/actions/guides/building-and-testing-java-with-ant.md index 4f05ab99b0..4eaa30d682 100644 --- a/content/actions/guides/building-and-testing-java-with-ant.md +++ b/content/actions/guides/building-and-testing-java-with-ant.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/building-and-testing-java-with-ant versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI @@ -23,7 +23,7 @@ topics: This guide shows you how to create a workflow that performs continuous integration (CI) for your Java project using the Ant build system. The workflow you create will allow you to see when commits to a pull request cause build or test failures against your default branch; this approach can help ensure that your code is always healthy. You can extend your CI workflow to upload artifacts from a workflow run. -{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Java Development Kits (JDKs) and Ant. For a list of software and the pre-installed versions for JDK and Ant, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %} diff --git a/content/actions/guides/building-and-testing-java-with-gradle.md b/content/actions/guides/building-and-testing-java-with-gradle.md index 6aa51fb44c..33d171fe2a 100644 --- a/content/actions/guides/building-and-testing-java-with-gradle.md +++ b/content/actions/guides/building-and-testing-java-with-gradle.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/building-and-testing-java-with-gradle versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI @@ -23,7 +23,7 @@ topics: This guide shows you how to create a workflow that performs continuous integration (CI) for your Java project using the Gradle build system. The workflow you create will allow you to see when commits to a pull request cause build or test failures against your default branch; this approach can help ensure that your code is always healthy. You can extend your CI workflow to cache files and upload artifacts from a workflow run. -{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Java Development Kits (JDKs) and Gradle. For a list of software and the pre-installed versions for JDK and Gradle, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %} diff --git a/content/actions/guides/building-and-testing-java-with-maven.md b/content/actions/guides/building-and-testing-java-with-maven.md index e537ee5994..8f68d50f2c 100644 --- a/content/actions/guides/building-and-testing-java-with-maven.md +++ b/content/actions/guides/building-and-testing-java-with-maven.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/building-and-testing-java-with-maven versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI @@ -23,7 +23,7 @@ topics: This guide shows you how to create a workflow that performs continuous integration (CI) for your Java project using the Maven software project management tool. The workflow you create will allow you to see when commits to a pull request cause build or test failures against your default branch; this approach can help ensure that your code is always healthy. You can extend your CI workflow to cache files and upload artifacts from a workflow run. -{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Java Development Kits (JDKs) and Maven. For a list of software and the pre-installed versions for JDK and Maven, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %} diff --git a/content/actions/guides/building-and-testing-net.md b/content/actions/guides/building-and-testing-net.md index 178450bd5a..508b2a3107 100644 --- a/content/actions/guides/building-and-testing-net.md +++ b/content/actions/guides/building-and-testing-net.md @@ -3,9 +3,9 @@ title: Building and testing .NET intro: You can create a continuous integration (CI) workflow to build and test your .NET project. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -16,7 +16,7 @@ versions: This guide shows you how to build, test, and publish a .NET package. -{% if currentVersion == "github-ae@latest" %} To build and test your .NET project on {% data variables.product.prodname_ghe_managed %}, you will need to create a custom operating system image that includes the .NET Core SDK. For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %} To build and test your .NET project on {% data variables.product.prodname_ghe_managed %}, you will need to create a custom operating system image that includes the .NET Core SDK. For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with preinstalled software, which includes the .NET Core SDK. For a full list of up-to-date software and the preinstalled versions of .NET Core SDK, see [software installed on {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners). {% endif %} @@ -126,7 +126,7 @@ steps: ``` {% endraw %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Caching dependencies @@ -236,7 +236,7 @@ on: jobs: deploy: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: packages: write contents: read{% endif %} diff --git a/content/actions/guides/building-and-testing-nodejs.md b/content/actions/guides/building-and-testing-nodejs.md index f2973cccf7..b0edd307b9 100644 --- a/content/actions/guides/building-and-testing-nodejs.md +++ b/content/actions/guides/building-and-testing-nodejs.md @@ -6,9 +6,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/using-nodejs-with-github-actions - /actions/language-and-framework-guides/using-nodejs-with-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI @@ -131,7 +131,7 @@ jobs: {% endraw %} If you don't specify a Node.js version, {% data variables.product.prodname_dotcom %} uses the environment's default Node.js version. -{% if currentVersion == "github-ae@latest" %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %} diff --git a/content/actions/guides/building-and-testing-powershell.md b/content/actions/guides/building-and-testing-powershell.md index 23e5f9f432..ae7918b921 100644 --- a/content/actions/guides/building-and-testing-powershell.md +++ b/content/actions/guides/building-and-testing-powershell.md @@ -3,9 +3,9 @@ title: Building and testing PowerShell intro: You can create a continuous integration (CI) workflow to build and test your PowerShell project. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' authors: - potatoqualitee type: tutorial @@ -24,7 +24,7 @@ This guide shows you how to use PowerShell for CI. It describes how to use Peste {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes PowerShell and Pester. -{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %}For a full list of up-to-date software and the pre-installed versions of PowerShell and Pester, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %} @@ -70,7 +70,7 @@ jobs: * `run: Test-Path resultsfile.log` - Check whether a file called `resultsfile.log` is present in the repository's root directory. * `Should -Be $true` - Uses Pester to define an expected result. If the result is unexpected, then {% data variables.product.prodname_actions %} flags this as a failed test. For example: - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} + {% ifversion fpt or ghes > 3.0 or ghae %} ![Failed Pester test](/assets/images/help/repository/actions-failed-pester-test-updated.png) {% else %} ![Failed Pester test](/assets/images/help/repository/actions-failed-pester-test.png) diff --git a/content/actions/guides/building-and-testing-python.md b/content/actions/guides/building-and-testing-python.md index dbb3998bfa..477563d3e2 100644 --- a/content/actions/guides/building-and-testing-python.md +++ b/content/actions/guides/building-and-testing-python.md @@ -5,9 +5,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/using-python-with-github-actions - /actions/language-and-framework-guides/using-python-with-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI @@ -22,7 +22,7 @@ topics: This guide shows you how to build, test, and publish a Python package. -{% if currentVersion == "github-ae@latest" %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %} For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} {% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with pre-installed software, which includes Python and PyPy. You don't have to install anything! For a full list of up-to-date software and the pre-installed versions of Python and PyPy, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %} diff --git a/content/actions/guides/building-and-testing-ruby.md b/content/actions/guides/building-and-testing-ruby.md index 81651f7dd6..5cec81d136 100644 --- a/content/actions/guides/building-and-testing-ruby.md +++ b/content/actions/guides/building-and-testing-ruby.md @@ -3,9 +3,9 @@ title: Building and testing Ruby intro: You can create a continuous integration (CI) workflow to build and test your Ruby project. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI @@ -280,7 +280,7 @@ on: jobs: build: name: Build + Publish - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: packages: write contents: read{% endif %} diff --git a/content/actions/guides/building-and-testing-swift.md b/content/actions/guides/building-and-testing-swift.md index ceb85d765a..4c4a62b256 100644 --- a/content/actions/guides/building-and-testing-swift.md +++ b/content/actions/guides/building-and-testing-swift.md @@ -3,9 +3,9 @@ title: Building and testing Swift intro: You can create a continuous integration (CI) workflow to build and test your Swift project. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI @@ -20,7 +20,7 @@ topics: This guide shows you how to build and test a Swift package. -{% if currentVersion == "github-ae@latest" %} To build and test your Swift project on {% data variables.product.prodname_ghe_managed %}, you will need to create a custom operating system image that includes the necessary Swift dependencies. For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %} To build and test your Swift project on {% data variables.product.prodname_ghe_managed %}, you will need to create a custom operating system image that includes the necessary Swift dependencies. For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %}{% data variables.product.prodname_dotcom %}-hosted runners have a tools cache with preinstalled software, and the Ubuntu and macOS runners include the dependencies for building Swift packages. For a full list of up-to-date software and the preinstalled versions of Swift and Xcode, see "[About GitHub-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-software)."{% endif %} ## Prerequisites diff --git a/content/actions/guides/building-and-testing-xamarin-applications.md b/content/actions/guides/building-and-testing-xamarin-applications.md index 573ed0509a..d6736822a2 100644 --- a/content/actions/guides/building-and-testing-xamarin-applications.md +++ b/content/actions/guides/building-and-testing-xamarin-applications.md @@ -3,9 +3,9 @@ title: Building and testing Xamarin applications intro: You can create a continuous integration (CI) workflow in GitHub Actions to build and test your Xamarin application. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI diff --git a/content/actions/guides/caching-dependencies-to-speed-up-workflows.md b/content/actions/guides/caching-dependencies-to-speed-up-workflows.md index dd1debaf45..b929150d94 100644 --- a/content/actions/guides/caching-dependencies-to-speed-up-workflows.md +++ b/content/actions/guides/caching-dependencies-to-speed-up-workflows.md @@ -8,7 +8,7 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows - /actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows versions: - free-pro-team: '*' + fpt: '*' type: tutorial topics: - Workflows diff --git a/content/actions/guides/closing-inactive-issues.md b/content/actions/guides/closing-inactive-issues.md index ffbf50793d..9c9f1a0b1c 100644 --- a/content/actions/guides/closing-inactive-issues.md +++ b/content/actions/guides/closing-inactive-issues.md @@ -3,9 +3,9 @@ title: Closing inactive issues intro: 'You can use {% data variables.product.prodname_actions %} to comment on or close issues that have been inactive for a certain period of time.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Workflows @@ -37,7 +37,7 @@ In the tutorial, you will first make a workflow file that uses the [`actions/sta jobs: close-issues: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: issues: write pull-requests: write{% endif %} diff --git a/content/actions/guides/commenting-on-an-issue-when-a-label-is-added.md b/content/actions/guides/commenting-on-an-issue-when-a-label-is-added.md index f51bc86fc8..ee6c4448d6 100644 --- a/content/actions/guides/commenting-on-an-issue-when-a-label-is-added.md +++ b/content/actions/guides/commenting-on-an-issue-when-a-label-is-added.md @@ -3,9 +3,9 @@ title: Commenting on an issue when a label is added intro: 'You can use {% data variables.product.prodname_actions %} to automatically comment on issues when a specific label is applied.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Workflows @@ -38,7 +38,7 @@ In the tutorial, you will first make a workflow file that uses the [`peter-evans jobs: add-comment: if: github.event.label.name == 'help-wanted' - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: issues: write{% endif %} steps: diff --git a/content/actions/guides/creating-postgresql-service-containers.md b/content/actions/guides/creating-postgresql-service-containers.md index 2a6667cb31..3933da2d8f 100644 --- a/content/actions/guides/creating-postgresql-service-containers.md +++ b/content/actions/guides/creating-postgresql-service-containers.md @@ -7,9 +7,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/creating-postgresql-service-containers - /actions/configuring-and-managing-workflows/creating-postgresql-service-containers versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Containers diff --git a/content/actions/guides/creating-redis-service-containers.md b/content/actions/guides/creating-redis-service-containers.md index edba3cfd39..5c2242c740 100644 --- a/content/actions/guides/creating-redis-service-containers.md +++ b/content/actions/guides/creating-redis-service-containers.md @@ -7,9 +7,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/creating-redis-service-containers - /actions/configuring-and-managing-workflows/creating-redis-service-containers versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Containers diff --git a/content/actions/guides/deploying-to-amazon-elastic-container-service.md b/content/actions/guides/deploying-to-amazon-elastic-container-service.md index 3ca0659411..1853fd0692 100644 --- a/content/actions/guides/deploying-to-amazon-elastic-container-service.md +++ b/content/actions/guides/deploying-to-amazon-elastic-container-service.md @@ -3,9 +3,9 @@ title: Deploying to Amazon Elastic Container Service intro: You can deploy to Amazon Elastic Container Service (ECS) as part of your continuous deployment (CD) workflows. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CD @@ -97,7 +97,7 @@ defaults: jobs: deploy: name: Deploy - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: packages: write contents: read{% endif %} diff --git a/content/actions/guides/deploying-to-azure-app-service.md b/content/actions/guides/deploying-to-azure-app-service.md index 8c37a9cc8a..37f7f2af48 100644 --- a/content/actions/guides/deploying-to-azure-app-service.md +++ b/content/actions/guides/deploying-to-azure-app-service.md @@ -3,9 +3,9 @@ title: Deploying to Azure App Service intro: You can deploy to Azure App Service as part of your continuous deployment (CD) workflows. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CD diff --git a/content/actions/guides/deploying-to-google-kubernetes-engine.md b/content/actions/guides/deploying-to-google-kubernetes-engine.md index 2341d1166c..abbb34d909 100644 --- a/content/actions/guides/deploying-to-google-kubernetes-engine.md +++ b/content/actions/guides/deploying-to-google-kubernetes-engine.md @@ -3,9 +3,9 @@ title: Deploying to Google Kubernetes Engine intro: You can deploy to Google Kubernetes Engine as part of your continuous deployment (CD) workflows. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CD diff --git a/content/actions/guides/index.md b/content/actions/guides/index.md index e444749385..f5a793aeed 100644 --- a/content/actions/guides/index.md +++ b/content/actions/guides/index.md @@ -15,9 +15,9 @@ redirect_from: - /actions/publishing-packages-with-github-actions - /actions/building-and-testing-code-with-continuous-integration versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' learningTracks: - getting_started - continuous_integration diff --git a/content/actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md b/content/actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md index 988e187c5b..2489c49098 100644 --- a/content/actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md +++ b/content/actions/guides/installing-an-apple-certificate-on-macos-runners-for-xcode-development.md @@ -3,9 +3,9 @@ title: Installing an Apple certificate on macOS runners for Xcode development intro: 'You can sign Xcode apps within your continuous integration (CI) workflow by installing an Apple code signing certificate on {% data variables.product.prodname_actions %} runners.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CI diff --git a/content/actions/guides/managing-github-actions-with-github-cli.md b/content/actions/guides/managing-github-actions-with-github-cli.md index f3bbcddd28..218f0666c9 100644 --- a/content/actions/guides/managing-github-actions-with-github-cli.md +++ b/content/actions/guides/managing-github-actions-with-github-cli.md @@ -3,9 +3,9 @@ title: Managing GitHub Actions with GitHub CLI intro: 'You can use {% data variables.product.prodname_cli %} to interact with {% data variables.product.prodname_actions %}.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - Workflows @@ -33,5 +33,5 @@ For more information on using commands in specific scenarios, see the following - "[Manually running a workflow](/actions/managing-workflow-runs/manually-running-a-workflow#running-a-workflow-using-github-cli)" - "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts#download-artifacts-through-github-cli)" - "[Using workflow run logs](/actions/managing-workflow-runs/using-workflow-run-logs#viewing-logs-through-github-cli)" -- "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history#viewing-workflow-run-history-with-github-cli)"{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +- "[Viewing workflow run history](/actions/managing-workflow-runs/viewing-workflow-run-history#viewing-workflow-run-history-with-github-cli)"{% ifversion fpt or ghes > 2.22 or ghae %} - "[Disabling and enabling a workflow](/actions/managing-workflow-runs/disabling-and-enabling-a-workflow#disabling-and-enabling-workflows-through-github-cli)"{% endif %} diff --git a/content/actions/guides/moving-assigned-issues-on-project-boards.md b/content/actions/guides/moving-assigned-issues-on-project-boards.md index a4a69eab1a..4fc101a97a 100644 --- a/content/actions/guides/moving-assigned-issues-on-project-boards.md +++ b/content/actions/guides/moving-assigned-issues-on-project-boards.md @@ -3,9 +3,9 @@ title: Moving assigned issues on project boards intro: 'You can use {% data variables.product.prodname_actions %} to automatically move an issue to a specific column on a project board when the issue is assigned.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Workflows diff --git a/content/actions/guides/publishing-docker-images.md b/content/actions/guides/publishing-docker-images.md index cd73dcf07c..9e25141606 100644 --- a/content/actions/guides/publishing-docker-images.md +++ b/content/actions/guides/publishing-docker-images.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/publishing-docker-images versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Packaging @@ -36,7 +36,7 @@ We recommend that you have a basic understanding of workflow configuration optio You might also find it helpful to have a basic understanding of the following: - "[Encrypted secrets](/actions/reference/encrypted-secrets)" -- "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow)"{% if currentVersion == "free-pro-team@latest" %} +- "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow)"{% ifversion fpt %} - "[Working with the {% data variables.product.prodname_container_registry %}](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)"{% else %} - "[Working with the Docker registry](/packages/working-with-a-github-packages-registry/working-with-the-docker-registry)"{% endif %} @@ -97,25 +97,25 @@ The above workflow checks out the {% data variables.product.prodname_dotcom %} r {% data reusables.github-actions.release-trigger-workflow %} -In the example workflow below, we use the Docker `login-action`{% if currentVersion == "free-pro-team@latest" %}, `metadata-action`,{% endif %} and `build-push-action` actions to build the Docker image, and if the build succeeds, push the built image to {% data variables.product.prodname_registry %}. +In the example workflow below, we use the Docker `login-action`{% ifversion fpt %}, `metadata-action`,{% endif %} and `build-push-action` actions to build the Docker image, and if the build succeeds, push the built image to {% data variables.product.prodname_registry %}. The `login-action` options required for {% data variables.product.prodname_registry %} are: -* `registry`: Must be set to {% if currentVersion == "free-pro-team@latest" %}`ghcr.io`{% else %}`docker.pkg.github.com`{% endif %}. +* `registry`: Must be set to {% ifversion fpt %}`ghcr.io`{% else %}`docker.pkg.github.com`{% endif %}. * `username`: You can use the {% raw %}`${{ github.actor }}`{% endraw %} context to automatically use the username of the user that triggered the workflow run. For more information, see "[Context and expression syntax for GitHub Actions](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)." * `password`: You can use the automatically-generated `GITHUB_TOKEN` secret for the password. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} The `metadata-action` option required for {% data variables.product.prodname_registry %} is: * `images`: The namespace and name for the Docker image you are building. {% endif %} -The `build-push-action` options required for {% data variables.product.prodname_registry %} are:{% if currentVersion == "free-pro-team@latest" %} +The `build-push-action` options required for {% data variables.product.prodname_registry %} are:{% ifversion fpt %} * `context`: Defines the build's context as the set of files located in the specified path.{% endif %} -* `push`: If set to `true`, the image will be pushed to the registry if it is built successfully.{% if currentVersion == "free-pro-team@latest" %} +* `push`: If set to `true`, the image will be pushed to the registry if it is built successfully.{% ifversion fpt %} * `tags` and `labels`: These are populated by output from `metadata-action`.{% else %} * `tags`: Must be set in the format `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION`. For example, for an image named `octo-image` stored on {% data variables.product.prodname_dotcom %} at `http://github.com/octo-org/octo-repo`, the `tags` option should be set to `docker.pkg.github.com/octo-org/octo-repo/octo-image:latest`. You can set a single tag as shown below, or specify multiple tags in a list.{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.package_registry.publish-docker-image %} The above workflow if triggered by a push to the "release" branch. It checks out the GitHub repository, and uses the `login-action` to log in to the {% data variables.product.prodname_container_registry %}. It then extracts labels and tags for the Docker image. Finally, it and uses the `build-push-action` action to build the image and publish it on the {% data variables.product.prodname_container_registry %}. @@ -132,7 +132,7 @@ on: jobs: push_to_registry: name: Push Docker image to GitHub Packages - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: packages: write contents: read{% endif %} @@ -142,7 +142,7 @@ jobs: - name: Log in to GitHub Docker Registry uses: docker/login-action@v1 with: - registry: {% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} + registry: {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} username: {% raw %}${{ github.actor }}{% endraw %} password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} - name: Build container image @@ -150,8 +150,8 @@ jobs: with: push: true tags: | - {% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/octo-image:${{ github.sha }}{% endraw %} - {% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/octo-image:${{ github.event.release.tag_name }}{% endraw %} + {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/octo-image:${{ github.sha }}{% endraw %} + {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/octo-image:${{ github.event.release.tag_name }}{% endraw %} ``` The above workflow checks out the {% data variables.product.prodname_dotcom %} repository, uses the `login-action` to log in to the registry, and then uses the `build-push-action` action to: build a Docker image based on your repository's `Dockerfile`; push the image to the Docker registry, and apply the commit SHA and release version as image tags. @@ -176,7 +176,7 @@ on: jobs: push_to_registries: name: Push Docker image to multiple registries - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: packages: write contents: read{% endif %} @@ -188,17 +188,17 @@ jobs: with: username: {% raw %}${{ secrets.DOCKER_USERNAME }}{% endraw %} password: {% raw %}${{ secrets.DOCKER_PASSWORD }}{% endraw %} - - name: Log in to the {% if currentVersion == "free-pro-team@latest" %}Container{% else %}Docker{% endif %} registry + - name: Log in to the {% ifversion fpt %}Container{% else %}Docker{% endif %} registry uses: docker/login-action@v1 with: - registry: {% if currentVersion == "free-pro-team@latest" %}ghcr.io{% elsif currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} + registry: {% ifversion fpt %}ghcr.io{% elsif ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} username: {% raw %}${{ github.actor }}{% endraw %} password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} - name: Build and push to Docker Hub uses: docker/build-push-action@v2 with: push: true - tags: my-docker-hub-namespace/my-docker-hub-repository:{% raw %}${{ github.event.release.tag_name }}{% endraw %}{% if currentVersion == "free-pro-team@latest" %} + tags: my-docker-hub-namespace/my-docker-hub-repository:{% raw %}${{ github.event.release.tag_name }}{% endraw %}{% ifversion fpt %} - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v3 @@ -207,14 +207,14 @@ jobs: - name: Build and push to {% data variables.product.prodname_registry %} uses: docker/build-push-action@v2 with: - push: true{% if currentVersion == "free-pro-team@latest" %} + push: true{% ifversion fpt %} context: . tags: {% raw %}${{ steps.meta.outputs.tags }}{% endraw %} labels: {% raw %}${{ steps.meta.outputs.labels }}{% endraw %}{% else %} - tags: {% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/my-image:${{ github.event.release.tag_name }}{% endraw %}{% endif %} + tags: {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %}/${{ github.repository }}/my-image:${{ github.event.release.tag_name }}{% endraw %}{% endif %} ``` The above workflow checks out the {% data variables.product.prodname_dotcom %} repository, uses the `login-action` twice to log in to both registries, and then uses the `build-push-action` action twice to build and push the Docker image to Docker Hub and the -{% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_container_registry %}. For Docker Hub, it tags the built Docker image with the version tag for the release that triggered the workflow. For the {% data variables.product.prodname_container_registry %}, tags and labels are automatically generated by the `metadata-action` action. +{% ifversion fpt %}{% data variables.product.prodname_container_registry %}. For Docker Hub, it tags the built Docker image with the version tag for the release that triggered the workflow. For the {% data variables.product.prodname_container_registry %}, tags and labels are automatically generated by the `metadata-action` action. {% else %}Docker registry. For both steps, it tags the built Docker image with the version tag for the release that triggered the workflow. {% endif %} diff --git a/content/actions/guides/publishing-java-packages-with-gradle.md b/content/actions/guides/publishing-java-packages-with-gradle.md index 76522fcf4d..5d2efa2a91 100644 --- a/content/actions/guides/publishing-java-packages-with-gradle.md +++ b/content/actions/guides/publishing-java-packages-with-gradle.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/publishing-java-packages-with-gradle versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Packaging @@ -150,7 +150,7 @@ on: types: [created] jobs: publish: - runs-on: ubuntu-latest {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest {% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: contents: read packages: write {% endif %} @@ -167,7 +167,7 @@ jobs: ``` {% data reusables.github-actions.gradle-workflow-steps %} -1. Runs the `gradle publish` command to publish to {% data variables.product.prodname_registry %}. The `GITHUB_TOKEN` environment variable will be set with the content of the `GITHUB_TOKEN` secret. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}The `permissions` key specifies the access that the `GITHUB_TOKEN` secret will allow.{% endif %} +1. Runs the `gradle publish` command to publish to {% data variables.product.prodname_registry %}. The `GITHUB_TOKEN` environment variable will be set with the content of the `GITHUB_TOKEN` secret. {% ifversion fpt or ghes > 3.1 or ghae-next %}The `permissions` key specifies the access that the `GITHUB_TOKEN` secret will allow.{% endif %} For more information about using secrets in your workflow, see "[Creating and using encrypted secrets](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." @@ -222,7 +222,7 @@ on: types: [created] jobs: publish: - runs-on: ubuntu-latest {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest {% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: contents: read packages: write {% endif %} @@ -242,6 +242,6 @@ jobs: ``` {% data reusables.github-actions.gradle-workflow-steps %} -1. Runs the `gradle publish` command to publish to the `OSSRH` Maven repository and {% data variables.product.prodname_registry %}. The `MAVEN_USERNAME` environment variable will be set with the contents of your `OSSRH_USERNAME` secret, and the `MAVEN_PASSWORD` environment variable will be set with the contents of your `OSSRH_TOKEN` secret. The `GITHUB_TOKEN` environment variable will be set with the content of the `GITHUB_TOKEN` secret. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}The `permissions` key specifies the access that the `GITHUB_TOKEN` secret will allow.{% endif %} +1. Runs the `gradle publish` command to publish to the `OSSRH` Maven repository and {% data variables.product.prodname_registry %}. The `MAVEN_USERNAME` environment variable will be set with the contents of your `OSSRH_USERNAME` secret, and the `MAVEN_PASSWORD` environment variable will be set with the contents of your `OSSRH_TOKEN` secret. The `GITHUB_TOKEN` environment variable will be set with the content of the `GITHUB_TOKEN` secret. {% ifversion fpt or ghes > 3.1 or ghae-next %}The `permissions` key specifies the access that the `GITHUB_TOKEN` secret will allow.{% endif %} For more information about using secrets in your workflow, see "[Creating and using encrypted secrets](/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets)." diff --git a/content/actions/guides/publishing-java-packages-with-maven.md b/content/actions/guides/publishing-java-packages-with-maven.md index 064b11e82d..b8047e5a3c 100644 --- a/content/actions/guides/publishing-java-packages-with-maven.md +++ b/content/actions/guides/publishing-java-packages-with-maven.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/language-and-framework-guides/publishing-java-packages-with-maven versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Packaging @@ -144,7 +144,7 @@ on: types: [created] jobs: publish: - runs-on: ubuntu-latest {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest {% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: contents: read packages: write {% endif %} @@ -181,7 +181,7 @@ on: types: [created] jobs: publish: - runs-on: ubuntu-latest {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest {% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: contents: read packages: write {% endif %} diff --git a/content/actions/guides/publishing-nodejs-packages.md b/content/actions/guides/publishing-nodejs-packages.md index f8ba9f921c..f9243df621 100644 --- a/content/actions/guides/publishing-nodejs-packages.md +++ b/content/actions/guides/publishing-nodejs-packages.md @@ -6,9 +6,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/publishing-nodejs-packages - /actions/language-and-framework-guides/publishing-nodejs-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Packaging @@ -127,7 +127,7 @@ on: types: [created] jobs: build: - runs-on: ubuntu-latest {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest {% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: contents: read packages: write {% endif %} @@ -211,7 +211,7 @@ on: types: [created] jobs: build: - runs-on: ubuntu-latest {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest {% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: contents: read packages: write {% endif %} diff --git a/content/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column.md b/content/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column.md index c9e4d36efa..821f982f95 100644 --- a/content/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column.md +++ b/content/actions/guides/removing-a-label-when-a-card-is-added-to-a-project-board-column.md @@ -3,9 +3,9 @@ title: Removing a label when a card is added to a project board column intro: 'You can use {% data variables.product.prodname_actions %} to automatically remove a label when an issue or pull request is added to a specific column on a project board.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Workflows @@ -39,7 +39,7 @@ In the tutorial, you will first make a workflow file that uses the [`andymckay/l jobs: remove_labels: if: github.event.project_card.column_id == '12345678' - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: issues: write pull-requests: write{% endif %} diff --git a/content/actions/guides/scheduling-issue-creation.md b/content/actions/guides/scheduling-issue-creation.md index 09d28feb57..75b40c9d41 100644 --- a/content/actions/guides/scheduling-issue-creation.md +++ b/content/actions/guides/scheduling-issue-creation.md @@ -3,9 +3,9 @@ title: Scheduling issue creation intro: 'You can use {% data variables.product.prodname_actions %} to create an issue on a regular basis for things like daily meetings or quarterly reviews.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Workflows @@ -38,7 +38,7 @@ In the tutorial, you will first make a workflow file that uses the [`imjohnbo/is jobs: create_issue: name: Create team sync issue - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: issues: write{% endif %} steps: diff --git a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md b/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md index 5b962f75af..e7d283a846 100644 --- a/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md +++ b/content/actions/guides/setting-up-continuous-integration-using-workflow-templates.md @@ -9,9 +9,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/setting-up-continuous-integration-using-github-actions - /actions/building-and-testing-code-with-continuous-integration/setting-up-continuous-integration-using-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Workflows @@ -46,6 +46,6 @@ For more information, see "[Learn {% data variables.product.prodname_actions %}] - "[About continuous integration](/articles/about-continuous-integration)" - "[Managing a workflow run](/articles/managing-a-workflow-run)" -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" {% endif %} diff --git a/content/actions/guides/storing-workflow-data-as-artifacts.md b/content/actions/guides/storing-workflow-data-as-artifacts.md index da1fb8fab3..cf6cb57294 100644 --- a/content/actions/guides/storing-workflow-data-as-artifacts.md +++ b/content/actions/guides/storing-workflow-data-as-artifacts.md @@ -9,9 +9,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts - /actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Workflows @@ -34,7 +34,7 @@ These are some of the common artifacts that you can upload: - Binary or compressed files - Stress test performance output and code coverage results -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Storing artifacts uses storage space on {% data variables.product.product_name %}. {% data reusables.github-actions.actions-billing %} For more information, see "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)." @@ -46,7 +46,7 @@ Artifacts consume storage space on the external blob storage that is configured Artifacts are uploaded during a workflow run, and you can view an artifact's name and size in the UI. When an artifact is downloaded using the {% data variables.product.product_name %} UI, all files that were individually uploaded as part of the artifact get zipped together into a single file. This means that billing is calculated based on the size of the uploaded artifact and not the size of the zip file. -{% data variables.product.product_name %} provides two actions that you can use to upload and download build artifacts. For more information, see the {% if currentVersion == "free-pro-team@latest" %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.product.product_location %}{% endif %}. +{% data variables.product.product_name %} provides two actions that you can use to upload and download build artifacts. For more information, see the {% ifversion fpt %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.product.product_location %}{% endif %}. To share data between jobs: @@ -61,7 +61,7 @@ You can create a continuous integration (CI) workflow to build and test your cod The output of building and testing your code often produces files you can use to debug test failures and production code that you can deploy. You can configure a workflow to build and test the code pushed to your repository and report a success or failure status. You can upload the build and test output to use for deployments, debugging failed tests or crashes, and viewing test suite coverage. -You can use the `upload-artifact` action to upload artifacts. When uploading an artifact, you can specify a single file or directory, or multiple files or directories. You can also exclude certain files or directories, and use wildcard patterns. We recommend that you provide a name for an artifact, but if no name is provided then `artifact` will be used as the default name. For more information on syntax, see the {% if currentVersion == "free-pro-team@latest" %}[actions/upload-artifact](https://github.com/actions/upload-artifact) action{% else %} `actions/upload-artifact` action on {% data variables.product.product_location %}{% endif %}. +You can use the `upload-artifact` action to upload artifacts. When uploading an artifact, you can specify a single file or directory, or multiple files or directories. You can also exclude certain files or directories, and use wildcard patterns. We recommend that you provide a name for an artifact, but if no name is provided then `artifact` will be used as the default name. For more information on syntax, see the {% ifversion fpt %}[actions/upload-artifact](https://github.com/actions/upload-artifact) action{% else %} `actions/upload-artifact` action on {% data variables.product.product_location %}{% endif %}. ### Example @@ -113,7 +113,7 @@ jobs: path: output/test/code-coverage.html ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Configuring a custom artifact retention period You can define a custom retention period for individual artifacts created by a workflow. When using a workflow to create a new artifact, you can use `retention-days` with the `upload-artifact` action. This example demonstrates how to set a custom retention period of 5 days for the artifact named `my-artifact`: @@ -164,11 +164,11 @@ You can also download all artifacts in a workflow run by not specifying a name. If you download all a workflow run's artifacts, a directory for each artifact is created using its name. -For more information on syntax, see the {% if currentVersion == "free-pro-team@latest" %}[actions/download-artifact](https://github.com/actions/download-artifact) action{% else %} `actions/download-artifact` action on {% data variables.product.product_location %}{% endif %}. +For more information on syntax, see the {% ifversion fpt %}[actions/download-artifact](https://github.com/actions/download-artifact) action{% else %} `actions/download-artifact` action on {% data variables.product.product_location %}{% endif %}. ## Passing data between jobs in a workflow -You can use the `upload-artifact` and `download-artifact` actions to share data between jobs in a workflow. This example workflow illustrates how to pass data between jobs in the same workflow. For more information, see the {% if currentVersion == "free-pro-team@latest" %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.product.product_location %}{% endif %}. +You can use the `upload-artifact` and `download-artifact` actions to share data between jobs in a workflow. This example workflow illustrates how to pass data between jobs in the same workflow. For more information, see the {% ifversion fpt %}[actions/upload-artifact](https://github.com/actions/upload-artifact) and [download-artifact](https://github.com/actions/download-artifact) actions{% else %} `actions/upload-artifact` and `download-artifact` actions on {% data variables.product.product_location %}{% endif %}. Jobs that are dependent on a previous job's artifacts must wait for the dependent job to complete successfully. This workflow uses the `needs` keyword to ensure that `job_1`, `job_2`, and `job_3` run sequentially. For example, `job_2` requires `job_1` using the `needs: job_1` syntax. @@ -242,13 +242,13 @@ jobs: ``` The workflow run will archive any artifacts that it generated. For more information on downloading archived artifacts, see "[Downloading workflow artifacts](/actions/managing-workflow-runs/downloading-workflow-artifacts)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ![Workflow that passes data between jobs to perform math](/assets/images/help/repository/passing-data-between-jobs-in-a-workflow-updated.png) {% else %} ![Workflow that passes data between jobs to perform math](/assets/images/help/repository/passing-data-between-jobs-in-a-workflow.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading diff --git a/content/actions/guides/using-github-actions-for-project-management.md b/content/actions/guides/using-github-actions-for-project-management.md index aba04814e7..71a2d68953 100644 --- a/content/actions/guides/using-github-actions-for-project-management.md +++ b/content/actions/guides/using-github-actions-for-project-management.md @@ -3,9 +3,9 @@ title: Using GitHub Actions for project management intro: 'You can use {% data variables.product.prodname_actions %} to automate many of your project management tasks.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - Project management diff --git a/content/actions/hosting-your-own-runners/about-self-hosted-runners.md b/content/actions/hosting-your-own-runners/about-self-hosted-runners.md index ff577d886a..eea31f4e74 100644 --- a/content/actions/hosting-your-own-runners/about-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/about-self-hosted-runners.md @@ -5,10 +5,10 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/about-self-hosted-runners - /actions/automating-your-workflow-with-github-actions/about-self-hosted-runners versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'overview' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: overview --- {% data reusables.actions.ae-self-hosted-runners-notice %} @@ -108,7 +108,7 @@ The following processor architectures are supported for the self-hosted runner a - `ARM64` - Linux only. - `ARM32` - Linux only. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Supported actions on self-hosted runners @@ -120,14 +120,14 @@ Some extra configuration might be required to use actions from {% data variables The self-hosted runner polls {% data variables.product.product_name %} to retrieve application updates and to check if any jobs are queued for processing. The self-hosted runner uses a HTTPS _long poll_ that opens a connection to {% data variables.product.product_name %} for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run {% data variables.product.prodname_actions %} jobs. -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} You must ensure that the self-hosted runner has appropriate network access to communicate with the {% data variables.product.prodname_ghe_managed %} URL. For example, if your instance name is `octoghae`, then you will need to allow the self-hosted runner to access `octoghae.github.com`. If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} URLs listed below. diff --git a/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md b/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md index 27038b2fe1..c22abb437f 100644 --- a/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/adding-self-hosted-runners.md @@ -5,10 +5,10 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/adding-self-hosted-runners - /actions/automating-your-workflow-with-github-actions/adding-self-hosted-runners versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'tutorial' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: tutorial --- {% data reusables.actions.ae-self-hosted-runners-notice %} @@ -37,7 +37,7 @@ You can add self-hosted runners to a single repository. To add a self-hosted run {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.github-actions.settings-sidebar-actions-runners %} -1. Under {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %}, click **Add runner**. +1. Under {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %}, click **Add runner**. {% data reusables.github-actions.self-hosted-runner-configure %} {% data reusables.github-actions.self-hosted-runner-check-installation-success %} @@ -48,7 +48,7 @@ You can add self-hosted runners at the organization level, where they can be use {% data reusables.organizations.navigate-to-org %} {% data reusables.organizations.org_settings %} {% data reusables.github-actions.settings-sidebar-actions-runners %} -1. Under {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %}, click **Add runner**. +1. Under {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %}, click **Add runner**. {% data reusables.github-actions.self-hosted-runner-configure %} {% data reusables.github-actions.self-hosted-runner-check-installation-success %} @@ -58,9 +58,9 @@ You can add self-hosted runners at the organization level, where they can be use You can add self-hosted runners to an enterprise, where they can be assigned to multiple organizations. The organization admins are then able to control which repositories can use it. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} To add a self-hosted runner to an enterprise account, you must be an enterprise owner. -{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% elsif ghes > 2.21 or ghae %} To add a self-hosted runner at the enterprise level of {% data variables.product.product_location %}, you must be a site administrator. {% endif %} diff --git a/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md b/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md index 70427dff29..e24003df50 100644 --- a/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md +++ b/content/actions/hosting-your-own-runners/configuring-the-self-hosted-runner-application-as-a-service.md @@ -4,10 +4,10 @@ intro: You can configure the self-hosted runner application as a service to auto redirect_from: - /actions/automating-your-workflow-with-github-actions/configuring-the-self-hosted-runner-application-as-a-service versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'tutorial' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: tutorial defaultPlatform: linux --- diff --git a/content/actions/hosting-your-own-runners/index.md b/content/actions/hosting-your-own-runners/index.md index 89c975595f..64441bdf63 100644 --- a/content/actions/hosting-your-own-runners/index.md +++ b/content/actions/hosting-your-own-runners/index.md @@ -5,9 +5,9 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/hosting-your-own-runners - /actions/automating-your-workflow-with-github-actions/hosting-your-own-runners versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /about-self-hosted-runners - /adding-self-hosted-runners diff --git a/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md b/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md index 75ec545cee..fde1954a71 100644 --- a/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md +++ b/content/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups.md @@ -4,10 +4,10 @@ intro: You can use policies to limit access to self-hosted runners that have bee redirect_from: - /actions/hosting-your-own-runners/managing-access-to-self-hosted-runners versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'tutorial' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: tutorial --- {% data reusables.actions.ae-self-hosted-runners-notice %} @@ -17,7 +17,7 @@ type: 'tutorial' ## About self-hosted runner groups -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** All organizations have a single default self-hosted runner group. Creating and managing additional self-hosted runner groups is only available to enterprise accounts, and for organizations owned by an enterprise account. @@ -42,12 +42,12 @@ When creating a group, you must choose a policy that defines which repositories {% data reusables.organizations.navigate-to-org %} {% data reusables.organizations.org_settings %} {% data reusables.github-actions.settings-sidebar-actions-runners %} -1. In the {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %} section, click **Add new**, and then **New group**. +1. In the {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %} section, click **Add new**, and then **New group**. ![Add runner group](/assets/images/help/settings/actions-org-add-runner-group.png) 1. Enter a name for your runner group, and assign a policy for repository access. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization. By default, only private repositories can access runners in a runner group, but you can override this.{% elsif currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to a specific list of repositories, all private repositories, or all repositories in the organization.{% endif %} + {% ifversion fpt or ghes > 2.22 or ghae %} You can configure a runner group to be accessible to a specific list of repositories, or to all repositories in the organization. By default, only private repositories can access runners in a runner group, but you can override this.{% elsif ghes = 2.22 %}You can configure a runner group to be accessible to a specific list of repositories, all private repositories, or all repositories in the organization.{% endif %} {% warning %} @@ -79,7 +79,7 @@ When creating a group, you must choose a policy that defines which organizations ![Add runner group](/assets/images/help/settings/actions-enterprise-account-add-runner-group.png) 1. Enter a name for your runner group, and assign a policy for organization access. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise. By default, only private repositories can access runners in a runner group, but you can override this.{% elsif currentVersion == "enterprise-server@2.22"%}You can configure a runner group to be accessible to all organizations in the enterprise or choose specific organizations.{% endif %} + {% ifversion fpt or ghes > 2.22 or ghae %} You can configure a runner group to be accessible to a specific list of organizations, or all organizations in the enterprise. By default, only private repositories can access runners in a runner group, but you can override this.{% elsif ghes = 2.22 %}You can configure a runner group to be accessible to all organizations in the enterprise or choose specific organizations.{% endif %} {% warning %} @@ -104,7 +104,7 @@ You can update the access policy of a runner group, or rename a runner group. New self-hosted runners are automatically assigned to the default group, and can then be moved to another group. -1. In the {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %} section of the settings page, locate the current group of the runner you want to move and expand the list of group members. +1. In the {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %} section of the settings page, locate the current group of the runner you want to move and expand the list of group members. ![View runner group members](/assets/images/help/settings/actions-org-runner-group-members.png) 1. Select the checkbox next to the self-hosted runner, and then click **Move to group** to see the available destinations. ![Runner group member move](/assets/images/help/settings/actions-org-runner-group-member-move.png) @@ -115,7 +115,7 @@ New self-hosted runners are automatically assigned to the default group, and can Self-hosted runners are automatically returned to the default group when their group is removed. -1. In the {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %} section of the settings page, locate the group you want to delete, and click the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} button. +1. In the {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %} section of the settings page, locate the group you want to delete, and click the {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} button. ![View runner group settings](/assets/images/help/settings/actions-org-runner-group-kebab.png) 1. To remove the group, click **Remove group**. diff --git a/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md b/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md index 5d6a8165cb..2035b597b4 100644 --- a/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/monitoring-and-troubleshooting-self-hosted-runners.md @@ -6,10 +6,10 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/checking-the-status-of-self-hosted-runners - /actions/automating-your-workflow-with-github-actions/checking-the-status-of-self-hosted-runners versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'tutorial' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: tutorial defaultPlatform: linux --- @@ -24,7 +24,7 @@ defaultPlatform: linux {% data reusables.github-actions.self-hosted-runner-navigate-repo-and-org %} {% data reusables.github-actions.settings-sidebar-actions-runners %} -1. Under {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %}, you can view a list of registered runners, including the runner's name, labels, and status. +1. Under {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %}, you can view a list of registered runners, including the runner's name, labels, and status. ![Runner list](/assets/images/help/settings/actions-runner-list.png) diff --git a/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md b/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md index 3fbb8c00c1..54466b21f6 100644 --- a/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/removing-self-hosted-runners.md @@ -5,10 +5,10 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/removing-self-hosted-runners - /actions/automating-your-workflow-with-github-actions/removing-self-hosted-runners versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'tutorial' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: tutorial --- {% data reusables.actions.ae-self-hosted-runners-notice %} @@ -64,9 +64,9 @@ To remove a self-hosted runner from an organization, you must be an organization {% endnote %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} To remove a self-hosted runner from an enterprise account, you must be an enterprise owner. We recommend that you also have access to the self-hosted runner machine. -{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% elsif ghes > 2.21 or ghae %} To remove a self-hosted runner at the enterprise level of {% data variables.product.product_location %}, you must be a site administrator. We recommend that you also have access to the self-hosted runner machine. {% endif %} diff --git a/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md b/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md index 4416aa0b5c..1bbc821ab0 100644 --- a/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners.md @@ -4,10 +4,10 @@ intro: 'You can configure self-hosted runners to use a proxy server to communica redirect_from: - /actions/automating-your-workflow-with-github-actions/using-a-proxy-server-with-self-hosted-runners versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'tutorial' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: tutorial --- {% data reusables.actions.ae-self-hosted-runners-notice %} diff --git a/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md b/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md index 455f997370..93bc19afae 100644 --- a/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md +++ b/content/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners.md @@ -2,10 +2,10 @@ title: Using labels with self-hosted runners intro: You can use labels to organize your self-hosted runners based on their characteristics. versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'tutorial' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: tutorial --- {% data reusables.actions.ae-self-hosted-runners-notice %} diff --git a/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md b/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md index 6c1a23d0fc..05d0f5f331 100644 --- a/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md +++ b/content/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow.md @@ -5,10 +5,10 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow - /actions/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'tutorial' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: tutorial --- {% data reusables.actions.ae-self-hosted-runners-notice %} @@ -69,7 +69,7 @@ These labels operate cumulatively, so a self-hosted runner’s labels must match When routing a job to a self-hosted runner, {% data variables.product.prodname_dotcom %} looks for a runner that matches the job's `runs-on` labels: -1. {% data variables.product.prodname_dotcom %} first searches for a runner at the repository level, then at the organization level{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}, then at the enterprise level{% endif %}. +1. {% data variables.product.prodname_dotcom %} first searches for a runner at the repository level, then at the organization level{% ifversion ghes > 2.21 or ghae %}, then at the enterprise level{% endif %}. 2. The job is then sent to the first matching runner that is online and idle. - If all matching online runners are busy, the job will queue at the level with the highest number of matching online runners. - If all matching runners are offline, the job will queue at the level with the highest number of matching offline runners. diff --git a/content/actions/index.md b/content/actions/index.md index 1d53debb63..e4b3493147 100644 --- a/content/actions/index.md +++ b/content/actions/index.md @@ -35,9 +35,9 @@ redirect_from: - /marketplace/actions layout: product-landing versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /quickstart - /guides @@ -48,3 +48,4 @@ children: - /hosting-your-own-runners - /reference --- + diff --git a/content/actions/learn-github-actions/essential-features-of-github-actions.md b/content/actions/learn-github-actions/essential-features-of-github-actions.md index d9de2dfd68..67dc48808e 100644 --- a/content/actions/learn-github-actions/essential-features-of-github-actions.md +++ b/content/actions/learn-github-actions/essential-features-of-github-actions.md @@ -3,9 +3,9 @@ title: Essential features of GitHub Actions shortTitle: Essential features intro: '{% data variables.product.prodname_actions %} are designed to help you build robust and dynamic automations. This guide will show you how to craft {% data variables.product.prodname_actions %} workflows that include environment variables, customized scripts, and more.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - Fundamentals diff --git a/content/actions/learn-github-actions/finding-and-customizing-actions.md b/content/actions/learn-github-actions/finding-and-customizing-actions.md index 0abcd801f7..9498c2104e 100644 --- a/content/actions/learn-github-actions/finding-and-customizing-actions.md +++ b/content/actions/learn-github-actions/finding-and-customizing-actions.md @@ -1,16 +1,16 @@ --- title: Finding and customizing actions shortTitle: Finding and customizing actions -intro: "Actions are the building blocks that power your workflow. A workflow can contain actions created by the community, or you can create your own actions directly within your application's repository. This guide will show you how to discover, use, and customize actions." +intro: 'Actions are the building blocks that power your workflow. A workflow can contain actions created by the community, or you can create your own actions directly within your application''s repository. This guide will show you how to discover, use, and customize actions.' redirect_from: - /actions/automating-your-workflow-with-github-actions/using-github-marketplace-actions - /actions/automating-your-workflow-with-github-actions/using-actions-from-github-marketplace-in-your-workflow - /actions/getting-started-with-github-actions/using-actions-from-github-marketplace - /actions/getting-started-with-github-actions/using-community-workflows-and-actions versions: - free-pro-team: "*" - enterprise-server: ">=2.22" - github-ae: "*" + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: how_to topics: - Fundamentals @@ -28,11 +28,11 @@ The actions you use in your workflow can be defined in: - The same repository where your workflow file references the action - A published Docker container image on Docker Hub -{% data variables.product.prodname_marketplace %} is a central location for you to find actions created by the {% data variables.product.prodname_dotcom %} community.{% if currentVersion == "free-pro-team@latest" %} [{% data variables.product.prodname_marketplace %} page](https://github.com/marketplace/actions/) enables you to filter for actions by category. {% endif %} +{% data variables.product.prodname_marketplace %} is a central location for you to find actions created by the {% data variables.product.prodname_dotcom %} community.{% ifversion fpt %} [{% data variables.product.prodname_marketplace %} page](https://github.com/marketplace/actions/) enables you to filter for actions by category. {% endif %} {% data reusables.actions.enterprise-marketplace-actions %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Browsing Marketplace actions in the workflow editor @@ -75,7 +75,7 @@ steps: ### Using SHAs -If you need more reliable versioning, you should use the SHA value associated with the version of the action. SHAs are immutable and therefore more reliable than tags or branches. However this approach means you will not automatically receive updates for an action, including important bug fixes and security updates. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}You must use a commit's full SHA value, and not an abbreviated value. {% endif %}This example targets an action's SHA: +If you need more reliable versioning, you should use the SHA value associated with the version of the action. SHAs are immutable and therefore more reliable than tags or branches. However this approach means you will not automatically receive updates for an action, including important bug fixes and security updates. {% ifversion fpt or ghes > 3.0 or ghae %}You must use a commit's full SHA value, and not an abbreviated value. {% endif %}This example targets an action's SHA: ```yaml steps: @@ -114,7 +114,7 @@ outputs: description: "Path to results file" ``` -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} ## Using the actions included with {% data variables.product.prodname_ghe_managed %} diff --git a/content/actions/learn-github-actions/index.md b/content/actions/learn-github-actions/index.md index e80e4c3432..a0daba8886 100644 --- a/content/actions/learn-github-actions/index.md +++ b/content/actions/learn-github-actions/index.md @@ -26,9 +26,9 @@ redirect_from: - /articles/getting-started-with-github-actions - /actions/migrating-to-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /introduction-to-github-actions - /finding-and-customizing-actions diff --git a/content/actions/learn-github-actions/introduction-to-github-actions.md b/content/actions/learn-github-actions/introduction-to-github-actions.md index 7e3019d793..0bdb1291a3 100644 --- a/content/actions/learn-github-actions/introduction-to-github-actions.md +++ b/content/actions/learn-github-actions/introduction-to-github-actions.md @@ -7,9 +7,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/core-concepts-for-github-actions - /actions/getting-started-with-github-actions/core-concepts-for-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - Fundamentals @@ -55,7 +55,7 @@ _Actions_ are standalone commands that are combined into _steps_ to create a _jo ### Runners -{% if currentVersion == "github-ae@latest" %}A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. For {% data variables.product.prodname_ghe_managed %}, you can use the security hardened {% data variables.actions.hosted_runner %}s which are bundled with your instance in the cloud. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.actions.hosted_runner %}s run each workflow job in a fresh virtual environment. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." +{% ifversion ghae %}A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. For {% data variables.product.prodname_ghe_managed %}, you can use the security hardened {% data variables.actions.hosted_runner %}s which are bundled with your instance in the cloud. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.actions.hosted_runner %}s run each workflow job in a fresh virtual environment. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)." {% else %} A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. You can use a runner hosted by {% data variables.product.prodname_dotcom %}, or you can host your own. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_dotcom %}-hosted runners are based on Ubuntu Linux, Microsoft Windows, and macOS, and each job in a workflow runs in a fresh virtual environment. For information on {% data variables.product.prodname_dotcom %}-hosted runners, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)." {% endif %} @@ -210,7 +210,7 @@ In this diagram, you can see the workflow file you just created and how the {% d ## Viewing the job's activity -Once your job has started running, you can {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. +Once your job has started running, you can {% ifversion fpt or ghes > 3.0 or ghae %}see a visualization graph of the run's progress and {% endif %}view each step's activity on {% data variables.product.prodname_dotcom %}. {% data reusables.repositories.navigate-to-repo %} 1. Under your repository name, click **Actions**. @@ -219,14 +219,14 @@ Once your job has started running, you can {% if currentVersion == "free-pro-tea ![Screenshot of workflow results](/assets/images/help/images/learn-github-actions-workflow.png) 1. Under "Workflow runs", click the name of the run you want to see. ![Screenshot of workflow runs](/assets/images/help/images/learn-github-actions-run.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} 1. Under **Jobs** or in the visualization graph, click the job you want to see. ![Select job](/assets/images/help/images/overview-actions-result-navigate.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} 1. View the results of each step. ![Screenshot of workflow run details](/assets/images/help/images/overview-actions-result-updated-2.png) -{% elsif currentVersion ver_gt "enterprise-server@2.22" %} +{% elsif ghes > 2.22 %} 1. Click on the job name to see the results of each step. ![Screenshot of workflow run details](/assets/images/help/images/overview-actions-result-updated.png) {% else %} diff --git a/content/actions/learn-github-actions/managing-complex-workflows.md b/content/actions/learn-github-actions/managing-complex-workflows.md index edbb8b22de..7018401bff 100644 --- a/content/actions/learn-github-actions/managing-complex-workflows.md +++ b/content/actions/learn-github-actions/managing-complex-workflows.md @@ -1,11 +1,11 @@ --- title: Managing complex workflows shortTitle: Managing complex workflows -intro: 'This guide shows you how to use the advanced features of {% data variables.product.prodname_actions %}, with secret management, dependent jobs, caching, build matrices,{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} environments,{% endif %} and labels.' +intro: 'This guide shows you how to use the advanced features of {% data variables.product.prodname_actions %}, with secret management, dependent jobs, caching, build matrices,{% ifversion fpt or ghes > 3.0 or ghae %} environments,{% endif %} and labels.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: how_to topics: - Workflows @@ -88,7 +88,7 @@ jobs: For more information, see [`jobs..strategy.matrix`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix). -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Caching dependencies {% data variables.product.prodname_dotcom %}-hosted runners are started as fresh environments for each job, so if your jobs regularly reuse dependencies, you can consider caching these files to help improve performance. Once the cache is created, it is available to all workflows in the same repository. @@ -145,7 +145,7 @@ For more information, see "[Using databases and service containers](/actions/con This feature helps you assign jobs to a specific hosted runner. If you want to be sure that a particular type of runner will process your job, you can use labels to control where jobs are executed. You can assign labels to a hosted runner, and then refer to these labels in your YAML workflow, ensuring that the job is routed in a predictable way. -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} This example shows how a workflow can use labels to specify the required runner: ```yaml @@ -165,7 +165,7 @@ jobs: For more information, see ["Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} ## Using environments You can configure environments with protection rules and secrets. Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. For more information, see "[Environments](/actions/reference/environments)." diff --git a/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md index 6cf162f69d..4c8e5cbe96 100644 --- a/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-azure-pipelines-to-github-actions.md @@ -4,9 +4,9 @@ intro: '{% data variables.product.prodname_actions %} and Azure Pipelines share redirect_from: - /actions/migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Azure Pipelines diff --git a/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md index b7e83156fe..7b206a059d 100644 --- a/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-circleci-to-github-actions.md @@ -4,9 +4,9 @@ intro: 'GitHub Actions and CircleCI share several similarities in configuration, redirect_from: - /actions/migrating-to-github-actions/migrating-from-circleci-to-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - CircleCI @@ -35,7 +35,7 @@ For more information, see "[Core concepts for {% data variables.product.prodname When migrating from CircleCI, consider the following differences: - CircleCI’s automatic test parallelism automatically groups tests according to user-specified rules or historical timing information. This functionality is not built into {% data variables.product.prodname_actions %}. -- Actions that execute in Docker containers are sensitive to permissions problems since containers have a different mapping of users. You can avoid many of these problems by not using the `USER` instruction in your *Dockerfile*. {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images).". +- Actions that execute in Docker containers are sensitive to permissions problems since containers have a different mapping of users. You can avoid many of these problems by not using the `USER` instruction in your *Dockerfile*. {% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images).". {% else %}For more information about the Docker filesystem on {% data variables.product.product_name %}-hosted runners, see "[Virtual environments for {% data variables.product.product_name %}-hosted runners](/actions/reference/virtual-environments-for-github-hosted-runners#docker-container-filesystem)." {% endif %} @@ -60,7 +60,7 @@ CircleCI provides a set of pre-built images with common dependencies. These imag We recommend that you move away from CircleCI's pre-built images when you migrate to {% data variables.product.prodname_actions %}. In many cases, you can use actions to install the additional dependencies you need. -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} For more information about the Docker filesystem, see "[Docker container filesystem](/actions/using-github-hosted-runners/about-ae-hosted-runners#docker-container-filesystem)." For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." diff --git a/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md index 09b27e1445..5545ff784f 100644 --- a/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-gitlab-cicd-to-github-actions.md @@ -2,9 +2,9 @@ title: Migrating from GitLab CI/CD to GitHub Actions intro: '{% data variables.product.prodname_actions %} and GitLab CI/CD share several configuration similarities, which makes migrating to {% data variables.product.prodname_actions %} relatively straightforward.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - GitLab diff --git a/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md index 483c323dd8..6f4e3d9954 100644 --- a/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-jenkins-to-github-actions.md @@ -4,9 +4,9 @@ intro: '{% data variables.product.prodname_actions %} and Jenkins share multiple redirect_from: - /actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Jenkins @@ -71,7 +71,7 @@ Jenkins uses directives to manage _Declarative Pipelines_. These directives defi | [`triggers { upstreamprojects() }`](https://jenkins.io/doc/book/pipeline/syntax/#triggers) | [`jobs..needs`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idneeds) | | [Jenkins cron syntax](https://jenkins.io/doc/book/pipeline/syntax/#cron-syntax) | [`on.schedule`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onschedule) | | [`stage`](https://jenkins.io/doc/book/pipeline/syntax/#stage) | [`jobs.`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_id)
[`jobs..name`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idname) | -| [`tools`](https://jenkins.io/doc/book/pipeline/syntax/#tools) | {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."{% else %}[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software) |{% endif %} +| [`tools`](https://jenkins.io/doc/book/pipeline/syntax/#tools) | {% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)."{% else %}[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software) |{% endif %} | [`input`](https://jenkins.io/doc/book/pipeline/syntax/#input) | [`inputs`](/actions/automating-your-workflow-with-github-actions/metadata-syntax-for-github-actions#inputs) | | [`when`](https://jenkins.io/doc/book/pipeline/syntax/#when) | [`jobs..if`](/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idif) | diff --git a/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md b/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md index f5d1bf09df..c8ebc03964 100644 --- a/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md +++ b/content/actions/learn-github-actions/migrating-from-travis-ci-to-github-actions.md @@ -4,9 +4,9 @@ intro: '{% data variables.product.prodname_actions %} and Travis CI share multip redirect_from: - /actions/migrating-to-github-actions/migrating-from-travis-ci-to-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: tutorial topics: - Travis CI @@ -187,7 +187,7 @@ When migrating from Travis CI, consider the following key features in {% data va ### Storing secrets -{% data variables.product.prodname_actions %} allows you to store secrets and reference them in your jobs. {% data variables.product.prodname_actions %} organizations can limit which repositories can access organization secrets. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}Environment protection rules can require manual approval for a workflow to access environment secrets. {% endif %}For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)." +{% data variables.product.prodname_actions %} allows you to store secrets and reference them in your jobs. {% data variables.product.prodname_actions %} organizations can limit which repositories can access organization secrets. {% ifversion fpt or ghes > 3.0 or ghae %}Environment protection rules can require manual approval for a workflow to access environment secrets. {% endif %}For more information, see "[Encrypted secrets](/actions/reference/encrypted-secrets)." ### Sharing files between jobs and workflows diff --git a/content/actions/learn-github-actions/security-hardening-for-github-actions.md b/content/actions/learn-github-actions/security-hardening-for-github-actions.md index e6ec8c519d..1fbebedfae 100644 --- a/content/actions/learn-github-actions/security-hardening-for-github-actions.md +++ b/content/actions/learn-github-actions/security-hardening-for-github-actions.md @@ -6,9 +6,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/getting-started-with-github-actions/security-hardening-for-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: overview topics: - Security @@ -25,7 +25,7 @@ This guide explains how to configure security hardening for certain {% data vari ## Using secrets -Sensitive values should never be stored as plaintext in workflow files, but rather as secrets. [Secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) can be configured at the organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository, or environment{% else %} or repository{% endif %} level, and allow you to store sensitive information in {% data variables.product.product_name %}. +Sensitive values should never be stored as plaintext in workflow files, but rather as secrets. [Secrets](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) can be configured at the organization{% ifversion fpt or ghes > 3.0 or ghae %}, repository, or environment{% else %} or repository{% endif %} level, and allow you to store sensitive information in {% data variables.product.product_name %}. Secrets use [Libsodium sealed boxes](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes), so that they are encrypted before reaching {% data variables.product.product_name %}. This occurs when the secret is submitted [using the UI](/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets#creating-encrypted-secrets-for-a-repository) or through the [REST API](/rest/reference/actions#secrets). This client-side encryption helps minimize the risks related to accidental logging (for example, exception logs and request logs, among others) within {% data variables.product.product_name %}'s infrastructure. Once the secret is uploaded, {% data variables.product.product_name %} is then able to decrypt it so that it can be injected into the workflow runtime. @@ -40,12 +40,12 @@ To help prevent accidental disclosure, {% data variables.product.product_name %} - Audit how secrets are used, to help ensure they’re being handled as expected. You can do this by reviewing the source code of the repository executing the workflow, and checking any actions used in the workflow. For example, check that they’re not sent to unintended hosts, or explicitly being printed to log output. - View the run logs for your workflow after testing valid/invalid inputs, and check that secrets are properly redacted, or not shown. It's not always obvious how a command or tool you’re invoking will send errors to `STDOUT` and `STDERR`, and secrets might subsequently end up in error logs. As a result, it is good practice to manually review the workflow logs after testing valid and invalid inputs. - **Use credentials that are minimally scoped** - - Make sure the credentials being used within workflows have the least privileges required, and be mindful that any user with write access to your repository has read access to all secrets configured in your repository. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + - Make sure the credentials being used within workflows have the least privileges required, and be mindful that any user with write access to your repository has read access to all secrets configured in your repository. {% ifversion fpt or ghes > 3.1 or ghae-next %} - Actions can use the `GITHUB_TOKEN` by accessing it from the `github.token` context. For more information, see "[Context and expression syntax for {% data variables.product.prodname_actions %}](/actions/reference/context-and-expression-syntax-for-github-actions#github-context)." You should therefore make sure that the `GITHUB_TOKEN` is granted the minimum required permissions. It's good security practice to set the default permission for the `GITHUB_TOKEN` to read access only for repository contents. The permissions can then be increased, as required, for individual jobs within the workflow file. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)." {% endif %} - **Audit and rotate registered secrets** - Periodically review the registered secrets to confirm they are still required. Remove those that are no longer needed. - Rotate secrets periodically to reduce the window of time during which a compromised secret is valid. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} - **Consider requiring review for access to secrets** - You can use required reviewers to protect environment secrets. A workflow job cannot access environment secrets until approval is granted by a reviewer. For more information about storing secrets in environments or requiring reviews for environments, see "[Encrypted secrets](/actions/reference/encrypted-secrets)" and "[Environments](/actions/reference/environments)." {% endif %} @@ -166,7 +166,7 @@ You can help mitigate this risk by following these good practices: Pinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA helps mitigate the risk of a bad actor adding a backdoor to the action's repository, as they would need to generate a SHA-1 collision for a valid Git object payload. - {% if currentVersion ver_lt "enterprise-server@3.1" %} + {% ifversion ghes < 3.1 %} {% warning %} **Warning:** The short version of the commit SHA is insecure and should never be used for specifying an action's Git reference. Because of how repository networks work, any user can fork the repository and push a crafted commit to it that collides with the short SHA. This causes subsequent clones at that SHA to fail because it becomes an ambiguous commit. As a result, any workflows that use the shortened SHA will immediately fail. @@ -219,14 +219,14 @@ The attacker server can use the {% data variables.product.prodname_dotcom %} API ## Considering cross-repository access -{% data variables.product.prodname_actions %} is intentionally scoped for a single repository at a time. The `GITHUB_TOKEN` grants the same level of access as a write-access user, because any write-access user can access this token by creating or modifying a workflow file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}, elevating the permissions of the `GITHUB_TOKEN` if necessary{% endif %}. Users have specific permissions for each repository, so allowing the `GITHUB_TOKEN` for one repository to grant access to another would impact the {% data variables.product.prodname_dotcom %} permission model if not implemented carefully. Similarly, caution must be taken when adding {% data variables.product.prodname_dotcom %} authentication tokens to a workflow, because this can also affect the {% data variables.product.prodname_dotcom %} permission model by inadvertently granting broad access to collaborators. +{% data variables.product.prodname_actions %} is intentionally scoped for a single repository at a time. The `GITHUB_TOKEN` grants the same level of access as a write-access user, because any write-access user can access this token by creating or modifying a workflow file{% ifversion fpt or ghes > 3.1 or ghae-next %}, elevating the permissions of the `GITHUB_TOKEN` if necessary{% endif %}. Users have specific permissions for each repository, so allowing the `GITHUB_TOKEN` for one repository to grant access to another would impact the {% data variables.product.prodname_dotcom %} permission model if not implemented carefully. Similarly, caution must be taken when adding {% data variables.product.prodname_dotcom %} authentication tokens to a workflow, because this can also affect the {% data variables.product.prodname_dotcom %} permission model by inadvertently granting broad access to collaborators. We have [a plan on the {% data variables.product.prodname_dotcom %} roadmap](https://github.com/github/roadmap/issues/74) to support a flow that allows cross-repository access within {% data variables.product.product_name %}, but this is not yet a supported feature. Currently, the only way to perform privileged cross-repository interactions is to place a {% data variables.product.prodname_dotcom %} authentication token or SSH key as a secret within the workflow. Because many authentication token types do not allow for granular access to specific resources, there is significant risk in using the wrong token type, as it can grant much broader access than intended. This list describes the recommended approaches for accessing repository data within a workflow, in descending order of preference: 1. **The `GITHUB_TOKEN`** - - This token is intentionally scoped to the single repository that invoked the workflow, and {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}can have {% else %}has {% endif %}the same level of access as a write-access user on the repository. The token is created before each job begins and expires when the job is finished. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." + - This token is intentionally scoped to the single repository that invoked the workflow, and {% ifversion fpt or ghes > 3.1 or ghae-next %}can have {% else %}has {% endif %}the same level of access as a write-access user on the repository. The token is created before each job begins and expires when the job is finished. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." - The `GITHUB_TOKEN` should be used whenever possible. 2. **Repository deploy key** - Deploy keys are one of the only credential types that grant read or write access to a single repository, and can be used to interact with another repository within a workflow. For more information, see "[Managing deploy keys](/developers/overview/managing-deploy-keys#deploy-keys)." @@ -245,7 +245,7 @@ This list describes the recommended approaches for accessing repository data wit **Self-hosted** runners on {% data variables.product.product_name %} do not have guarantees around running in ephemeral clean virtual machines, and can be persistently compromised by untrusted code in a workflow. -As a result, self-hosted runners should almost [never be used for public repositories](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories) on {% data variables.product.product_name %}, because any user can open pull requests against the repository and compromise the environment. Similarly, be cautious when using self-hosted runners on private repositories, as anyone who can fork the repository and open a pull request (generally those with read-access to the repository) are able to compromise the self-hosted runner environment, including gaining access to secrets and the `GITHUB_TOKEN` which{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}, depending on its settings, can grant {% else %} grants {% endif %}write-access permissions on the repository. Although workflows can control access to environment secrets by using environments and required reviews, these workflows are not run in an isolated environment and are still susceptible to the same risks when run on a self-hosted runner. +As a result, self-hosted runners should almost [never be used for public repositories](/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories) on {% data variables.product.product_name %}, because any user can open pull requests against the repository and compromise the environment. Similarly, be cautious when using self-hosted runners on private repositories, as anyone who can fork the repository and open a pull request (generally those with read-access to the repository) are able to compromise the self-hosted runner environment, including gaining access to secrets and the `GITHUB_TOKEN` which{% ifversion fpt or ghes > 3.1 or ghae-next %}, depending on its settings, can grant {% else %} grants {% endif %}write-access permissions on the repository. Although workflows can control access to environment secrets by using environments and required reviews, these workflows are not run in an isolated environment and are still susceptible to the same risks when run on a self-hosted runner. When a self-hosted runner is defined at the organization or enterprise level, {% data variables.product.product_name %} can schedule workflows from multiple repositories onto the same runner. Consequently, a security compromise of these environments can result in a wide impact. To help reduce the scope of a compromise, you can create boundaries by organizing your self-hosted runners into separate groups. For more information, see "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)." @@ -265,7 +265,7 @@ For example, you can use the audit log to track the `org.update_actions_secret` The following tables describe the {% data variables.product.prodname_actions %} events that you can find in the audit log. For more information on using the audit log, see "[Reviewing the audit log for your organization](/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Events for environments | Action | Description @@ -276,7 +276,7 @@ The following tables describe the {% data variables.product.prodname_actions %} | `environment.update_actions_secret` | Triggered when a secret in an environment is updated. For more information, see ["Environment secrets](/actions/reference/environments#environment-secrets)." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} ### Events for configuration changes | Action | Description |------------------|------------------- @@ -295,7 +295,7 @@ The following tables describe the {% data variables.product.prodname_actions %} ### Events for self-hosted runners | Action | Description -|------------------|-------------------{% if currentVersion ver_gt "enterprise-server@2.21" %}{% else %} +|------------------|-------------------{% ifversion ghes > 2.21 %}{% else %} | `enterprise.register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to an enterprise](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-enterprise)." | `enterprise.remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. | `enterprise.runner_group_runners_updated` | Triggered when a runner group's list of members is updated. For more information, see "[Set self-hosted runners in a group for an organization](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)." diff --git a/content/actions/learn-github-actions/sharing-workflows-with-your-organization.md b/content/actions/learn-github-actions/sharing-workflows-with-your-organization.md index bba6f7fe1a..e341c4eef1 100644 --- a/content/actions/learn-github-actions/sharing-workflows-with-your-organization.md +++ b/content/actions/learn-github-actions/sharing-workflows-with-your-organization.md @@ -5,10 +5,10 @@ intro: 'Learn how you can use organization features to collaborate with your tea redirect_from: - /actions/configuring-and-managing-workflows/sharing-workflow-templates-within-your-organization versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' -type: 'how_to' + fpt: '*' + ghes: '>=2.22' + ghae: '*' +type: how_to --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md b/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md index 8f4a4692c5..258683e839 100644 --- a/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md +++ b/content/actions/managing-workflow-runs/adding-a-workflow-status-badge.md @@ -3,9 +3,9 @@ title: Adding a workflow status badge intro: You can display a status badge in your repository to indicate the status of your workflows. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks.md b/content/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks.md index a41d459b53..5211510657 100644 --- a/content/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks.md +++ b/content/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks.md @@ -3,7 +3,7 @@ title: Approving workflow runs from public forks intro: 'When a first-time contributor submits a pull request to a public repository, a maintainer with write access must approve any workflow runs.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' + fpt: '*' --- Forks of public repositories can submit pull requests that propose changes to a repository's {% data variables.product.prodname_actions %} workflows. Although workflows from forks do not have access to sensitive data such as secrets, they can be an annoyance for maintainers if they are modified for abusive purposes. To help prevent this, workflows on pull requests are not run automatically if they are received from first-time contributors, and must be approved first. diff --git a/content/actions/managing-workflow-runs/canceling-a-workflow.md b/content/actions/managing-workflow-runs/canceling-a-workflow.md index 6f48a49da1..d70badd468 100644 --- a/content/actions/managing-workflow-runs/canceling-a-workflow.md +++ b/content/actions/managing-workflow-runs/canceling-a-workflow.md @@ -3,9 +3,9 @@ title: Canceling a workflow intro: 'You can cancel a workflow run that is in progress. When you cancel a workflow run, {% data variables.product.prodname_dotcom %} cancels all jobs and steps that are a part of that workflow.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -22,7 +22,7 @@ versions: 1. From the list of workflow runs, click the name of the `queued` or `in progress` run that you want to cancel. ![Name of workflow run](/assets/images/help/repository/in-progress-run.png) 1. In the upper-right corner of the workflow, click **Cancel workflow**. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ![Cancel check suite button](/assets/images/help/repository/cancel-check-suite-updated.png) {% else %} ![Cancel check suite button](/assets/images/help/repository/cancel-check-suite.png) diff --git a/content/actions/managing-workflow-runs/deleting-a-workflow-run.md b/content/actions/managing-workflow-runs/deleting-a-workflow-run.md index f81c479711..5b0b1d62fa 100644 --- a/content/actions/managing-workflow-runs/deleting-a-workflow-run.md +++ b/content/actions/managing-workflow-runs/deleting-a-workflow-run.md @@ -3,9 +3,9 @@ title: Deleting a workflow run intro: 'You can delete a workflow run that has been completed, or is more than two weeks old.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md b/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md index f565852987..c233fc1969 100644 --- a/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md +++ b/content/actions/managing-workflow-runs/disabling-and-enabling-a-workflow.md @@ -3,9 +3,9 @@ title: Disabling and enabling a workflow intro: 'You can disable and re-enable a workflow using the {% data variables.product.prodname_dotcom %} UI, the REST API, or {% data variables.product.prodname_cli %}.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.23' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md b/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md index 1f519ee692..93b8feaa8b 100644 --- a/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md +++ b/content/actions/managing-workflow-runs/downloading-workflow-artifacts.md @@ -3,17 +3,17 @@ title: Downloading workflow artifacts intro: You can download archived artifacts before they automatically expire. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} {% data reusables.actions.ae-beta %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Configuring the retention period for GitHub Actions artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %} -{% if currentVersion == "enterprise-server@2.22" %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %} +{% ifversion fpt or ghes > 2.22 or ghae %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and you can customize this retention period, depending on the type of repository. For more information, see "[Configuring the retention period for GitHub Actions artifacts and logs in your repository](/github/administering-a-repository/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository)."{% endif %} +{% ifversion ghes = 2.22 %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %} ## Download artifacts with the {% data variables.product.prodname_dotcom %} UI @@ -24,7 +24,7 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click the artifact you want to download. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} + {% ifversion fpt or ghes > 3.0 or ghae %} ![Download artifact drop-down menu](/assets/images/help/repository/artifact-drop-down-updated.png) {% else %} ![Download artifact drop-down menu](/assets/images/help/repository/artifact-drop-down.png) diff --git a/content/actions/managing-workflow-runs/enabling-debug-logging.md b/content/actions/managing-workflow-runs/enabling-debug-logging.md index d34db49583..ff34ef4d21 100644 --- a/content/actions/managing-workflow-runs/enabling-debug-logging.md +++ b/content/actions/managing-workflow-runs/enabling-debug-logging.md @@ -3,9 +3,9 @@ title: Enabling debug logging intro: 'If the workflow logs do not provide enough detail to diagnose why a workflow, job, or step is not working as expected, you can enable additional debug logging.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -15,7 +15,7 @@ versions: These extra logs are enabled by setting secrets in the repository containing the workflow, so the same permissions requirements will apply: - {% data reusables.github-actions.permissions-statement-secrets-repository %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} - {% data reusables.github-actions.permissions-statement-secrets-environment %} {% endif %} - {% data reusables.github-actions.permissions-statement-secrets-organization %} diff --git a/content/actions/managing-workflow-runs/index.md b/content/actions/managing-workflow-runs/index.md index b0520428ca..adc4f28569 100644 --- a/content/actions/managing-workflow-runs/index.md +++ b/content/actions/managing-workflow-runs/index.md @@ -1,7 +1,7 @@ --- title: Managing workflow runs shortTitle: Managing workflow runs -intro: 'You can view the status and results of each step in your workflow, cancel a pending workflow, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}review deployments, {% endif %}view billable job execution minutes, debug and re-run a failed workflow, search and download logs, and download artifacts.' +intro: 'You can view the status and results of each step in your workflow, cancel a pending workflow, {% ifversion fpt or ghes > 3.0 or ghae %}review deployments, {% endif %}view billable job execution minutes, debug and re-run a failed workflow, search and download logs, and download artifacts.' redirect_from: - /actions/configuring-and-managing-workflows/managing-a-workflow-run - /articles/viewing-your-repository-s-workflows @@ -11,9 +11,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/managing-a-workflow-run - /actions/configuring-and-managing-workflows/configuring-and-managing-workflow-files-and-runs versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /using-the-visualization-graph - /viewing-workflow-run-history @@ -34,4 +34,4 @@ children: {% data reusables.actions.enterprise-beta %} {% data reusables.actions.enterprise-github-hosted-runners %} {% data reusables.actions.ae-beta %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}{% endif %} +{% ifversion fpt or ghes > 3.0 or ghae %}{% endif %} diff --git a/content/actions/managing-workflow-runs/manually-running-a-workflow.md b/content/actions/managing-workflow-runs/manually-running-a-workflow.md index c7087cee30..d63814674e 100644 --- a/content/actions/managing-workflow-runs/manually-running-a-workflow.md +++ b/content/actions/managing-workflow-runs/manually-running-a-workflow.md @@ -3,9 +3,9 @@ title: Manually running a workflow intro: 'When a workflow is configured to run on the `workflow_dispatch` event, you can run the workflow using the Actions tab on {% data variables.product.prodname_dotcom %}, {% data variables.product.prodname_cli %}, or the REST API.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/managing-workflow-runs/re-running-a-workflow.md b/content/actions/managing-workflow-runs/re-running-a-workflow.md index d4cdfdebd2..49b7c9fcd2 100644 --- a/content/actions/managing-workflow-runs/re-running-a-workflow.md +++ b/content/actions/managing-workflow-runs/re-running-a-workflow.md @@ -3,9 +3,9 @@ title: Re-running a workflow intro: You can re-run an instance of a workflow. Re-running a workflow uses the same `GITHUB_SHA` (commit SHA) and `GITHUB_REF` (Git ref) of the original event that triggered the workflow run. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -20,7 +20,7 @@ versions: {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} -1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down-updated.png){% else %}![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down.png){% endif %} +1. In the upper-right corner of the workflow, use the **Re-run jobs** drop-down menu, and select **Re-run all jobs**.{% ifversion fpt or ghes > 3.0 or ghae %}![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down-updated.png){% else %}![Re-run checks drop-down menu](/assets/images/help/repository/rerun-checks-drop-down.png){% endif %} ## Re-run a workflow using {% data variables.product.prodname_cli %} diff --git a/content/actions/managing-workflow-runs/removing-workflow-artifacts.md b/content/actions/managing-workflow-runs/removing-workflow-artifacts.md index be68510330..6712bed289 100644 --- a/content/actions/managing-workflow-runs/removing-workflow-artifacts.md +++ b/content/actions/managing-workflow-runs/removing-workflow-artifacts.md @@ -3,9 +3,9 @@ title: Removing workflow artifacts intro: 'You can reclaim used {% data variables.product.prodname_actions %} storage by deleting artifacts before they expire on {% data variables.product.product_name %}.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -29,13 +29,13 @@ versions: {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %} 1. Under **Artifacts**, click {% octicon "trash" aria-label="The trash icon" %} next to the artifact you want to remove. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} + {% ifversion fpt or ghes > 3.0 or ghae %} ![Delete artifact drop-down menu](/assets/images/help/repository/actions-delete-artifact-updated.png) {% else %} ![Delete artifact drop-down menu](/assets/images/help/repository/actions-delete-artifact.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Setting the retention period for an artifact Retention periods for artifacts and logs can be configured at the repository, organization, and enterprise level. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy)." diff --git a/content/actions/managing-workflow-runs/reviewing-deployments.md b/content/actions/managing-workflow-runs/reviewing-deployments.md index 15cc59064e..62c6c349a2 100644 --- a/content/actions/managing-workflow-runs/reviewing-deployments.md +++ b/content/actions/managing-workflow-runs/reviewing-deployments.md @@ -3,9 +3,9 @@ title: Reviewing deployments intro: You can approve or reject jobs awaiting review. product: '{% data reusables.gated-features.environments %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.1' - github-ae: '*' + fpt: '*' + ghes: '>=3.1' + ghae: '*' --- {% data reusables.actions.ae-beta %} @@ -14,7 +14,7 @@ versions: Jobs that reference an environment configured with required reviewers will wait for an approval before starting. While a job is awaiting approval, it has a status of "Waiting". If a job is not approved within 30 days, the workflow run will be automatically canceled. -For more information about environments and required approvals, see "[Environments](/actions/reference/environments)."{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %} For information about how to review deployments with the REST API, see "[Workflow Runs](/rest/reference/actions#workflow-runs)."{% endif %} +For more information about environments and required approvals, see "[Environments](/actions/reference/environments)."{% ifversion fpt or ghae-next or ghes > 3.1 %} For information about how to review deployments with the REST API, see "[Workflow Runs](/rest/reference/actions#workflow-runs)."{% endif %} ## Approving or rejecting a job diff --git a/content/actions/managing-workflow-runs/using-the-visualization-graph.md b/content/actions/managing-workflow-runs/using-the-visualization-graph.md index df1a4ef566..5cd0f66ad4 100644 --- a/content/actions/managing-workflow-runs/using-the-visualization-graph.md +++ b/content/actions/managing-workflow-runs/using-the-visualization-graph.md @@ -3,9 +3,9 @@ title: Using the visualization graph intro: Every workflow run generates a real-time graph that illustrates the run progress. You can use this graph to monitor and debug workflows. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.1' - github-ae: '*' + fpt: '*' + ghes: '>=3.1' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/managing-workflow-runs/using-workflow-run-logs.md b/content/actions/managing-workflow-runs/using-workflow-run-logs.md index 96eedfbe05..93591cd88c 100644 --- a/content/actions/managing-workflow-runs/using-workflow-run-logs.md +++ b/content/actions/managing-workflow-runs/using-workflow-run-logs.md @@ -3,9 +3,9 @@ title: Using workflow run logs intro: 'You can view, search, and download the logs for each job in a workflow run.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -45,9 +45,9 @@ You can search the build logs for a particular step. When you search logs, only {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} {% data reusables.repositories.navigate-to-job-superlinter %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} 1. In the upper-right corner of the log output, in the **Search logs** search box, type a search query. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ![Search box to search logs](/assets/images/help/repository/search-log-box-updated-2.png) {% else %} ![Search box to search logs](/assets/images/help/repository/search-log-box-updated.png) @@ -68,9 +68,9 @@ You can download the log files from your workflow run. You can also download a w {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} {% data reusables.repositories.navigate-to-job-superlinter %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} -1. In the upper right corner, click {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} +1. In the upper right corner, click {% ifversion fpt or ghes > 3.0 or ghae %}{% octicon "gear" aria-label="The gear icon" %}{% else %}{% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}{% endif %} and select **Download log archive**. + {% ifversion fpt or ghes > 3.0 or ghae %} ![Download logs drop-down menu](/assets/images/help/repository/download-logs-drop-down-updated-2.png) {% else %} ![Download logs drop-down menu](/assets/images/help/repository/download-logs-drop-down-updated.png) @@ -88,15 +88,15 @@ You can delete the log files from your workflow run. {% data reusables.repositor {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow-superlinter %} {% data reusables.repositories.view-run-superlinter %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} 1. In the upper right corner, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} + {% ifversion fpt or ghes > 3.0 or ghae %} ![Kebab-horizontal icon](/assets/images/help/repository/workflow-run-kebab-horizontal-icon-updated-2.png) {% else %} ![Kebab-horizontal icon](/assets/images/help/repository/workflow-run-kebab-horizontal-icon-updated.png) {% endif %} 2. To delete the log files, click the **Delete all logs** button and review the confirmation prompt. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} + {% ifversion fpt or ghes > 3.0 or ghae %} ![Delete all logs](/assets/images/help/repository/delete-all-logs-updated-2.png) {% else %} ![Delete all logs](/assets/images/help/repository/delete-all-logs-updated.png) diff --git a/content/actions/managing-workflow-runs/viewing-job-execution-time.md b/content/actions/managing-workflow-runs/viewing-job-execution-time.md index ee08fa5a3d..2d12f71302 100644 --- a/content/actions/managing-workflow-runs/viewing-job-execution-time.md +++ b/content/actions/managing-workflow-runs/viewing-job-execution-time.md @@ -3,7 +3,7 @@ title: Viewing job execution time intro: 'You can view the execution time of a job, including the billable minutes that a job accrued.' product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/managing-workflow-runs/viewing-workflow-run-history.md b/content/actions/managing-workflow-runs/viewing-workflow-run-history.md index e25eca0544..d5e7360284 100644 --- a/content/actions/managing-workflow-runs/viewing-workflow-run-history.md +++ b/content/actions/managing-workflow-runs/viewing-workflow-run-history.md @@ -3,9 +3,9 @@ title: Viewing workflow run history intro: You can view logs for each run of a workflow. Logs include the status for each job and step in a workflow. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} diff --git a/content/actions/quickstart.md b/content/actions/quickstart.md index 8a7caf3f31..9d778179e1 100644 --- a/content/actions/quickstart.md +++ b/content/actions/quickstart.md @@ -5,9 +5,9 @@ allowTitleToDifferFromFilename: true redirect_from: - /actions/getting-started-with-github-actions/starting-with-preconfigured-workflow-templates versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: quick_start topics: - Fundamentals diff --git a/content/actions/reference/authentication-in-a-workflow.md b/content/actions/reference/authentication-in-a-workflow.md index a6a4a66b78..910fffd05a 100644 --- a/content/actions/reference/authentication-in-a-workflow.md +++ b/content/actions/reference/authentication-in-a-workflow.md @@ -7,9 +7,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token - /actions/configuring-and-managing-workflows/authenticating-with-the-github_token versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -30,7 +30,7 @@ The token is also available in the `github.token` context. For more information, You can use the `GITHUB_TOKEN` by using the standard syntax for referencing secrets: {%raw%}`${{ secrets.GITHUB_TOKEN }}`{% endraw %}. Examples of using the `GITHUB_TOKEN` include passing the token as an input to an action, or using it to make an authenticated {% data variables.product.prodname_dotcom %} API request. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} {% note %} **Important:** An action can access the `GITHUB_TOKEN` through the `github.token` context even if the workflow does not explicitly pass the `GITHUB_TOKEN` to the action. As a good security practice, you should always make sure that actions only have the minimum access they require by limiting the permissions granted to the `GITHUB_TOKEN`. For more information, see "[Permissions for the `GITHUB_TOKEN`](#permissions-for-the-github_token)." @@ -49,7 +49,7 @@ name: Pull request labeler on: [ pull_request_target ] -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}permissions: +{% ifversion fpt or ghes > 3.1 or ghae-next %}permissions: contents: read pull-requests: write @@ -74,7 +74,7 @@ on: [ push ] jobs: create_commit: - runs-on: ubuntu-latest {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest {% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: issues: write {% endif %} steps: @@ -95,7 +95,7 @@ jobs: For information about the API endpoints {% data variables.product.prodname_github_apps %} can access with each permission, see "[{% data variables.product.prodname_github_app %} Permissions](/rest/reference/permissions-required-for-github-apps)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} The following table shows the permissions granted to the `GITHUB_TOKEN` by default. People with admin permissions to an enterprise, organization, or repository can set the default permissions to be either permissive or restricted. For information on how to set the default permissions for the `GITHUB_TOKEN` for your enterprise, organization, or repository, see "[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account#setting-the-permissions-of-the-github_token-for-your-enterprise)," "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)," or "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository#setting-the-permissions-of-the-github_token-for-a-repository)." | Scope | Default access
(permissive) | Default access
(restricted) | Maximum access
by forked repos | @@ -128,7 +128,7 @@ The following table shows the permissions granted to the `GITHUB_TOKEN` by defau {% data reusables.actions.workflow-runs-dependabot-note %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ### Modifying the permissions for the `GITHUB_TOKEN` You can modify the permissions for the `GITHUB_TOKEN` in individual workflow files. If the default permissions for the `GITHUB_TOKEN` are restrictive, you may have to elevate the permissions to allow some actions and commands to run successfully. If the default permissions are permissive, you can edit the workflow file to remove some permissions from the `GITHUB_TOKEN`. As a good security practice, you should grant the `GITHUB_TOKEN` the least required access. diff --git a/content/actions/reference/context-and-expression-syntax-for-github-actions.md b/content/actions/reference/context-and-expression-syntax-for-github-actions.md index c7a6a8d4e8..ea8af48472 100644 --- a/content/actions/reference/context-and-expression-syntax-for-github-actions.md +++ b/content/actions/reference/context-and-expression-syntax-for-github-actions.md @@ -9,9 +9,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions - /actions/reference/contexts-and-expression-syntax-for-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' miniTocMaxHeadingLevel: 3 --- @@ -162,7 +162,7 @@ The `runner` context contains information about the runner that is executing the |---------------|------|-------------| | `runner.os` | `string` | {% data reusables.actions.runner-os-description %} | | `runner.temp` | `string` | {% data reusables.actions.runner-temp-directory-description %} | -| `runner.tool_cache` | `string` | {% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} {% data reusables.actions.runner-tool-cache-description %} {% endif %}| +| `runner.tool_cache` | `string` | {% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} {% data reusables.actions.runner-tool-cache-description %} {% endif %}| ### `needs` context diff --git a/content/actions/reference/encrypted-secrets.md b/content/actions/reference/encrypted-secrets.md index d77dd0e7ab..45a0a68dfd 100644 --- a/content/actions/reference/encrypted-secrets.md +++ b/content/actions/reference/encrypted-secrets.md @@ -1,15 +1,15 @@ --- title: Encrypted secrets -intro: Encrypted secrets allow you to store sensitive information in your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, repository, or repository environments{% else %} or repository{% endif %}. +intro: 'Encrypted secrets allow you to store sensitive information in your organization{% ifversion fpt or ghes > 3.0 %}, repository, or repository environments{% else %} or repository{% endif %}.' product: '{% data reusables.gated-features.actions %}' redirect_from: - /github/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets - /actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets - /actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -18,11 +18,11 @@ versions: ## About encrypted secrets -Secrets are encrypted environment variables that you create in an organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository, or repository environment{% else %} or repository{% endif %}. The secrets that you create are available to use in {% data variables.product.prodname_actions %} workflows. {% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to help ensure that secrets are encrypted before they reach {% data variables.product.prodname_dotcom %} and remain encrypted until you use them in a workflow. +Secrets are encrypted environment variables that you create in an organization{% ifversion fpt or ghes > 3.0 or ghae %}, repository, or repository environment{% else %} or repository{% endif %}. The secrets that you create are available to use in {% data variables.product.prodname_actions %} workflows. {% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to help ensure that secrets are encrypted before they reach {% data variables.product.prodname_dotcom %} and remain encrypted until you use them in a workflow. {% data reusables.github-actions.secrets-org-level-overview %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} For secrets stored at the environment level, you can enable required reviewers to control access to the secrets. A workflow job cannot access environment secrets until approval is granted by required approvers. {% endif %} @@ -30,9 +30,9 @@ For secrets stored at the environment level, you can enable required reviewers t {% data reusables.codespaces.secrets-naming %} - For example, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}a secret created at the environment level must have a unique name in that environment, {% endif %}a secret created at the repository level must have a unique name in that repository, and a secret created at the organization level must have a unique name at that level. + For example, {% ifversion fpt or ghes > 3.0 or ghae %}a secret created at the environment level must have a unique name in that environment, {% endif %}a secret created at the repository level must have a unique name in that repository, and a secret created at the organization level must have a unique name at that level. - {% data reusables.codespaces.secret-precedence %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} Similarly, if an organization, repository, and environment all have a secret with the same name, the environment-level secret takes precedence.{% endif %} + {% data reusables.codespaces.secret-precedence %}{% ifversion fpt or ghes > 3.0 or ghae %} Similarly, if an organization, repository, and environment all have a secret with the same name, the environment-level secret takes precedence.{% endif %} To help ensure that {% data variables.product.prodname_dotcom %} redacts your secret in logs, avoid using structured data as the values of secrets. For example, avoid creating secrets that contain JSON or encoded Git blobs. @@ -48,7 +48,7 @@ You can use and read encrypted secrets in a workflow file if you have access to {% endwarning %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} Organization and repository secrets are read when a workflow run is queued, and environment secrets are read when a job referencing the environment starts. {% endif %} @@ -70,7 +70,7 @@ When generating credentials, we recommend that you grant the minimum permissions 1. Enter the value for your secret. 1. Click **Add secret**. -If your repository {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}has environment secrets or {% endif %}can access secrets from the parent organization, then those secrets are also listed on this page. +If your repository {% ifversion fpt or ghes > 3.0 or ghae %}has environment secrets or {% endif %}can access secrets from the parent organization, then those secrets are also listed on this page. {% note %} @@ -78,7 +78,7 @@ If your repository {% if currentVersion == "free-pro-team@latest" or currentVers {% endnote %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ## Creating encrypted secrets for an environment @@ -186,13 +186,13 @@ steps: ## Limits for secrets -You can store up to 1,000 organization secrets{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, 100 repository secrets, and 100 environment secrets{% else %} and 100 repository secrets{% endif %}. +You can store up to 1,000 organization secrets{% ifversion fpt or ghes > 3.0 or ghae %}, 100 repository secrets, and 100 environment secrets{% else %} and 100 repository secrets{% endif %}. A workflow created in a repository can access the following number of secrets: * All 100 repository secrets. * If the repository is assigned access to more than 100 organization secrets, the workflow can only use the first 100 organization secrets (sorted alphabetically by secret name). -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}* All 100 environment secrets.{% endif %} +{% ifversion fpt or ghes > 3.0 or ghae %}* All 100 environment secrets.{% endif %} Secrets are limited to 64 KB in size. To use secrets that are larger than 64 KB, you can store encrypted secrets in your repository and save the decryption passphrase as a secret on {% data variables.product.prodname_dotcom %}. For example, you can use `gpg` to encrypt your credentials locally before checking the file in to your repository on {% data variables.product.prodname_dotcom %}. For more information, see the "[gpg manpage](https://www.gnupg.org/gph/de/manual/r1023.html)." diff --git a/content/actions/reference/environment-variables.md b/content/actions/reference/environment-variables.md index b5a07413c0..c5bd22525a 100644 --- a/content/actions/reference/environment-variables.md +++ b/content/actions/reference/environment-variables.md @@ -7,9 +7,9 @@ redirect_from: - /actions/automating-your-workflow-with-github-actions/using-environment-variables - /actions/configuring-and-managing-workflows/using-environment-variables versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -44,7 +44,7 @@ To use the value of an environment variable in a workflow file, you should use t If you use the workflow file's `run` key to read environment variables from within the runner operating system (as shown in the example above), the variable is substituted in the runner operating system after the job is sent to the runner. For other parts of a workflow file, you must use the `env` context to read environment variables; this is because workflow keys (such as `if`) require the variable to be substituted during workflow processing before it is sent to the runner. -You can also use the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`GITHUB_ENV` environment file{% else %} `set-env` workflow command{% endif %} to set an environment variable that the following steps in a workflow can use. The {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}environment file{% else %} `set-env` command{% endif %} can be used directly by an action or as a shell command in a workflow file using the `run` keyword. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)." +You can also use the {% ifversion fpt or ghes > 2.22 or ghae %}`GITHUB_ENV` environment file{% else %} `set-env` workflow command{% endif %} to set an environment variable that the following steps in a workflow can use. The {% ifversion fpt or ghes > 2.22 or ghae %}environment file{% else %} `set-env` command{% endif %} can be used directly by an action or as a shell command in a workflow file using the `run` keyword. For more information, see "[Workflow commands for {% data variables.product.prodname_actions %}](/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable)." ## Default environment variables @@ -74,7 +74,7 @@ We strongly recommend that actions use environment variables to access the files | `GITHUB_GRAPHQL_URL` | Returns the GraphQL API URL. For example: `{% data variables.product.graphql_url_code %}`. | `RUNNER_OS` | {% data reusables.actions.runner-os-description %} | `RUNNER_TEMP` | {% data reusables.actions.runner-temp-directory-description %} -{% if currentVersion != "github-ae@latest" %}| `RUNNER_TOOL_CACHE` | {% data reusables.actions.runner-tool-cache-description %}{% endif %} +{% ifversion not ghae %}| `RUNNER_TOOL_CACHE` | {% data reusables.actions.runner-tool-cache-description %}{% endif %} {% tip %} diff --git a/content/actions/reference/environments.md b/content/actions/reference/environments.md index 7695a33f25..08fe1b716d 100644 --- a/content/actions/reference/environments.md +++ b/content/actions/reference/environments.md @@ -3,9 +3,9 @@ title: Environments intro: You can configure environments with protection rules and secrets. A workflow job can reference an environment to use the environment's protection rules and secrets. product: '{% data reusables.gated-features.environments %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.1' - github-ae: '*' + fpt: '*' + ghes: '>=3.1' + ghae: '*' --- {% data reusables.actions.ae-beta %} @@ -14,13 +14,13 @@ versions: You can configure environments with protection rules and secrets. When a workflow job references an environment, the job won't start until all of the environment's protection rules pass. A job also cannot access secrets that are defined in an environment until all the environment protection rules pass. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Environment protection rules and environment secrets are only available on public repositories and private repositories on an enterprise plan. If you convert a repository from public to private on a non-enterprise plan, any configured protection rules or environment secrets will be ignored, and you will not be able to configure any environments. If you convert your repository back to public, you will have access to any previously configured protection rules and environment secrets. {% endif %} ### Environment protection rules -Environment protection rules require specific conditions to pass before a job referencing the environment can proceed. {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}You can use environment protection rules to require a manual approval, delay a job, or restrict the environment to certain branches.{% else %}You can use environment protection rules to require a manual approval or delay a job.{% endif %} +Environment protection rules require specific conditions to pass before a job referencing the environment can proceed. {% ifversion fpt or ghae-next or ghes > 3.1 %}You can use environment protection rules to require a manual approval, delay a job, or restrict the environment to certain branches.{% else %}You can use environment protection rules to require a manual approval or delay a job.{% endif %} #### Required reviewers @@ -32,7 +32,7 @@ For more information on reviewing jobs that reference an environment with requir Use a wait timer to delay a job for a specific amount of time after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghae-next or ghes > 3.1 %} #### Deployment branches Use deployment branches to restrict which branches can deploy to the environment. Below are the options for deployment branches for an environment: @@ -64,7 +64,7 @@ Secrets stored in an environment are only available to workflow jobs that refere 1. Enter a name for the environment, then click **Configure environment**. Environment names are not case sensitive. An environment name may not exceed 255 characters and must be unique within the repository. 1. Configure any environment protection rules or environment secrets. -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}You can also create and configure environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)" and "[Secrets](/rest/reference/actions#secrets)."{% endif %} +{% ifversion fpt or ghae-next or ghes > 3.1 %}You can also create and configure environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)" and "[Secrets](/rest/reference/actions#secrets)."{% endif %} Running a workflow that references an environment that does not exist will create an environment with the referenced name. The newly created environment will not have any protection rules or secrets configured. Anyone that can edit workflows in the repository can create environments via a workflow file, but only repository admins can configure the environment. @@ -91,4 +91,4 @@ Deleting an environment will delete all secrets and protection rules associated 1. Next to the environment that you want to delete, click {% octicon "trash" aria-label="The trash icon" %}. 2. Click **I understand, delete this environment**. -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}You can also delete environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)."{% endif %} +{% ifversion fpt or ghae-next or ghes > 3.1 %}You can also delete environments through the REST API. For more information, see "[Environments](/rest/reference/repos#environments)."{% endif %} diff --git a/content/actions/reference/events-that-trigger-workflows.md b/content/actions/reference/events-that-trigger-workflows.md index c3b932ce24..35bb0d2d25 100644 --- a/content/actions/reference/events-that-trigger-workflows.md +++ b/content/actions/reference/events-that-trigger-workflows.md @@ -8,9 +8,9 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/events-that-trigger-workflows - /actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -586,7 +586,7 @@ on: {% data reusables.developer-site.pull_request_forked_repos_link %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ### `pull_request_target` @@ -720,7 +720,7 @@ on: types: [started] ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ### `workflow_run` diff --git a/content/actions/reference/index.md b/content/actions/reference/index.md index 5be5dc8ed7..09c181fc87 100644 --- a/content/actions/reference/index.md +++ b/content/actions/reference/index.md @@ -4,9 +4,9 @@ intro: 'Reference documentation for creating workflows, using GitHub-hosted runn redirect_from: - /actions/configuring-and-managing-workflows/using-variables-and-secrets-in-a-workflow versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /workflow-syntax-for-github-actions - /context-and-expression-syntax-for-github-actions @@ -29,15 +29,15 @@ You can configure workflows to run when specific GitHub events occur, at a sched ## Authentication and secrets -{% data variables.product.prodname_dotcom %} provides a token that you can use to authenticate on behalf of {% data variables.product.prodname_actions %}. You can also store sensitive information as a secret in your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}, repository, or environments{% else %} or repository{% endif %}. {% data variables.product.prodname_dotcom %} encrypts all secrets. +{% data variables.product.prodname_dotcom %} provides a token that you can use to authenticate on behalf of {% data variables.product.prodname_actions %}. You can also store sensitive information as a secret in your organization{% ifversion fpt or ghes > 3.0 or ghae %}, repository, or environments{% else %} or repository{% endif %}. {% data variables.product.prodname_dotcom %} encrypts all secrets. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ## Environments Workflow jobs can reference environments that have protection rules or environment-specific secrets. {% endif %} ## Environment variables {% data variables.product.prodname_dotcom %} sets default environment variables for each {% data variables.product.prodname_actions %} workflow run. You can also set custom environment variables in your workflow file. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Administration When you run workflows on {% data variables.product.prodname_dotcom %}-hosted runners, there are usage limits and potential usage charges. You can also disable or restrict the usage of {% data variables.product.prodname_actions %} in a repository and organization. {% endif %} diff --git a/content/actions/reference/usage-limits-billing-and-administration.md b/content/actions/reference/usage-limits-billing-and-administration.md index 5406a4059f..5f5e9093e4 100644 --- a/content/actions/reference/usage-limits-billing-and-administration.md +++ b/content/actions/reference/usage-limits-billing-and-administration.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /actions/getting-started-with-github-actions/usage-and-billing-information-for-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' topics: - Billing --- @@ -18,7 +18,7 @@ topics: ## About billing for {% data variables.product.prodname_actions %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.github-actions.actions-billing %} For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)." {% else %} GitHub Actions usage is free for {% data variables.product.prodname_ghe_server %}s that use self-hosted runners. @@ -26,7 +26,7 @@ GitHub Actions usage is free for {% data variables.product.prodname_ghe_server % ## Usage limits -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} There are some limits on {% data variables.product.prodname_actions %} usage when using {% data variables.product.prodname_dotcom %}-hosted runners. These limits are subject to change. {% note %} @@ -53,13 +53,13 @@ There are some limits on {% data variables.product.prodname_actions %} usage whe Usage limits apply to self-hosted runners. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners/#usage-limits)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Usage policy In addition to the usage limits, you must ensure that you use {% data variables.product.prodname_actions %} within the [GitHub Terms of Service](/articles/github-terms-of-service/). For more information on {% data variables.product.prodname_actions %}-specific terms, see the [GitHub Additional Product Terms](/github/site-policy/github-additional-product-terms#a-actions-usage). {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Artifact and log retention policy You can configure the artifact and log retention period for your repository, organization, or enterprise account. @@ -79,10 +79,10 @@ For more information, see: For more information, see: - "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository)" -- "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)"{% if currentVersion == "free-pro-team@latest" %} +- "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)"{% ifversion fpt %} - "[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)" for {% data variables.product.prodname_ghe_cloud %}{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Disabling and enabling workflows You can enable and disable individual workflows in your repository on {% data variables.product.prodname_dotcom %}. diff --git a/content/actions/reference/workflow-commands-for-github-actions.md b/content/actions/reference/workflow-commands-for-github-actions.md index 368ced76a9..2aef3fe038 100644 --- a/content/actions/reference/workflow-commands-for-github-actions.md +++ b/content/actions/reference/workflow-commands-for-github-actions.md @@ -10,9 +10,9 @@ redirect_from: - /actions/reference/development-tools-for-github-actions - /actions/reference/logging-commands-for-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -23,7 +23,7 @@ versions: Actions can communicate with the runner machine to set environment variables, output values used by other actions, add debug messages to the output logs, and other tasks. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} Most workflow commands use the `echo` command in a specific format, while others are invoked by writing to a file. For more information, see ["Environment files".](#environment-files) {% else %} Workflow commands use the `echo` command in a specific format. @@ -69,11 +69,11 @@ The following table shows which toolkit functions are available within a workflo | Toolkit function | Equivalent workflow command | | ----------------- | ------------- | -| `core.addPath` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}Accessible using environment file `GITHUB_PATH`{% else %} `add-path` {% endif %} | +| `core.addPath` | {% ifversion fpt or ghes > 2.22 or ghae %}Accessible using environment file `GITHUB_PATH`{% else %} `add-path` {% endif %} | | `core.debug` | `debug` | | `core.error` | `error` | | `core.endGroup` | `endgroup` | -| `core.exportVariable` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}Accessible using environment file `GITHUB_ENV`{% else %} `set-env` {% endif %} | +| `core.exportVariable` | {% ifversion fpt or ghes > 2.22 or ghae %}Accessible using environment file `GITHUB_ENV`{% else %} `set-env` {% endif %} | | `core.getInput` | Accessible using environment variable `INPUT_{NAME}` | | `core.getState` | Accessible using environment variable `STATE_{NAME}` | | `core.isDebug` | Accessible using environment variable `RUNNER_DEBUG` | @@ -84,7 +84,7 @@ The following table shows which toolkit functions are available within a workflo | `core.startGroup` | `group` | | `core.warning` | `warning file` | -{% if currentVersion ver_lt "enterprise-server@2.23" %} +{% ifversion ghes < 3.0 %} ## Setting an environment variable `::set-env name={name}::{value}` @@ -112,7 +112,7 @@ Optionally, you can also declare output parameters in an action's metadata file. echo "::set-output name=action_fruit::strawberry" ``` -{% if currentVersion ver_lt "enterprise-server@2.23" %} +{% ifversion ghes < 3.0 %} ## Adding a system path `::add-path::{path}` @@ -246,7 +246,7 @@ The `STATE_processID` variable is then exclusively available to the cleanup scri console.log("The running PID from the main action is: " + process.env.STATE_processID); ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Environment Files During the execution of a workflow, the runner generates temporary files that can be used to perform certain actions. The path to these files are exposed via environment variables. You will need to use UTF-8 encoding when writing to these files to ensure proper processing of the commands. Multiple commands can be written to the same file, separated by newlines. diff --git a/content/actions/reference/workflow-syntax-for-github-actions.md b/content/actions/reference/workflow-syntax-for-github-actions.md index a2b41c0bbb..849e3c6ff5 100644 --- a/content/actions/reference/workflow-syntax-for-github-actions.md +++ b/content/actions/reference/workflow-syntax-for-github-actions.md @@ -8,9 +8,9 @@ redirect_from: - /github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions - /actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-beta %} @@ -187,7 +187,7 @@ For more information, see "[About comparing branches in pull requests](/articles For more information about cron syntax, see "[Events that trigger workflows](/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#scheduled-events)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## `permissions` You can modify the default permissions granted to the `GITHUB_TOKEN`, adding or removing access as required, so that you only allow the minimum required access. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)." @@ -247,7 +247,7 @@ defaults: working-directory: scripts ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} ## `concurrency` {% data reusables.actions.concurrency-beta %} @@ -328,7 +328,7 @@ In this example, `job3` uses the `always()` conditional expression so that it al **Required**. The type of machine to run the job on. The machine can be either a {% data variables.product.prodname_dotcom %}-hosted runner or a self-hosted runner. -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} ### {% data variables.actions.hosted_runner %}s If you use an {% data variables.actions.hosted_runner %}, each job runs in a fresh instance of a virtual environment specified by `runs-on`. @@ -377,7 +377,7 @@ runs-on: [self-hosted, linux] For more information, see "[About self-hosted runners](/github/automating-your-workflow-with-github-actions/about-self-hosted-runners)" and "[Using self-hosted runners in a workflow](/github/automating-your-workflow-with-github-actions/using-self-hosted-runners-in-a-workflow)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## `jobs..permissions` You can modify the default permissions granted to the `GITHUB_TOKEN`, adding or removing access as required, so that you only allow the minimum required access. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)." @@ -405,7 +405,7 @@ jobs: ``` {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ## `jobs..environment` The environment that the job references. All environment protection rules must pass before a job referencing the environment is sent to a runner. For more information, see "[Environments](/actions/reference/environments)." @@ -440,7 +440,7 @@ environment: {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} ## `jobs..concurrency` {% data reusables.actions.concurrency-beta %} @@ -694,7 +694,7 @@ jobs: uses: docker://alpine:3.8 ``` -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Example: Using the {% data variables.product.prodname_registry %} {% data variables.product.prodname_container_registry %} `docker://{host}/{image}:{tag}` @@ -856,7 +856,7 @@ steps: The command used, `perl` in this example, must be installed on the runner. -{% if currentVersion == "github-ae@latest" %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %}For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} For information about the software included on GitHub-hosted runners, see "[Specifications for GitHub-hosted runners](/actions/reference/specifications-for-github-hosted-runners#supported-software)." {% endif %} @@ -1030,7 +1030,7 @@ steps: ``` {% endraw %} -{% if currentVersion == "github-ae@latest" %}To find supported configuration options for {% data variables.actions.hosted_runner %}s, see "[Software specifications](/actions/using-github-hosted-runners/about-ae-hosted-runners#software-specifications)." +{% ifversion ghae %}To find supported configuration options for {% data variables.actions.hosted_runner %}s, see "[Software specifications](/actions/using-github-hosted-runners/about-ae-hosted-runners#software-specifications)." {% else %}To find supported configuration options for {% data variables.product.prodname_dotcom %}-hosted runners, see "[Virtual environments for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/automating-your-workflow-with-github-actions/virtual-environments-for-github-hosted-runners)." {% endif %} @@ -1172,9 +1172,9 @@ jobs: ## `jobs..container.image` -The Docker image to use as the container to run the action. The value can be the Docker Hub image name or a {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %}public{% endif %} registry name. +The Docker image to use as the container to run the action. The value can be the Docker Hub image name or a {% ifversion ghes < 3.0 %}public{% endif %} registry name. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## `jobs..container.credentials` @@ -1256,9 +1256,9 @@ services: ## `jobs..services..image` -The Docker image to use as the service container to run the action. The value can be the Docker Hub image name or a {% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %}public{% endif %} registry name. +The Docker image to use as the service container to run the action. The value can be the Docker Hub image name or a {% ifversion ghes < 3.0 %}public{% endif %} registry name. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## `jobs..services..credentials` diff --git a/content/actions/using-github-hosted-runners/about-ae-hosted-runners.md b/content/actions/using-github-hosted-runners/about-ae-hosted-runners.md index bff0aa8f0f..d0b20416b7 100644 --- a/content/actions/using-github-hosted-runners/about-ae-hosted-runners.md +++ b/content/actions/using-github-hosted-runners/about-ae-hosted-runners.md @@ -3,7 +3,7 @@ title: About AE hosted runners intro: '{% data variables.product.prodname_ghe_managed %} offers customizable and security hardened hosted virtual machines to run {% data variables.product.prodname_actions %} workflows. You can select the hardware, bring your own machine image, and enable an IP address for networking with your {% data variables.actions.hosted_runner %}.' product: '{% data reusables.gated-features.actions %}' versions: - github-ae: '*' + ghae: '*' --- diff --git a/content/actions/using-github-hosted-runners/about-github-hosted-runners.md b/content/actions/using-github-hosted-runners/about-github-hosted-runners.md index 57b0574f84..562b93918d 100644 --- a/content/actions/using-github-hosted-runners/about-github-hosted-runners.md +++ b/content/actions/using-github-hosted-runners/about-github-hosted-runners.md @@ -11,8 +11,8 @@ redirect_from: - /actions/reference/software-installed-on-github-hosted-runners - /actions/reference/specifications-for-github-hosted-runners versions: - free-pro-team: '*' - enterprise-server: '>=2.22' + fpt: '*' + ghes: '>=2.22' --- {% data reusables.actions.enterprise-beta %} @@ -132,7 +132,7 @@ Actions that run in Docker containers have static directories under the `/github - `/github/workspace` - {% data reusables.repositories.action-root-user-required %} - `/github/workflow` -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading - "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" diff --git a/content/actions/using-github-hosted-runners/adding-ae-hosted-runners.md b/content/actions/using-github-hosted-runners/adding-ae-hosted-runners.md index 57d0abde76..4c713ed1fe 100644 --- a/content/actions/using-github-hosted-runners/adding-ae-hosted-runners.md +++ b/content/actions/using-github-hosted-runners/adding-ae-hosted-runners.md @@ -2,7 +2,7 @@ title: Adding AE hosted runners intro: 'You can add an {% data variables.actions.hosted_runner %} to an organization or an enterprise.' versions: - github-ae: '*' + ghae: '*' --- {% data reusables.actions.ae-beta %} diff --git a/content/actions/using-github-hosted-runners/creating-custom-images.md b/content/actions/using-github-hosted-runners/creating-custom-images.md index f05008746d..c8369a8e24 100644 --- a/content/actions/using-github-hosted-runners/creating-custom-images.md +++ b/content/actions/using-github-hosted-runners/creating-custom-images.md @@ -2,7 +2,7 @@ title: Creating custom images intro: 'You can create custom images for {% data variables.actions.hosted_runner %}s.' versions: - github-ae: '*' + ghae: '*' --- {% data reusables.actions.ae-beta %} diff --git a/content/actions/using-github-hosted-runners/customizing-github-hosted-runners.md b/content/actions/using-github-hosted-runners/customizing-github-hosted-runners.md index fdc6386c6d..e91fa101ac 100644 --- a/content/actions/using-github-hosted-runners/customizing-github-hosted-runners.md +++ b/content/actions/using-github-hosted-runners/customizing-github-hosted-runners.md @@ -3,8 +3,8 @@ title: Customizing GitHub-hosted runners intro: You can install additional software on GitHub-hosted runners as a part of your workflow. product: '{% data reusables.gated-features.actions %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' + fpt: '*' + ghes: '>=2.22' type: tutorial topics: - Workflows diff --git a/content/actions/using-github-hosted-runners/index.md b/content/actions/using-github-hosted-runners/index.md index dfe7b5189d..d4125823a0 100644 --- a/content/actions/using-github-hosted-runners/index.md +++ b/content/actions/using-github-hosted-runners/index.md @@ -2,9 +2,9 @@ title: Using GitHub-hosted runners intro: You can use GitHub's runners to execute your GitHub Actions workflows. versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /about-github-hosted-runners - /customizing-github-hosted-runners diff --git a/content/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow.md b/content/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow.md index a721b9d75b..9d66fcd0ab 100644 --- a/content/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow.md +++ b/content/actions/using-github-hosted-runners/using-ae-hosted-runners-in-a-workflow.md @@ -2,7 +2,7 @@ title: Using AE hosted runners in a workflow intro: 'You can use labels to send jobs to a pool of {% data variables.actions.hosted_runner %}s.' versions: - github-ae: '*' + ghae: '*' --- {% data reusables.actions.ae-beta %} diff --git a/content/actions/using-github-hosted-runners/using-groups-to-manage-access-to-ae-hosted-runners.md b/content/actions/using-github-hosted-runners/using-groups-to-manage-access-to-ae-hosted-runners.md index 5dda6c7cdc..cba647daee 100644 --- a/content/actions/using-github-hosted-runners/using-groups-to-manage-access-to-ae-hosted-runners.md +++ b/content/actions/using-github-hosted-runners/using-groups-to-manage-access-to-ae-hosted-runners.md @@ -1,8 +1,8 @@ --- title: Using groups to manage access to AE hosted runners -intro: You can use policies to limit access to {% data variables.actions.hosted_runner %}s that have been added to an organization or enterprise. +intro: 'You can use policies to limit access to {% data variables.actions.hosted_runner %}s that have been added to an organization or enterprise.' versions: - github-ae: '*' + ghae: '*' --- {% data reusables.actions.ae-beta %} diff --git a/content/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners.md b/content/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners.md index f177348582..652b5ed04d 100644 --- a/content/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners.md +++ b/content/actions/using-github-hosted-runners/using-labels-with-ae-hosted-runners.md @@ -1,8 +1,8 @@ --- title: Using labels with AE hosted runners -intro: You can use labels to organize your {% data variables.actions.hosted_runner %}s based on their characteristics. +intro: 'You can use labels to organize your {% data variables.actions.hosted_runner %}s based on their characteristics.' versions: - github-ae: '*' + ghae: '*' --- {% data reusables.actions.ae-beta %} diff --git a/content/admin/advanced-security/about-licensing-for-github-advanced-security.md b/content/admin/advanced-security/about-licensing-for-github-advanced-security.md index 2255654c9b..279ecfe347 100644 --- a/content/admin/advanced-security/about-licensing-for-github-advanced-security.md +++ b/content/admin/advanced-security/about-licensing-for-github-advanced-security.md @@ -3,7 +3,7 @@ title: About licensing for GitHub Advanced Security intro: 'You need a license to use {% data variables.product.prodname_GH_advanced_security %} features, such as {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}.' product: '{% data reusables.gated-features.ghas %}' versions: - enterprise-server: '>=3.1' + ghes: '>=3.1' type: overview topics: - Advanced Security diff --git a/content/admin/advanced-security/configuring-code-scanning-for-your-appliance.md b/content/admin/advanced-security/configuring-code-scanning-for-your-appliance.md index 03e62517e5..9d415da2f5 100644 --- a/content/admin/advanced-security/configuring-code-scanning-for-your-appliance.md +++ b/content/admin/advanced-security/configuring-code-scanning-for-your-appliance.md @@ -8,7 +8,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-code-scanning-for-your-appliance - /admin/configuration/configuring-code-scanning-for-your-appliance versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' type: how_to topics: - Advanced Security @@ -29,7 +29,7 @@ You can configure {% data variables.product.prodname_code_scanning %} to run {% ## Prerequisites for {% data variables.product.prodname_code_scanning %} -- A license for {% data variables.product.prodname_GH_advanced_security %}{% if currentVersion ver_gt "enterprise-server@3.0" %} (see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)"){% endif %} +- A license for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghes > 3.0 %} (see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)"){% endif %} - {% data variables.product.prodname_code_scanning_capc %} enabled in the management console (see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)") @@ -45,7 +45,7 @@ You must ensure that Git is in the PATH variable on any self-hosted runners you ### Provisioning the actions for {% data variables.product.prodname_code_scanning %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} If you want to use actions to run {% data variables.product.prodname_code_scanning %} on {% data variables.product.prodname_ghe_server %}, the actions must be available on your appliance. The {% data variables.product.prodname_codeql %} action is included in your installation of {% data variables.product.prodname_ghe_server %}. If {% data variables.product.prodname_ghe_server %} has access to the internet, the action will automatically download the {% data variables.product.prodname_codeql %} bundle required to perform analysis. Alternatively, you can use a synchronization tool to make the {% data variables.product.prodname_codeql %} analysis bundle available locally. For more information, see "[Configuring {% data variables.product.prodname_codeql %} analysis on a server without internet access](#configuring-codeql-analysis-on-a-server-without-internet-access)" below. @@ -59,7 +59,7 @@ If you set up the {% data variables.product.prodname_codeql %} action sync tool, {% endif %} -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} To run {% data variables.product.prodname_code_scanning %} on {% data variables.product.prodname_ghe_server %} with {% data variables.product.prodname_actions %}, the appropriate actions must be available locally. You can make the actions available in three ways. - **Recommended**: You can use [{% data variables.product.prodname_github_connect %}](/enterprise/admin/configuration/connecting-github-enterprise-server-to-github-enterprise-cloud) to automatically download actions from {% data variables.product.prodname_dotcom_the_website %}. The machine that hosts your instance must be able to access {% data variables.product.prodname_dotcom_the_website %}. This approach ensures that you get the latest software automatically. For more information, see "[Configuring {% data variables.product.prodname_github_connect %} to sync {% data variables.product.prodname_actions %}](/enterprise/admin/configuration/configuring-code-scanning-for-your-appliance#configuring-github-connect-to-sync-github-actions)." diff --git a/content/admin/advanced-security/configuring-secret-scanning-for-your-appliance.md b/content/admin/advanced-security/configuring-secret-scanning-for-your-appliance.md index 32b13fdf72..96171027b3 100644 --- a/content/admin/advanced-security/configuring-secret-scanning-for-your-appliance.md +++ b/content/admin/advanced-security/configuring-secret-scanning-for-your-appliance.md @@ -7,7 +7,7 @@ miniTocMaxHeadingLevel: 3 redirect_from: - /admin/configuration/configuring-secret-scanning-for-your-appliance versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' type: how_to topics: - Advanced Security @@ -27,7 +27,7 @@ topics: - The [SSSE3](https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf#G3.1106470) (Supplemental Streaming SIMD Extensions 3) CPU flag needs to be enabled on the VM/KVM that runs {% data variables.product.product_location %}. -- A license for {% data variables.product.prodname_GH_advanced_security %}{% if currentVersion ver_gt "enterprise-server@3.0" %} (see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)"){% endif %} +- A license for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghes > 3.0 %} (see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)"){% endif %} - {% data variables.product.prodname_secret_scanning_caps %} enabled in the management console (see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)") diff --git a/content/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise.md b/content/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise.md index 6ea28594c0..468f93b286 100644 --- a/content/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise.md +++ b/content/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise.md @@ -4,7 +4,7 @@ shortTitle: Enabling GitHub Advanced Security intro: 'You can configure {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}. This provides extra features that help users find and fix security problems in their code.' product: '{% data reusables.gated-features.ghas %}' versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' type: how_to topics: - Advanced Security @@ -18,16 +18,16 @@ topics: {% data reusables.advanced-security.ghas-helps-developers %} -{% if currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion ghes > 3.0 %} When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features unless you set up a policy to restrict access. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)." {% else %} -When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features. {% if currentVersion == "enterprise-server@3.0" %}For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" and "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} +When you enable {% data variables.product.prodname_GH_advanced_security %} for your enterprise, repository administrators in all organizations can enable the features. {% ifversion ghes = 3.0 %}For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" and "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} {% endif %} ## Prerequisites for enabling {% data variables.product.prodname_GH_advanced_security %} -1. Upgrade your license for {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}.{% if currentVersion ver_gt "enterprise-server@3.0" %} For information about licensing, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)."{% endif %} -2. Upload the new license to {% data variables.product.product_location %}. For more information, see "[Managing your GitHub Enterprise license](/admin/overview/managing-your-github-enterprise-license#uploading-a-new-license-to-github-enterprise-server)."{% if currentVersion ver_gt "enterprise-server@2.22" %} +1. Upgrade your license for {% data variables.product.product_name %} to include {% data variables.product.prodname_GH_advanced_security %}.{% ifversion ghes > 3.0 %} For information about licensing, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)."{% endif %} +2. Upload the new license to {% data variables.product.product_location %}. For more information, see "[Managing your GitHub Enterprise license](/admin/overview/managing-your-github-enterprise-license#uploading-a-new-license-to-github-enterprise-server)."{% ifversion ghes > 2.22 %} 3. Review the prerequisites for the features you plan to enable. - {% data variables.product.prodname_code_scanning_capc %}, see "[Configuring {% data variables.product.prodname_code_scanning %} for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#prerequisites-for-code-scanning)." @@ -35,7 +35,7 @@ When you enable {% data variables.product.prodname_GH_advanced_security %} for y ## Checking whether your license includes {% data variables.product.prodname_GH_advanced_security %} -{% if currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion ghes > 3.0 %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.license-tab %} @@ -43,7 +43,7 @@ When you enable {% data variables.product.prodname_GH_advanced_security %} for y ![{% data variables.product.prodname_GH_advanced_security %} section of Enterprise license](/assets/images/help/billing/ghas-orgs-list-enterprise-ghes.png) {% endif %} -{% if currentVersion == "enterprise-server@2.22" or currentVersion == "enterprise-server@3.0" %} +{% ifversion ghes = 2.22 or ghes = 3.0 %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} 1. If your license includes {% data variables.product.prodname_GH_advanced_security %}, there is an **{% data variables.product.prodname_advanced_security %}** entry in the left sidebar. @@ -58,7 +58,7 @@ When you enable {% data variables.product.prodname_GH_advanced_security %} for y {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} -{% data reusables.enterprise_management_console.advanced-security-tab %}{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% data reusables.enterprise_management_console.advanced-security-tab %}{% ifversion ghes > 2.22 %} 1. Under "{% data variables.product.prodname_advanced_security %}," select the features that you want to enable and deselect any features you want to disable. ![Checkbox to enable or disable {% data variables.product.prodname_advanced_security %} features](/assets/images/enterprise/management-console/enable-advanced-security-checkboxes.png){% else %} 1. Under "{% data variables.product.prodname_advanced_security %}," click **{% data variables.product.prodname_code_scanning_capc %}**. @@ -89,4 +89,4 @@ For example, you can enable {% data variables.product.prodname_code_scanning %} ghe-config-apply ``` -{% if currentVersion ver_gt "enterprise-server@2.22" %}To enable and disable {% data variables.product.prodname_secret_scanning %} in the same way, set: `ghe-config app.secret-scanning.enabled` true or false and apply the configuration.{% endif %} +{% ifversion ghes > 2.22 %}To enable and disable {% data variables.product.prodname_secret_scanning %} in the same way, set: `ghe-config app.secret-scanning.enabled` true or false and apply the configuration.{% endif %} diff --git a/content/admin/advanced-security/index.md b/content/admin/advanced-security/index.md index d5ed0d64c3..0edc537021 100644 --- a/content/admin/advanced-security/index.md +++ b/content/admin/advanced-security/index.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-advanced-security-features - /admin/configuration/configuring-advanced-security-features versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' topics: - Enterprise children: diff --git a/content/admin/advanced-security/viewing-your-github-advanced-security-usage.md b/content/admin/advanced-security/viewing-your-github-advanced-security-usage.md index 4ae553e4a6..56ebf7c26f 100644 --- a/content/admin/advanced-security/viewing-your-github-advanced-security-usage.md +++ b/content/admin/advanced-security/viewing-your-github-advanced-security-usage.md @@ -1,10 +1,10 @@ --- title: Viewing your GitHub Advanced Security usage intro: 'You can view usage of your {% data variables.product.prodname_GH_advanced_security %} license.' -permissions: Enterprise owners can view usage for {% data variables.product.prodname_GH_advanced_security %}. +permissions: 'Enterprise owners can view usage for {% data variables.product.prodname_GH_advanced_security %}.' product: '{% data reusables.gated-features.ghas %}' versions: - enterprise-server: '>=3.1' + ghes: '>=3.1' topics: - Enterprise --- diff --git a/content/admin/all-releases.md b/content/admin/all-releases.md index 4205448568..b2c63c965d 100644 --- a/content/admin/all-releases.md +++ b/content/admin/all-releases.md @@ -3,7 +3,7 @@ title: GitHub Enterprise Server releases intro: 'Documentation for the currently supported and previously deprecated versions of {{ site.data.variables.product.prodname_ghe_server }}.' allowTitleToDifferFromFilename: true versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- diff --git a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/allowing-built-in-authentication-for-users-outside-your-identity-provider.md b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/allowing-built-in-authentication-for-users-outside-your-identity-provider.md index 129c9d2707..b2fbce46ec 100644 --- a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/allowing-built-in-authentication-for-users-outside-your-identity-provider.md +++ b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/allowing-built-in-authentication-for-users-outside-your-identity-provider.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider - /admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Accounts diff --git a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/changing-authentication-methods.md b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/changing-authentication-methods.md index 485c44d4f9..c27932438f 100644 --- a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/changing-authentication-methods.md +++ b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/changing-authentication-methods.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/authentication/changing-authentication-methods - /admin/authentication/changing-authentication-methods versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Accounts diff --git a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/disabling-unauthenticated-sign-ups.md b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/disabling-unauthenticated-sign-ups.md index 39c73153f2..f06169d442 100644 --- a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/disabling-unauthenticated-sign-ups.md +++ b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/disabling-unauthenticated-sign-ups.md @@ -7,7 +7,7 @@ redirect_from: - /admin/authentication/disabling-unauthenticated-sign-ups intro: 'If you''re using built-in authentication, you can block unauthenticated people from being able to create an account.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Accounts diff --git a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/index.md b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/index.md index 4588ba58a4..fe3699e80a 100644 --- a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/index.md +++ b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/index.md @@ -9,7 +9,7 @@ redirect_from: - /enterprise/admin/user-management/authenticating-users-for-your-github-enterprise-server-instance - /enterprise/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-built-in-authentication.md b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-built-in-authentication.md index 7cdd4b4862..c5cb69e118 100644 --- a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-built-in-authentication.md +++ b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-built-in-authentication.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/authentication/using-built-in-authentication - /admin/authentication/using-built-in-authentication versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Accounts diff --git a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-cas.md b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-cas.md index 66f42d42a0..d16b3ad090 100644 --- a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-cas.md +++ b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-cas.md @@ -6,9 +6,9 @@ redirect_from: - /enterprise/admin/user-management/using-cas - /enterprise/admin/authentication/using-cas - /admin/authentication/using-cas -intro: 'CAS is a single sign-on (SSO) protocol for multiple web applications. A CAS user account does not take up a {% if currentVersion ver_gt "enterprise-server@2.16" %}user license{% else %}seat{% endif %} until the user signs in.' +intro: 'CAS is a single sign-on (SSO) protocol for multiple web applications. A CAS user account does not take up a {% ifversion ghes %}user license{% else %}seat{% endif %} until the user signs in.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Accounts diff --git a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-ldap.md b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-ldap.md index afff15c57e..a2e17c7aec 100644 --- a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-ldap.md +++ b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-ldap.md @@ -11,7 +11,7 @@ redirect_from: - /admin/authentication/using-ldap intro: 'LDAP lets you authenticate {% data variables.product.prodname_ghe_server %} against your existing accounts and centrally manage repository access. LDAP is a popular application protocol for accessing and maintaining directory information services, and is one of the most common protocols used to integrate third-party software with large company user directories.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Accounts diff --git a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-saml.md b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-saml.md index 2252be44d3..bc765456a9 100644 --- a/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-saml.md +++ b/content/admin/authentication/authenticating-users-for-your-github-enterprise-server-instance/using-saml.md @@ -8,7 +8,7 @@ redirect_from: - /admin/authentication/using-saml intro: 'SAML is an XML-based standard for authentication and authorization. {% data variables.product.prodname_ghe_server %} can act as a service provider (SP) with your internal SAML identity provider (IdP).' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Accounts @@ -40,7 +40,7 @@ A mapping is created between the `NameID` and the {% data variables.product.prod {% note %} -**Note**: If the `NameID` for a user does change on the IdP, the user will see an error message when they try to sign in to your {% data variables.product.prodname_ghe_server %} instance. {% if currentVersion ver_gt "enterprise-server@2.21" %}To restore the user's access, you'll need to update the user account's `NameID` mapping. For more information, see "[Updating a user's SAML `NameID`](#updating-a-users-saml-nameid)."{% else %} For more information, see "[Error: 'Another user already owns the account'](#error-another-user-already-owns-the-account)."{% endif %} +**Note**: If the `NameID` for a user does change on the IdP, the user will see an error message when they try to sign in to your {% data variables.product.prodname_ghe_server %} instance. {% ifversion ghes > 2.21 %}To restore the user's access, you'll need to update the user account's `NameID` mapping. For more information, see "[Updating a user's SAML `NameID`](#updating-a-users-saml-nameid)."{% else %} For more information, see "[Error: 'Another user already owns the account'](#error-another-user-already-owns-the-account)."{% endif %} {% endnote %} @@ -101,7 +101,7 @@ These attributes are available. You can change the attribute names in the [manag 10. Modify the SAML attribute names to match your IdP if needed, or accept the default names. ![SAML attribute names](/assets/images/enterprise/management-console/saml-attributes.png) -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ## Updating a user's SAML `NameID` @@ -164,7 +164,7 @@ When the user signs in again, {% data variables.product.prodname_ghe_server %} c > Another user already owns the account. Please have your administrator check the authentication log. -The message typically indicates that the person's username or email address has changed on the IdP. {% if currentVersion ver_gt "enterprise-server@2.21" %}Ensure that the `NameID` mapping for the user account on {% data variables.product.prodname_ghe_server %} matches the user's `NameID` on your IdP. For more information, see "[Updating a user's SAML `NameID`](#updating-a-users-saml-nameid)."{% else %}For help updating the `NameID` mapping, contact {% data variables.contact.contact_ent_support %}.{% endif %} +The message typically indicates that the person's username or email address has changed on the IdP. {% ifversion ghes > 2.21 %}Ensure that the `NameID` mapping for the user account on {% data variables.product.prodname_ghe_server %} matches the user's `NameID` on your IdP. For more information, see "[Updating a user's SAML `NameID`](#updating-a-users-saml-nameid)."{% else %}For help updating the `NameID` mapping, contact {% data variables.contact.contact_ent_support %}.{% endif %} ### Error: Recipient in SAML response was blank or not valid diff --git a/content/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md b/content/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md index 80e14bf1b5..cf318e3585 100644 --- a/content/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md +++ b/content/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad.md @@ -5,7 +5,7 @@ intro: 'You can use a tenant in Azure Active Directory (Azure AD) as an identity permissions: 'Enterprise owners can configure authentication and provisioning for an enterprise on {% data variables.product.product_name %}.' product: '{% data reusables.gated-features.saml-sso %}' versions: - github-ae: '*' + ghae: '*' type: how_to topics: - Accounts @@ -41,7 +41,7 @@ To configure authentication and user provisioning for {% data variables.product. ## Configuring authentication and user provisioning with Azure AD -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} 1. In Azure AD, add {% data variables.product.ae_azure_ad_app_link %} to your tenant and configure single sign-on. For more information, see [Tutorial: Azure Active Directory single sign-on (SSO) integration with {% data variables.product.prodname_ghe_managed %}](https://docs.microsoft.com/azure/active-directory/saas-apps/github-ae-tutorial) in the Microsoft Docs. diff --git a/content/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/index.md b/content/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/index.md index e91c9baa9e..2a7e7173ae 100644 --- a/content/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/index.md +++ b/content/admin/authentication/configuring-authentication-and-provisioning-with-your-identity-provider/index.md @@ -2,7 +2,7 @@ title: Configuring authentication and provisioning with your identity provider intro: 'You can use an identity provider (IdP) that supports both SAML single sign-on (SSO) and System for Cross-domain Identity Management (SCIM) to configure authentication and user provisioning for {% data variables.product.product_location %}.' versions: - github-ae: '*' + ghae: '*' children: - /configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad --- diff --git a/content/admin/authentication/index.md b/content/admin/authentication/index.md index 2da32c3572..30916742de 100644 --- a/content/admin/authentication/index.md +++ b/content/admin/authentication/index.md @@ -4,8 +4,8 @@ intro: 'You can configure how users sign into {% data variables.product.product_ redirect_from: - /enterprise/admin/authentication versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/authentication/managing-identity-and-access-for-your-enterprise/about-identity-and-access-management-for-your-enterprise.md b/content/admin/authentication/managing-identity-and-access-for-your-enterprise/about-identity-and-access-management-for-your-enterprise.md index 5aa6b363cc..9ed969143d 100644 --- a/content/admin/authentication/managing-identity-and-access-for-your-enterprise/about-identity-and-access-management-for-your-enterprise.md +++ b/content/admin/authentication/managing-identity-and-access-for-your-enterprise/about-identity-and-access-management-for-your-enterprise.md @@ -1,10 +1,10 @@ --- title: About identity and access management for your enterprise shortTitle: About identity and access management -intro: 'You can use {% if enterpriseServerVersions contains currentVersion %}{% data variables.product.prodname_ghe_server %}''s built-in authentication, or choose between CAS, LDAP, or SAML{% else %}SAML single sign-on (SSO) and System for Cross-domain Identity Management (SCIM){% endif %} to centrally manage access {% if currentVersion == "free-pro-team@latest" %}to organizations owned by your enterprise on {% data variables.product.prodname_dotcom_the_website %}{% endif %}{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}to {% data variables.product.product_location %}{% endif %}.' +intro: 'You can use {% ifversion ghes %}{% data variables.product.prodname_ghe_server %}''s built-in authentication, or choose between CAS, LDAP, or SAML{% else %}SAML single sign-on (SSO) and System for Cross-domain Identity Management (SCIM){% endif %} to centrally manage access {% ifversion fpt %}to organizations owned by your enterprise on {% data variables.product.prodname_dotcom_the_website %}{% endif %}{% ifversion ghes or ghae %}to {% data variables.product.product_location %}{% endif %}.' product: '{% data reusables.gated-features.saml-sso %}' versions: - github-ae: '*' + ghae: '*' type: overview topics: - Accounts @@ -17,7 +17,7 @@ redirect_from: --- ## About identity and access management for your enterprise -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% data reusables.saml.ae-uses-saml-sso %} {% data reusables.saml.ae-enable-saml-sso-during-bootstrapping %} diff --git a/content/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise.md b/content/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise.md index 082a0ef19c..01e8187eaa 100644 --- a/content/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise.md +++ b/content/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-saml-single-sign-on-for-your-enterprise.md @@ -5,7 +5,7 @@ intro: 'You can configure SAML single sign-on (SSO) for your enterprise, which a product: '{% data reusables.gated-features.saml-sso %}' permissions: 'Enterprise owners can configure SAML SSO for an enterprise on {% data variables.product.product_name %}.' versions: - github-ae: '*' + ghae: '*' type: how_to topics: - Accounts @@ -18,7 +18,7 @@ redirect_from: --- ## About SAML SSO -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} SAML SSO allows you to centrally control and secure access to {% data variables.product.product_location %} from your SAML IdP. When an unauthenticated user visits {% data variables.product.product_location %} in a browser, {% data variables.product.product_name %} will redirect the user to your SAML IdP to authenticate. After the user successfully authenticates with an account on the IdP, the IdP redirects the user back to {% data variables.product.product_location %}. {% data variables.product.product_name %} validates the response from your IdP, then grants access to the user. @@ -36,13 +36,13 @@ After a user successfully authenticates on your IdP, the user's SAML session for {% data variables.product.company_short %} has tested SAML SSO for {% data variables.product.product_name %} with the following IdPs. -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} - Azure AD {% endif %} ## Enabling SAML SSO -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% data reusables.saml.ae-enable-saml-sso-during-bootstrapping %} @@ -66,7 +66,7 @@ During initialization for {% data variables.product.product_name %}, you must co If the details for your IdP change, you'll need to edit the SAML SSO configuration for {% data variables.product.product_location %}. For example, if the certificate for your IdP expires, you can edit the value for the public certificate. -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% note %} @@ -94,7 +94,7 @@ If the details for your IdP change, you'll need to edit the SAML SSO configurati ## Disabling SAML SSO -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% warning %} diff --git a/content/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-user-provisioning-for-your-enterprise.md b/content/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-user-provisioning-for-your-enterprise.md index c4e48243ff..4107f06055 100644 --- a/content/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-user-provisioning-for-your-enterprise.md +++ b/content/admin/authentication/managing-identity-and-access-for-your-enterprise/configuring-user-provisioning-for-your-enterprise.md @@ -5,7 +5,7 @@ intro: 'You can configure System for Cross-domain Identity Management (SCIM) for permissions: 'Enterprise owners can configure user provisioning for an enterprise on {% data variables.product.product_name %}.' product: '{% data reusables.gated-features.saml-sso %}' versions: - github-ae: '*' + ghae: '*' type: how_to topics: - Accounts @@ -22,7 +22,7 @@ redirect_from: {% data reusables.scim.after-you-configure-saml %} For more information about SCIM, see [System for Cross-domain Identity Management: Protocol (RFC 7644)](https://tools.ietf.org/html/rfc7644) on the IETF website. -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} Configuring provisioning allows your IdP to communicate with {% data variables.product.product_location %} when you assign or unassign the application for {% data variables.product.product_name %} to a user on your IdP. When you assign the application, your IdP will prompt {% data variables.product.product_location %} to create an account and send an onboarding email to the user. When you unassign the application, your IdP will communicate with {% data variables.product.product_name %} to invalidate any SAML sessions and disable the member's account. @@ -40,7 +40,7 @@ When you set up user provisioning with a supported IdP, you can also assign or u ## Prerequisites -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} To automatically provision and deprovision access to {% data variables.product.product_location %} from your IdP, you must first configure SAML SSO when you initialize {% data variables.product.product_name %}. For more information, see "[Initializing {% data variables.product.prodname_ghe_managed %}](/admin/configuration/initializing-github-ae)." @@ -50,7 +50,7 @@ You must have administrative access on your IdP to configure the application for ## Enabling user provisioning for your enterprise -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} 1. While signed into {% data variables.product.product_location %} as an enterprise owner, create a personal access token with **admin:enterprise** scope. For more information, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)." {% note %} diff --git a/content/admin/authentication/managing-identity-and-access-for-your-enterprise/index.md b/content/admin/authentication/managing-identity-and-access-for-your-enterprise/index.md index 10f5f5eb9b..f582e6da4e 100644 --- a/content/admin/authentication/managing-identity-and-access-for-your-enterprise/index.md +++ b/content/admin/authentication/managing-identity-and-access-for-your-enterprise/index.md @@ -3,7 +3,7 @@ title: Managing identity and access for your enterprise shortTitle: Managing identity and access intro: 'You can centrally manage accounts and access to {% data variables.product.product_location %}.' versions: - github-ae: '*' + ghae: '*' children: - /about-identity-and-access-management-for-your-enterprise - /configuring-saml-single-sign-on-for-your-enterprise diff --git a/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md b/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md index eb5ab9ae56..64d3cab3e7 100644 --- a/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md +++ b/content/admin/configuration/configuring-network-settings/configuring-a-hostname.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-a-hostname - /admin/configuration/configuring-a-hostname versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server.md b/content/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server.md index 80765f9099..8ec21f3411 100644 --- a/content/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server.md +++ b/content/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-an-outbound-web-proxy-server - /admin/configuration/configuring-an-outbound-web-proxy-server versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-network-settings/configuring-built-in-firewall-rules.md b/content/admin/configuration/configuring-network-settings/configuring-built-in-firewall-rules.md index 8b1723c56c..4d27ca1f4e 100644 --- a/content/admin/configuration/configuring-network-settings/configuring-built-in-firewall-rules.md +++ b/content/admin/configuration/configuring-network-settings/configuring-built-in-firewall-rules.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-built-in-firewall-rules - /admin/configuration/configuring-built-in-firewall-rules versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-network-settings/configuring-dns-nameservers.md b/content/admin/configuration/configuring-network-settings/configuring-dns-nameservers.md index 18f6782e6a..934192aa12 100644 --- a/content/admin/configuration/configuring-network-settings/configuring-dns-nameservers.md +++ b/content/admin/configuration/configuring-network-settings/configuring-dns-nameservers.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-dns-nameservers - /admin/configuration/configuring-dns-nameservers versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-network-settings/configuring-the-ip-address-using-the-virtual-machine-console.md b/content/admin/configuration/configuring-network-settings/configuring-the-ip-address-using-the-virtual-machine-console.md index 18ccca3988..09b79a4340 100644 --- a/content/admin/configuration/configuring-network-settings/configuring-the-ip-address-using-the-virtual-machine-console.md +++ b/content/admin/configuration/configuring-network-settings/configuring-the-ip-address-using-the-virtual-machine-console.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-the-ip-address-using-the-virtual-machine-console - /admin/configuration/configuring-the-ip-address-using-the-virtual-machine-console versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-network-settings/configuring-tls.md b/content/admin/configuration/configuring-network-settings/configuring-tls.md index b874080497..31d586db8d 100644 --- a/content/admin/configuration/configuring-network-settings/configuring-tls.md +++ b/content/admin/configuration/configuring-network-settings/configuring-tls.md @@ -8,7 +8,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-tls - /admin/configuration/configuring-tls versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-network-settings/enabling-subdomain-isolation.md b/content/admin/configuration/configuring-network-settings/enabling-subdomain-isolation.md index 5d012d0f1e..2e6875ad5c 100644 --- a/content/admin/configuration/configuring-network-settings/enabling-subdomain-isolation.md +++ b/content/admin/configuration/configuring-network-settings/enabling-subdomain-isolation.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/configuration/enabling-subdomain-isolation - /admin/configuration/enabling-subdomain-isolation versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise @@ -22,7 +22,7 @@ Subdomain isolation mitigates cross-site scripting and other related vulnerabili When subdomain isolation is enabled, {% data variables.product.prodname_ghe_server %} replaces several paths with subdomains. After enabling subdomain isolation, attempts to access the previous paths for some user-supplied content, such as `http(s)://HOSTNAME/raw/`, may return `404` errors. -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} To use Docker with {% data variables.product.prodname_registry %}, you must also enable subdomain isolation. For more information, see "[Working with the Docker registry](/enterprise/{{ currentVersion }}/user/packages/working-with-a-github-packages-registry/working-with-the-docker-registry)." {% data reusables.package_registry.packages-ghes-release-stage %} @@ -40,9 +40,9 @@ To use Docker with {% data variables.product.prodname_registry %}, you must also | `http(s)://HOSTNAME/raw/` | `http(s)://raw.HOSTNAME/` | | `http(s)://HOSTNAME/render/` | `http(s)://render.HOSTNAME/` | | `http(s)://HOSTNAME/reply/` | `http(s)://reply.HOSTNAME/` | -| `http(s)://HOSTNAME/uploads/` | `http(s)://uploads.HOSTNAME/` |{% if currentVersion == "enterprise-server@2.22" %} -| N/A, Docker with {% data variables.product.prodname_registry %} will not work with subdomain isolation disabled for the {% data variables.product.prodname_registry %} 2.22 beta. | `http(s)://docker.HOSTNAME/` |{% endif %} {% if currentVersion ver_gt "enterprise-server@2.22" %} -| `https://HOSTNAME/_registry/docker/` | `http(s)://docker.HOSTNAME/`{% endif %}{% if currentVersion ver_gt "enterprise-server@2.22" %} +| `http(s)://HOSTNAME/uploads/` | `http(s)://uploads.HOSTNAME/` |{% ifversion ghes = 2.22 %} +| N/A, Docker with {% data variables.product.prodname_registry %} will not work with subdomain isolation disabled for the {% data variables.product.prodname_registry %} 2.22 beta. | `http(s)://docker.HOSTNAME/` |{% endif %} {% ifversion ghes > 2.22 %} +| `https://HOSTNAME/_registry/docker/` | `http(s)://docker.HOSTNAME/`{% endif %}{% ifversion ghes > 2.22 %} | `https://HOSTNAME/_registry/npm/` | `https://npm.HOSTNAME/` | `https://HOSTNAME/_registry/rubygems/` | `https://rubygems.HOSTNAME/` | `https://HOSTNAME/_registry/maven/` | `https://maven.HOSTNAME/` diff --git a/content/admin/configuration/configuring-network-settings/index.md b/content/admin/configuration/configuring-network-settings/index.md index ec2564f77d..6e982cfe4b 100644 --- a/content/admin/configuration/configuring-network-settings/index.md +++ b/content/admin/configuration/configuring-network-settings/index.md @@ -9,7 +9,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-network-settings intro: 'Configure {% data variables.product.prodname_ghe_server %} with the DNS nameservers and hostname required in your network. You can also configure a proxy server or firewall rules. You must allow access to certain ports for administrative and user purposes.' versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/configuration/configuring-network-settings/network-ports.md b/content/admin/configuration/configuring-network-settings/network-ports.md index d3d9ca73eb..cc08abb8ed 100644 --- a/content/admin/configuration/configuring-network-settings/network-ports.md +++ b/content/admin/configuration/configuring-network-settings/network-ports.md @@ -10,7 +10,7 @@ redirect_from: - /admin/configuration/network-ports intro: 'Open network ports selectively based on the network services you need to expose for administrators, end users, and email support.' versions: - enterprise-server: '*' + ghes: '*' type: reference topics: - Enterprise diff --git a/content/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer.md b/content/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer.md index 362c412b7b..1e135a42a3 100644 --- a/content/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer.md +++ b/content/admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/configuration/using-github-enterprise-server-with-a-load-balancer - /admin/configuration/using-github-enterprise-server-with-a-load-balancer versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-network-settings/validating-your-domain-settings.md b/content/admin/configuration/configuring-network-settings/validating-your-domain-settings.md index 6fb99d192d..1171d09a1d 100644 --- a/content/admin/configuration/configuring-network-settings/validating-your-domain-settings.md +++ b/content/admin/configuration/configuring-network-settings/validating-your-domain-settings.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/configuration/validating-your-domain-settings - /admin/configuration/validating-your-domain-settings versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/about-enterprise-configuration.md b/content/admin/configuration/configuring-your-enterprise/about-enterprise-configuration.md index 7ad2440df5..c7fd23dd0c 100644 --- a/content/admin/configuration/configuring-your-enterprise/about-enterprise-configuration.md +++ b/content/admin/configuration/configuring-your-enterprise/about-enterprise-configuration.md @@ -1,9 +1,9 @@ --- title: About enterprise configuration -intro: 'You can use the site admin dashboard{% if enterpriseServerVersions contains currentVersion %}, {% data variables.enterprise.management_console %}, and administrative shell (SSH) {% elsif currentVersion == "github-ae@latest" %} and enterprise settings or contact support{% endif %} to manage your enterprise.' +intro: 'You can use the site admin dashboard{% ifversion ghes %}, {% data variables.enterprise.management_console %}, and administrative shell (SSH) {% elsif ghae %} and enterprise settings or contact support{% endif %} to manage your enterprise.' versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: overview topics: - Enterprise @@ -12,7 +12,7 @@ topics: redirect_from: - /admin/configuration/about-enterprise-configuration --- -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.enterprise_site_admin_settings.about-the-site-admin-dashboard %} For more information, see "[Site admin dashboard](/admin/configuration/site-admin-dashboard)." {% data reusables.enterprise_site_admin_settings.about-the-management-console %} For more information, see "[Accessing the management console](/admin/configuration/accessing-the-management-console)." @@ -20,7 +20,7 @@ redirect_from: {% data reusables.enterprise_site_admin_settings.about-ssh-access %} For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)." {% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} The first time you access your enterprise, you will complete an initial configuration to get {% data variables.product.product_name %} ready to use. The initial configuration includes connecting your enterprise with an identity provider (IdP), authenticating with SAML SSO, configuring policies for repositories and organizations in your enterprise, and configuring SMTP for outbound email. For more information, see "[Initializing {% data variables.product.prodname_ghe_managed %}](/admin/configuration/initializing-github-ae)." Later, you can use the site admin dashboard and enterprise settings to further configure your enterprise, manage users, organizations and repositories, and set policies that reduce risk and increase quality. diff --git a/content/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh.md b/content/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh.md index 92dfd8b2b7..1ec48adf3a 100644 --- a/content/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh.md +++ b/content/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh.md @@ -13,7 +13,7 @@ redirect_from: - /admin/configuration/accessing-the-administrative-shell-ssh intro: '{% data reusables.enterprise_site_admin_settings.about-ssh-access %}' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/accessing-the-management-console.md b/content/admin/configuration/configuring-your-enterprise/accessing-the-management-console.md index 0f952d79a6..105773f7c9 100644 --- a/content/admin/configuration/configuring-your-enterprise/accessing-the-management-console.md +++ b/content/admin/configuration/configuring-your-enterprise/accessing-the-management-console.md @@ -12,7 +12,7 @@ redirect_from: - /enterprise/admin/configuration/accessing-the-management-console - /admin/configuration/accessing-the-management-console versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md b/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md index f0039f59a3..3f06b2141b 100644 --- a/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md +++ b/content/admin/configuration/configuring-your-enterprise/command-line-utilities.md @@ -9,7 +9,7 @@ redirect_from: - /admin/configuration/command-line-utilities miniTocMaxHeadingLevel: 3 versions: - enterprise-server: '*' + ghes: '*' type: reference topics: - Enterprise @@ -23,7 +23,7 @@ You can execute these commands from anywhere on the VM after signing in as an SS This utility sets a banner at the top of every {% data variables.product.prodname_enterprise %} page. You can use it to broadcast a message to your users. -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} You can also set an announcement banner using the enterprise settings on {% data variables.product.product_name %}. For more information, see "[Customizing user messages on your instance](/enterprise/admin/user-management/customizing-user-messages-on-your-instance#creating-a-global-announcement-banner)." {% endif %} @@ -83,7 +83,7 @@ Allows you to find the universally unique identifier (UUID) of your node in `clu $ ghe-config HOSTNAME.uuid ``` -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} Allows you to exempt a list of users from API rate limits. For more information, see "[Resources in the REST API](/rest/overview/resources-in-the-rest-api#rate-limiting)." ``` shell @@ -471,7 +471,7 @@ ghe-webhook-logs ``` To show all failed hook deliveries in the past day: -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} ```shell ghe-webhook-logs -f -a YYYY-MM-DD ``` @@ -484,7 +484,7 @@ ghe-webhook-logs -f -a YYYYMMDD {% endif %} To show the full hook payload, result, and any exceptions for the delivery: -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} ```shell ghe-webhook-logs -g delivery-guid ``` @@ -530,7 +530,7 @@ To send a bundle to {% data variables.contact.github_support %} and associate th $ ssh -p 122 admin@hostname -- 'ghe-cluster-support-bundle -t ticket-id' ``` -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ### ghe-cluster-failover Fail over from active cluster nodes to passive cluster nodes. For more information, see "[Initiating a failover to your replica cluster](/enterprise/admin/enterprise-management/initiating-a-failover-to-your-replica-cluster)." diff --git a/content/admin/configuration/configuring-your-enterprise/configuring-applications.md b/content/admin/configuration/configuring-your-enterprise/configuring-applications.md index 7dd5e6f5b1..e5ee810853 100644 --- a/content/admin/configuration/configuring-your-enterprise/configuring-applications.md +++ b/content/admin/configuration/configuring-your-enterprise/configuring-applications.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-applications - /admin/configuration/configuring-applications versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance.md b/content/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance.md index b2d71237da..f02d9a9c80 100644 --- a/content/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance.md +++ b/content/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance.md @@ -16,7 +16,7 @@ redirect_from: - /admin/configuration/configuring-backups-on-your-appliance intro: 'As part of a disaster recovery plan, you can protect production data on {% data variables.product.product_location %} by configuring automated backups.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Backups @@ -87,7 +87,7 @@ If backup attempts overlap, the `ghe-backup` command will abort with an error me In the event of prolonged outage or catastrophic event at the primary site, you can restore {% data variables.product.product_location %} by provisioning another {% data variables.product.prodname_enterprise %} appliance and performing a restore from the backup host. You must add the backup host's SSH key to the target {% data variables.product.prodname_enterprise %} appliance as an authorized SSH key before restoring an appliance. -{%if currentVersion ver_gt "enterprise-server@2.22"%} +{% ifversion ghes > 2.22 %} {% note %} **Note:** If {% data variables.product.product_location %} has {% data variables.product.prodname_actions %} enabled, you must first configure the {% data variables.product.prodname_actions %} external storage provider on the replacement appliance before running the `ghe-restore` command. For more information, see "[Backing up and restoring {% data variables.product.prodname_ghe_server %} with {% data variables.product.prodname_actions %} enabled](/admin/github-actions/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled)." diff --git a/content/admin/configuration/configuring-your-enterprise/configuring-data-encryption-for-your-enterprise.md b/content/admin/configuration/configuring-your-enterprise/configuring-data-encryption-for-your-enterprise.md index 82b9f6e422..cdfa637959 100644 --- a/content/admin/configuration/configuring-your-enterprise/configuring-data-encryption-for-your-enterprise.md +++ b/content/admin/configuration/configuring-your-enterprise/configuring-data-encryption-for-your-enterprise.md @@ -3,7 +3,7 @@ title: Configuring data encryption for your enterprise shortTitle: Configuring data encryption intro: 'For encryption at rest, you can provide your own encryption key to encrypt your data under your encryption policies.' versions: - github-ae: '*' + ghae: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md b/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md index 247db60719..18588e493a 100644 --- a/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md +++ b/content/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications.md @@ -9,8 +9,8 @@ redirect_from: - /enterprise/admin/user-management/configuring-email-for-notifications - /admin/configuration/configuring-email-for-notifications versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise @@ -18,12 +18,12 @@ topics: - Infrastructure - Notifications --- -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} Enterprise owners can configure email for notifications. {% endif %} ## Configuring SMTP for your enterprise -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} 2. At the top of the page, click **Settings**. @@ -46,7 +46,7 @@ settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-all - **URL:** A link to an internal support site. You must include either `http://` or `https://`. ![Support email or URL](/assets/images/enterprise/management-console/support-email-url.png) 8. [Test email delivery](#testing-email-delivery). -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.email-tab %} @@ -68,7 +68,7 @@ settings to allow incoming emails](#configuring-dns-and-firewall-settings-to-all !["Save" button for enterprise support contact configuration](/assets/images/enterprise/configuration/ae-save.png) {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Testing email delivery 1. At the top of the **Email** section, click **Test email settings**. @@ -97,7 +97,7 @@ If you want to allow email replies to notifications, you must configure your DNS 1. Ensure that port 25 on the instance is accessible to your SMTP server. 2. Create an A record that points to `reply.[hostname]`. Depending on your DNS provider and instance host configuration, you may be able to instead create a single A record that points to `*.[hostname]`. 3. Create an MX record that points to `reply.[hostname]` so that emails to that domain are routed to the instance. -4. Create an MX record that points `noreply.[hostname]` to `[hostname]` so that replies to the `cc` address in notification emails are routed to the instance. For more information, see {% if currentVersion ver_gt "enterprise-server@2.20" %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications){% else %}"[About email notifications](/github/receiving-notifications-about-activity-on-github/about-email-notifications){% endif %}." +4. Create an MX record that points `noreply.[hostname]` to `[hostname]` so that replies to the `cc` address in notification emails are routed to the instance. For more information, see {% ifversion ghes %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications){% else %}"[About email notifications](/github/receiving-notifications-about-activity-on-github/about-email-notifications){% endif %}." ## Troubleshooting email delivery @@ -181,8 +181,8 @@ In order to properly process inbound emails, you must configure a valid A Record If {% data variables.product.product_location %} is behind a firewall or is being served through an AWS Security Group, make sure port 25 is open to all mail servers that send emails to `reply@reply.[hostname]`. ### Contact support -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If you're still unable to resolve the problem, contact {% data variables.contact.contact_ent_support %}. Please attach the output file from `http(s)://[hostname]/setup/diagnostics` to your email to help us troubleshoot your problem. -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} You can contact {% data variables.contact.github_support %} for help configuring email for notifications to be sent through your SMTP server. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." {% endif %} diff --git a/content/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise.md b/content/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise.md index af6cb62362..15dcaa90d6 100644 --- a/content/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise.md +++ b/content/admin/configuration/configuring-your-enterprise/configuring-github-pages-for-your-enterprise.md @@ -10,8 +10,8 @@ redirect_from: - /enterprise/admin/guides/installation/configuring-github-pages-for-your-enterprise/ - /admin/configuration/configuring-github-pages-for-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise @@ -19,7 +19,7 @@ topics: --- ## Enabling public sites for {% data variables.product.prodname_pages %} -{% if enterpriseServerVersions contains currentVersion %}If private mode is enabled on your enterprise, the {% else %}The {% endif %}public cannot access {% data variables.product.prodname_pages %} sites hosted by your enterprise unless you enable public sites. +{% ifversion ghes %}If private mode is enabled on your enterprise, the {% else %}The {% endif %}public cannot access {% data variables.product.prodname_pages %} sites hosted by your enterprise unless you enable public sites. {% warning %} @@ -27,14 +27,14 @@ topics: {% endwarning %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.pages-tab %} 4. Select **Public Pages**. ![Checkbox to enable Public Pages](/assets/images/enterprise/management-console/public-pages-checkbox.png) {% data reusables.enterprise_management_console.save-settings %} -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.pages-tab %} @@ -45,18 +45,18 @@ topics: ## Disabling {% data variables.product.prodname_pages %} for your enterprise -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If subdomain isolation is disabled for your enterprise, you should also disable {% data variables.product.prodname_pages %} to protect yourself from potential security vulnerabilities. For more information, see "[Enabling subdomain isolation](/admin/configuration/enabling-subdomain-isolation)." {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_management_console.pages-tab %} 4. Unselect **Enable Pages**. ![Checkbox to disable {% data variables.product.prodname_pages %}](/assets/images/enterprise/management-console/pages-select-button.png) {% data reusables.enterprise_management_console.save-settings %} -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.pages-tab %} @@ -65,7 +65,7 @@ If subdomain isolation is disabled for your enterprise, you should also disable {% data reusables.enterprise-accounts.pages-policies-save %} {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Further reading - "[Enabling private mode](/admin/configuration/enabling-private-mode)" diff --git a/content/admin/configuration/configuring-your-enterprise/configuring-rate-limits.md b/content/admin/configuration/configuring-your-enterprise/configuring-rate-limits.md index ac16251d6b..27c60ec8b3 100644 --- a/content/admin/configuration/configuring-your-enterprise/configuring-rate-limits.md +++ b/content/admin/configuration/configuring-your-enterprise/configuring-rate-limits.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-rate-limits - /admin/configuration/configuring-rate-limits versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise @@ -17,7 +17,7 @@ topics: Enabling rate limits on {% data variables.product.prodname_enterprise_api %} can prevent overuse of resources by individual or unauthenticated users. For more information, see "[Resources in the REST API](/rest/overview/resources-in-the-rest-api#rate-limiting)." -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} You can exempt a list of users from API rate limits using the `ghe-config` utility in the administrative shell. For more information, see "[Command-line utilities](/enterprise/admin/configuration/command-line-utilities#ghe-config)." {% endif %} diff --git a/content/admin/configuration/configuring-your-enterprise/configuring-time-synchronization.md b/content/admin/configuration/configuring-your-enterprise/configuring-time-synchronization.md index d3d00ec874..3166c914c6 100644 --- a/content/admin/configuration/configuring-your-enterprise/configuring-time-synchronization.md +++ b/content/admin/configuration/configuring-your-enterprise/configuring-time-synchronization.md @@ -10,7 +10,7 @@ redirect_from: - /enterprise/admin/configuration/configuring-time-synchronization - /admin/configuration/configuring-time-synchronization versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode.md b/content/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode.md index 7cb5ce2cf7..00b6c826ef 100644 --- a/content/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode.md +++ b/content/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode.md @@ -12,7 +12,7 @@ redirect_from: - /enterprise/admin/configuration/enabling-and-scheduling-maintenance-mode - /admin/configuration/enabling-and-scheduling-maintenance-mode versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/enabling-private-mode.md b/content/admin/configuration/configuring-your-enterprise/enabling-private-mode.md index fdee5581ee..02bc75465a 100644 --- a/content/admin/configuration/configuring-your-enterprise/enabling-private-mode.md +++ b/content/admin/configuration/configuring-your-enterprise/enabling-private-mode.md @@ -9,7 +9,7 @@ redirect_from: - /enterprise/admin/configuration/enabling-private-mode - /admin/configuration/enabling-private-mode versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Access management diff --git a/content/admin/configuration/configuring-your-enterprise/index.md b/content/admin/configuration/configuring-your-enterprise/index.md index dfb51583b2..0b7c6f34be 100644 --- a/content/admin/configuration/configuring-your-enterprise/index.md +++ b/content/admin/configuration/configuring-your-enterprise/index.md @@ -9,8 +9,8 @@ redirect_from: - /enterprise/admin/installation/configuring-the-github-enterprise-server-appliance - /enterprise/admin/configuration/configuring-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/configuration/configuring-your-enterprise/initializing-github-ae.md b/content/admin/configuration/configuring-your-enterprise/initializing-github-ae.md index f484abb071..304ff5e76b 100644 --- a/content/admin/configuration/configuring-your-enterprise/initializing-github-ae.md +++ b/content/admin/configuration/configuring-your-enterprise/initializing-github-ae.md @@ -2,7 +2,7 @@ title: Initializing GitHub AE intro: 'To get your enterprise ready to use, you can complete the initial configuration of {% data variables.product.product_name %}.' versions: - github-ae: '*' + ghae: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/managing-github-for-mobile-for-your-enterprise.md b/content/admin/configuration/configuring-your-enterprise/managing-github-for-mobile-for-your-enterprise.md index cb6fcd4914..a54ee82dc9 100644 --- a/content/admin/configuration/configuring-your-enterprise/managing-github-for-mobile-for-your-enterprise.md +++ b/content/admin/configuration/configuring-your-enterprise/managing-github-for-mobile-for-your-enterprise.md @@ -3,7 +3,7 @@ title: Managing GitHub for mobile for your enterprise intro: 'You can decide whether authenticated users can connect to {% data variables.product.product_location %} with {% data variables.product.prodname_mobile %}.' permissions: 'Enterprise owners can manage {% data variables.product.prodname_mobile %} for an enterprise on {% data variables.product.product_name %}.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' type: how_to topics: - Enterprise @@ -11,7 +11,7 @@ topics: redirect_from: - /admin/configuration/managing-github-for-mobile-for-your-enterprise --- -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.mobile.ghes-release-phase %} {% endif %} diff --git a/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md b/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md index d4cf66f747..1df72aad02 100644 --- a/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md +++ b/content/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise.md @@ -3,7 +3,7 @@ title: Restricting network traffic to your enterprise shortTitle: Restricting network traffic intro: You can use an IP allow list to restrict access to your enterprise to connections from specified IP addresses. versions: - github-ae: '*' + ghae: '*' type: how_to topics: - Access management diff --git a/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md b/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md index 3b1c5b5cc6..6bca14438a 100644 --- a/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md +++ b/content/admin/configuration/configuring-your-enterprise/site-admin-dashboard.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/configuration/site-admin-dashboard - /admin/configuration/site-admin-dashboard versions: - enterprise-server: '*' + ghes: '*' type: reference topics: - Enterprise @@ -16,7 +16,7 @@ topics: To access the dashboard, in the upper-right corner of any page, click {% octicon "rocket" aria-label="The rocket ship" %}. ![Rocket ship icon for accessing site admin settings](/assets/images/enterprise/site-admin-settings/access-new-settings.png) -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ## Search @@ -170,7 +170,7 @@ This controls how the [Issues][] index is repaired. You can - start a new index repair job - reset all index repair state -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ## Enterprise overview diff --git a/content/admin/configuration/configuring-your-enterprise/troubleshooting-ssl-errors.md b/content/admin/configuration/configuring-your-enterprise/troubleshooting-ssl-errors.md index fd691e38da..c208ebfa72 100644 --- a/content/admin/configuration/configuring-your-enterprise/troubleshooting-ssl-errors.md +++ b/content/admin/configuration/configuring-your-enterprise/troubleshooting-ssl-errors.md @@ -8,7 +8,7 @@ redirect_from: - /enterprise/admin/configuration/troubleshooting-ssl-errors - /admin/configuration/troubleshooting-ssl-errors versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise.md b/content/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise.md index 8ac776eb4a..f176ff0a38 100644 --- a/content/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise.md +++ b/content/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise.md @@ -3,7 +3,7 @@ title: Verifying or approving a domain for your enterprise intro: 'You can verify your ownership of domains with {% data variables.product.company_short %} to confirm the identity of organizations owned by your enterprise account. You can also approve domains where organization members can receive email notifications.' product: '{% data reusables.gated-features.enterprise-accounts %}' versions: - enterprise-server: '>=3.2' + ghes: '>=3.2' permissions: Enterprise owners can verify or approve a domain for an enterprise account. type: how_to topics: diff --git a/content/admin/configuration/index.md b/content/admin/configuration/index.md index 163527ac5e..ae32308cf7 100644 --- a/content/admin/configuration/index.md +++ b/content/admin/configuration/index.md @@ -5,8 +5,8 @@ intro: You can configure your enterprise to suit your organization's needs. redirect_from: - /enterprise/admin/configuration versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: @@ -14,7 +14,7 @@ children: - /configuring-network-settings - /managing-connections-between-github-enterprise-server-and-github-enterprise-cloud --- -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} {% note %} **Note:** To configure {% data variables.product.prodname_actions %} or {% data variables.product.prodname_registry %} for your enterprise, see "[Managing GitHub Actions for your enterprise](/admin/github-actions)" or "[Managing GitHub Packages for your enterprise](/admin/packages)." diff --git a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud.md b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud.md index 09d395a58e..1b3ca9581d 100644 --- a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud.md +++ b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/connecting-github-enterprise-server-to-github-enterprise-cloud.md @@ -10,7 +10,7 @@ redirect_from: - /admin/configuration/connecting-github-enterprise-server-to-github-enterprise-cloud permissions: 'Site administrators for {% data variables.product.prodname_ghe_server %} who are also owners of a {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable {% data variables.product.prodname_github_connect %}.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server.md b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server.md index dc0823d6c9..2af4a296a2 100644 --- a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server.md +++ b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server.md @@ -1,14 +1,14 @@ --- title: Enabling alerts for vulnerable dependencies on GitHub Enterprise Server -intro: 'You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_ghe_cloud %} and enable {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies in repositories in your instance.' +intro: 'You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_ghe_cloud %} and enable {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies in repositories in your instance.' redirect_from: - /enterprise/admin/installation/enabling-security-alerts-for-vulnerable-dependencies-on-github-enterprise-server - /enterprise/admin/configuration/enabling-security-alerts-for-vulnerable-dependencies-on-github-enterprise-server - /enterprise/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server - /admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server -permissions: 'Site administrators for {% data variables.product.prodname_ghe_server %} who are also owners of the connected {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}.' +permissions: 'Site administrators for {% data variables.product.prodname_ghe_server %} who are also owners of the connected {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise @@ -18,35 +18,35 @@ topics: {% data reusables.repositories.tracks-vulnerabilities %} For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." -You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %}, then sync vulnerability data to your instance and generate {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts in repositories with a vulnerable dependency. +You can connect {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %}, then sync vulnerability data to your instance and generate {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts in repositories with a vulnerable dependency. -After connecting {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %} and enabling {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies, vulnerability data is synced from {% data variables.product.prodname_dotcom_the_website %} to your instance once every hour. You can also choose to manually sync vulnerability data at any time. No code or information about code from {% data variables.product.product_location %} is uploaded to {% data variables.product.prodname_dotcom_the_website %}. +After connecting {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %} and enabling {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies, vulnerability data is synced from {% data variables.product.prodname_dotcom_the_website %} to your instance once every hour. You can also choose to manually sync vulnerability data at any time. No code or information about code from {% data variables.product.product_location %} is uploaded to {% data variables.product.prodname_dotcom_the_website %}. -{% if currentVersion ver_gt "enterprise-server@2.21" %}When {% data variables.product.product_location %} receives information about a vulnerability, it will identify repositories in your instance that use the affected version of the dependency and generate {% data variables.product.prodname_dependabot_alerts %}. You can customize how you receive {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies/#configuring-notifications-for-dependabot-alerts)." +{% ifversion ghes > 2.21 %}When {% data variables.product.product_location %} receives information about a vulnerability, it will identify repositories in your instance that use the affected version of the dependency and generate {% data variables.product.prodname_dependabot_alerts %}. You can customize how you receive {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies/#configuring-notifications-for-dependabot-alerts)." {% endif %} -{% if currentVersion == "enterprise-server@2.21" %}When {% data variables.product.product_location %} receives information about a vulnerability, it will identify repositories in your instance that use the affected version of the dependency and generate security alerts. You can customize how you receive security alerts. For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies/#configuring-notifications-for-security-alerts)." +{% ifversion ghes = 2.21 %}When {% data variables.product.product_location %} receives information about a vulnerability, it will identify repositories in your instance that use the affected version of the dependency and generate security alerts. You can customize how you receive security alerts. For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies/#configuring-notifications-for-security-alerts)." {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ## Enabling {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies on {% data variables.product.prodname_ghe_server %} {% else %} ## Enabling security alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %} {% endif %} -Before enabling {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies on {% data variables.product.product_location %}, you must connect {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Connecting {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %}](/enterprise/{{ currentVersion }}/admin/guides/installation/connecting-github-enterprise-server-to-github-enterprise-cloud)." +Before enabling {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies on {% data variables.product.product_location %}, you must connect {% data variables.product.product_location %} to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Connecting {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_ghe_cloud %}](/enterprise/{{ currentVersion }}/admin/guides/installation/connecting-github-enterprise-server-to-github-enterprise-cloud)." -{% if currentVersion ver_gt "enterprise-server@2.20" %} +{% ifversion ghes %} -{% if currentVersion ver_gt "enterprise-server@2.21" %}We recommend configuring {% data variables.product.prodname_dependabot_alerts %} without notifications for the first few days to avoid an overload of emails. After a few days, you can enable notifications to receive {% data variables.product.prodname_dependabot_alerts %} as usual.{% endif %} +{% ifversion ghes > 2.21 %}We recommend configuring {% data variables.product.prodname_dependabot_alerts %} without notifications for the first few days to avoid an overload of emails. After a few days, you can enable notifications to receive {% data variables.product.prodname_dependabot_alerts %} as usual.{% endif %} -{% if currentVersion == "enterprise-server@2.21" %}We recommend configuring security alerts without notifications for the first few days to avoid an overload of emails. After a few days, you can enable notifications to receive security alerts as usual.{% endif %} +{% ifversion ghes = 2.21 %}We recommend configuring security alerts without notifications for the first few days to avoid an overload of emails. After a few days, you can enable notifications to receive security alerts as usual.{% endif %} {% endif %} {% data reusables.enterprise_site_admin_settings.sign-in %} -1. In the administrative shell, enable the {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies on {% data variables.product.product_location %}: +1. In the administrative shell, enable the {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies on {% data variables.product.product_location %}: ``` shell $ ghe-dep-graph-enable @@ -60,7 +60,7 @@ $ ghe-dep-graph-enable 3. Return to {% data variables.product.prodname_ghe_server %}. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} -{% data reusables.enterprise-accounts.github-connect-tab %}{% if currentVersion ver_gt "enterprise-server@2.20" %} +{% data reusables.enterprise-accounts.github-connect-tab %}{% ifversion ghes %} 5. Under "Repositories can be scanned for vulnerabilities", use the drop-down menu and select **Enabled without notifications**. Optionally, to enable alerts with notifications, select **Enabled with notifications**.{% else %} 5. Under "Repositories can be scanned for vulnerabilities", use the drop-down menu and select **Enabled**. {% endif %} diff --git a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud.md b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud.md index 62016fca5b..01c95d237c 100644 --- a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud.md +++ b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud.md @@ -7,7 +7,7 @@ redirect_from: - /admin/configuration/enabling-automatic-user-license-sync-between-github-enterprise-server-and-github-enterprise-cloud permissions: 'Site administrators for {% data variables.product.prodname_ghe_server %} who are also owners of the connected {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable automatic user license synchronization.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-contributions-between-github-enterprise-server-and-githubcom.md b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-contributions-between-github-enterprise-server-and-githubcom.md index 0e62838b46..ae55bf8d8c 100644 --- a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-contributions-between-github-enterprise-server-and-githubcom.md +++ b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-contributions-between-github-enterprise-server-and-githubcom.md @@ -10,7 +10,7 @@ redirect_from: - /admin/configuration/enabling-unified-contributions-between-github-enterprise-server-and-githubcom permissions: 'Site administrators for {% data variables.product.prodname_ghe_server %} who are also owners of the connected {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable unified contributions between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_dotcom_the_website %}.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-search-between-github-enterprise-server-and-githubcom.md b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-search-between-github-enterprise-server-and-githubcom.md index 1b64ec1713..e78b86b443 100644 --- a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-search-between-github-enterprise-server-and-githubcom.md +++ b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/enabling-unified-search-between-github-enterprise-server-and-githubcom.md @@ -10,7 +10,7 @@ redirect_from: - /admin/configuration/enabling-unified-search-between-github-enterprise-server-and-githubcom permissions: 'Site administrators for {% data variables.product.prodname_ghe_server %} who are also owners of the connected {% data variables.product.prodname_ghe_cloud %} organization or enterprise account can enable unified search between {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_dotcom_the_website %}.' versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise - GitHub Connect diff --git a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/index.md b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/index.md index b2a92d12c0..8903228e10 100644 --- a/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/index.md +++ b/content/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud/index.md @@ -9,7 +9,7 @@ redirect_from: - /enterprise/admin/installation/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud - /enterprise/admin/configuration/managing-connections-between-github-enterprise-server-and-github-enterprise-cloud versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-management/configuring-clustering/about-cluster-nodes.md b/content/admin/enterprise-management/configuring-clustering/about-cluster-nodes.md index 2d19b25792..f581ff6990 100644 --- a/content/admin/enterprise-management/configuring-clustering/about-cluster-nodes.md +++ b/content/admin/enterprise-management/configuring-clustering/about-cluster-nodes.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/about-cluster-nodes - /admin/enterprise-management/about-cluster-nodes versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/about-clustering.md b/content/admin/enterprise-management/configuring-clustering/about-clustering.md index 5a1ca4ff1f..d705785d99 100644 --- a/content/admin/enterprise-management/configuring-clustering/about-clustering.md +++ b/content/admin/enterprise-management/configuring-clustering/about-clustering.md @@ -8,7 +8,7 @@ redirect_from: - /enterprise/admin/enterprise-management/about-clustering - /admin/enterprise-management/about-clustering versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md b/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md index 8be13dfbf0..7f18314fe6 100644 --- a/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md +++ b/content/admin/enterprise-management/configuring-clustering/cluster-network-configuration.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/cluster-network-configuration - /admin/enterprise-management/cluster-network-configuration versions: - enterprise-server: '*' + ghes: '*' type: reference topics: - Clustering @@ -18,7 +18,7 @@ topics: The simplest network design for clustering is to place the nodes on a single LAN. If a cluster must span subnetworks, we do not recommend configuring any firewall rules between the networks. The latency between nodes should be less than 1 millisecond. -{% if currentVersion ver_gt "enterprise-server@2.21" %}For high availability, the latency between the network with the active nodes and the network with the passive nodes must be less than 70 milliseconds. We don't recommend configuring a firewall between the two networks.{% endif %} +{% ifversion ghes > 2.21 %}For high availability, the latency between the network with the active nodes and the network with the passive nodes must be less than 70 milliseconds. We don't recommend configuring a firewall between the two networks.{% endif %} ### Application ports for end users diff --git a/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md b/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md index fb1b5f6bf7..2a4017b3aa 100644 --- a/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md +++ b/content/admin/enterprise-management/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/configuring-high-availability-replication-for-a-cluster - /admin/enterprise-management/configuring-high-availability-replication-for-a-cluster versions: - enterprise-server: '>2.21' + ghes: '>2.21' type: how_to topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/differences-between-clustering-and-high-availability-ha.md b/content/admin/enterprise-management/configuring-clustering/differences-between-clustering-and-high-availability-ha.md index 8f84f2f080..c752162ac8 100644 --- a/content/admin/enterprise-management/configuring-clustering/differences-between-clustering-and-high-availability-ha.md +++ b/content/admin/enterprise-management/configuring-clustering/differences-between-clustering-and-high-availability-ha.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/differences-between-clustering-and-high-availability-ha - /admin/enterprise-management/differences-between-clustering-and-high-availability-ha versions: - enterprise-server: '*' + ghes: '*' type: reference topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node.md b/content/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node.md index 95204627bd..bf76f3c87c 100644 --- a/content/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node.md +++ b/content/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/evacuating-a-cluster-node - /admin/enterprise-management/evacuating-a-cluster-node versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/index.md b/content/admin/enterprise-management/configuring-clustering/index.md index 99b84e9494..32b7052944 100644 --- a/content/admin/enterprise-management/configuring-clustering/index.md +++ b/content/admin/enterprise-management/configuring-clustering/index.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/guides/clustering/managing-a-github-enterprise-cluster/ - /enterprise/admin/enterprise-management/configuring-clustering versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-management/configuring-clustering/initializing-the-cluster.md b/content/admin/enterprise-management/configuring-clustering/initializing-the-cluster.md index 288957b38d..205825e59c 100644 --- a/content/admin/enterprise-management/configuring-clustering/initializing-the-cluster.md +++ b/content/admin/enterprise-management/configuring-clustering/initializing-the-cluster.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/initializing-the-cluster - /admin/enterprise-management/initializing-the-cluster versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/initiating-a-failover-to-your-replica-cluster.md b/content/admin/enterprise-management/configuring-clustering/initiating-a-failover-to-your-replica-cluster.md index 274a448b60..58b0a069f4 100644 --- a/content/admin/enterprise-management/configuring-clustering/initiating-a-failover-to-your-replica-cluster.md +++ b/content/admin/enterprise-management/configuring-clustering/initiating-a-failover-to-your-replica-cluster.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/enterprise-management/initiating-a-failover-to-your-replica-cluster - /admin/enterprise-management/initiating-a-failover-to-your-replica-cluster versions: - enterprise-server: '>2.21' + ghes: '>2.21' type: how_to topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/monitoring-cluster-nodes.md b/content/admin/enterprise-management/configuring-clustering/monitoring-cluster-nodes.md index b7fe411a8e..db08c5ea19 100644 --- a/content/admin/enterprise-management/configuring-clustering/monitoring-cluster-nodes.md +++ b/content/admin/enterprise-management/configuring-clustering/monitoring-cluster-nodes.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/monitoring-cluster-nodes - /admin/enterprise-management/monitoring-cluster-nodes versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/replacing-a-cluster-node.md b/content/admin/enterprise-management/configuring-clustering/replacing-a-cluster-node.md index 39ff21eec1..e3f217df06 100644 --- a/content/admin/enterprise-management/configuring-clustering/replacing-a-cluster-node.md +++ b/content/admin/enterprise-management/configuring-clustering/replacing-a-cluster-node.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/replacing-a-cluster-node - /admin/enterprise-management/replacing-a-cluster-node versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-clustering/upgrading-a-cluster.md b/content/admin/enterprise-management/configuring-clustering/upgrading-a-cluster.md index 04889c8fba..af6d8b4b11 100644 --- a/content/admin/enterprise-management/configuring-clustering/upgrading-a-cluster.md +++ b/content/admin/enterprise-management/configuring-clustering/upgrading-a-cluster.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/upgrading-a-cluster - /admin/enterprise-management/upgrading-a-cluster versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Clustering diff --git a/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md b/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md index cb996dcd9e..32884ab8bf 100644 --- a/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md +++ b/content/admin/enterprise-management/configuring-high-availability/about-geo-replication.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/about-geo-replication - /admin/enterprise-management/about-geo-replication versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Enterprise diff --git a/content/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration.md b/content/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration.md index 4cace551e6..d105c62583 100644 --- a/content/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration.md +++ b/content/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/about-high-availability-configuration - /admin/enterprise-management/about-high-availability-configuration versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Enterprise diff --git a/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md b/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md index afb294c182..d94cc3bc66 100644 --- a/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md +++ b/content/admin/enterprise-management/configuring-high-availability/creating-a-high-availability-replica.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/creating-a-high-availability-replica - /admin/enterprise-management/creating-a-high-availability-replica versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/configuring-high-availability/index.md b/content/admin/enterprise-management/configuring-high-availability/index.md index 0d16fefc93..6e22fc3f0a 100644 --- a/content/admin/enterprise-management/configuring-high-availability/index.md +++ b/content/admin/enterprise-management/configuring-high-availability/index.md @@ -8,7 +8,7 @@ redirect_from: - /enterprise/admin/enterprise-management/configuring-high-availability intro: '{% data variables.product.prodname_ghe_server %} supports a high availability mode of operation designed to minimize service disruption in the event of hardware failure or major network outage affecting the primary appliance.' versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md b/content/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md index ce4ea8fd3b..f999152c6a 100644 --- a/content/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md +++ b/content/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/initiating-a-failover-to-your-replica-appliance - /admin/enterprise-management/initiating-a-failover-to-your-replica-appliance versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/configuring-high-availability/recovering-a-high-availability-configuration.md b/content/admin/enterprise-management/configuring-high-availability/recovering-a-high-availability-configuration.md index d47bf1cb51..bf6428e401 100644 --- a/content/admin/enterprise-management/configuring-high-availability/recovering-a-high-availability-configuration.md +++ b/content/admin/enterprise-management/configuring-high-availability/recovering-a-high-availability-configuration.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/recovering-a-high-availability-configuration - /admin/enterprise-management/recovering-a-high-availability-configuration versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/configuring-high-availability/removing-a-high-availability-replica.md b/content/admin/enterprise-management/configuring-high-availability/removing-a-high-availability-replica.md index fbde10c512..c868379796 100644 --- a/content/admin/enterprise-management/configuring-high-availability/removing-a-high-availability-replica.md +++ b/content/admin/enterprise-management/configuring-high-availability/removing-a-high-availability-replica.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/removing-a-high-availability-replica - /admin/enterprise-management/removing-a-high-availability-replica versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Clustering @@ -38,7 +38,7 @@ topics: $ ghe-repl-teardown ``` - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} {% note %} **Note:** If you have {% data variables.product.prodname_actions %} enabled, you should decommission the former replica server or update its {% data variables.product.prodname_actions %} configuration to use different external storage. For more information, see "[High availability for {% data variables.product.prodname_actions %}](/admin/github-actions/high-availability-for-github-actions#high-availability-replicas)." diff --git a/content/admin/enterprise-management/index.md b/content/admin/enterprise-management/index.md index aaee48ee7d..ddd3224b80 100644 --- a/content/admin/enterprise-management/index.md +++ b/content/admin/enterprise-management/index.md @@ -4,7 +4,7 @@ intro: 'You can monitor your appliance, upgrade to a newer version, and configur redirect_from: - /enterprise/admin/enterprise-management versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md b/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md index bc7c295a40..68fcd6f89d 100644 --- a/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md +++ b/content/admin/enterprise-management/monitoring-your-appliance/accessing-the-monitor-dashboard.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/accessing-the-monitor-dashboard - /admin/enterprise-management/accessing-the-monitor-dashboard versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md b/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md index f71f61e192..210c45457e 100644 --- a/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md +++ b/content/admin/enterprise-management/monitoring-your-appliance/configuring-collectd.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/enterprise-management/configuring-collectd - /admin/enterprise-management/configuring-collectd versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/monitoring-your-appliance/index.md b/content/admin/enterprise-management/monitoring-your-appliance/index.md index db2a2fd1a1..a0040fb0e8 100644 --- a/content/admin/enterprise-management/monitoring-your-appliance/index.md +++ b/content/admin/enterprise-management/monitoring-your-appliance/index.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/installation/monitoring-your-github-enterprise-server-appliance - /enterprise/admin/enterprise-management/monitoring-your-appliance versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-management/monitoring-your-appliance/monitoring-using-snmp.md b/content/admin/enterprise-management/monitoring-your-appliance/monitoring-using-snmp.md index ab89c2f5c3..e159421f26 100644 --- a/content/admin/enterprise-management/monitoring-your-appliance/monitoring-using-snmp.md +++ b/content/admin/enterprise-management/monitoring-your-appliance/monitoring-using-snmp.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/enterprise-management/monitoring-using-snmp - /admin/enterprise-management/monitoring-using-snmp versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds.md b/content/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds.md index a778cfc26b..60880bd25f 100644 --- a/content/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds.md +++ b/content/admin/enterprise-management/monitoring-your-appliance/recommended-alert-thresholds.md @@ -8,7 +8,7 @@ redirect_from: - /enterprise/admin/enterprise-management/recommended-alert-thresholds - /admin/enterprise-management/recommended-alert-thresholds versions: - enterprise-server: '*' + ghes: '*' type: reference topics: - Enterprise diff --git a/content/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring.md b/content/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring.md index b484d6b07f..d4434580fc 100644 --- a/content/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring.md +++ b/content/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/setting-up-external-monitoring - /admin/enterprise-management/setting-up-external-monitoring versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/enabling-automatic-update-checks.md b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/enabling-automatic-update-checks.md index f3b660c856..560983b190 100644 --- a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/enabling-automatic-update-checks.md +++ b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/enabling-automatic-update-checks.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/enabling-automatic-update-checks - /admin/enterprise-management/enabling-automatic-update-checks versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources.md b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources.md index eddee4e559..da755bcaff 100644 --- a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources.md +++ b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-cpu-or-memory-resources.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/increasing-cpu-or-memory-resources - /admin/enterprise-management/increasing-cpu-or-memory-resources versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md index 23af97f0b6..0de16a27fb 100644 --- a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md +++ b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/increasing-storage-capacity.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/enterprise-management/increasing-storage-capacity - /admin/enterprise-management/increasing-storage-capacity versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/index.md b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/index.md index 8f5ea7de0e..ed5f11a603 100644 --- a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/index.md +++ b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/index.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/installation/updating-the-virtual-machine-and-physical-resources - /enterprise/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/migrating-from-github-enterprise-1110x-to-2123.md b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/migrating-from-github-enterprise-1110x-to-2123.md index cd63da355c..1bdf9ff8a8 100644 --- a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/migrating-from-github-enterprise-1110x-to-2123.md +++ b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/migrating-from-github-enterprise-1110x-to-2123.md @@ -12,7 +12,7 @@ redirect_from: - /admin/enterprise-management/migrating-from-github-enterprise-1110x-to-2123 intro: 'To migrate from {% data variables.product.prodname_enterprise %} 11.10.x to 2.1.23, you''ll need to set up a new appliance instance and migrate data from the previous instance.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrade-requirements.md b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrade-requirements.md index 5201846133..eb0e6bf8aa 100644 --- a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrade-requirements.md +++ b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrade-requirements.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/enterprise-management/upgrade-requirements - /admin/enterprise-management/upgrade-requirements versions: - enterprise-server: '*' + ghes: '*' type: reference topics: - Enterprise diff --git a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server.md b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server.md index be7e213a5a..0d8a9ae7f6 100644 --- a/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server.md +++ b/content/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server.md @@ -15,7 +15,7 @@ redirect_from: - /enterprise/admin/enterprise-management/upgrading-github-enterprise-server - /admin/enterprise-management/upgrading-github-enterprise-server versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise @@ -67,9 +67,9 @@ There are two types of snapshots: {% note %} -**{% if currentVersion ver_gt "enterprise-server@2.22" %}Notes{% else %}Note{% endif %}**: +**{% ifversion ghes > 2.22 %}Notes{% else %}Note{% endif %}**: -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} - If {% data variables.product.product_location %} is running a release candidate build, you can't upgrade with a hotpatch. - {% endif %}Installing a hotpatch using the {% data variables.enterprise.management_console %} is not available in clustered environments. To install a hotpatch in a clustered environment, see "[Upgrading a cluster](/enterprise/{{ currentVersion }}/admin/clustering/upgrading-a-cluster#upgrading-with-a-hotpatch)." @@ -232,7 +232,7 @@ For more information, see "[Command-line utilities](/enterprise/{{ currentVersio To roll back from a feature release, restore from a VM snapshot to ensure that root and data partitions are in a consistent state. For more information, see "[Taking a snapshot](#taking-a-snapshot)." -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} ## Further reading - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)" diff --git a/content/admin/enterprise-support/index.md b/content/admin/enterprise-support/index.md index 47fd6325c1..cafbf27268 100644 --- a/content/admin/enterprise-support/index.md +++ b/content/admin/enterprise-support/index.md @@ -4,8 +4,8 @@ intro: 'Learn how to open a ticket and provide the {% data variables.contact.ent redirect_from: - /enterprise/admin/enterprise-support versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-support/overview/about-github-enterprise-support.md b/content/admin/enterprise-support/overview/about-github-enterprise-support.md index ef7b719d69..9b90f152c3 100644 --- a/content/admin/enterprise-support/overview/about-github-enterprise-support.md +++ b/content/admin/enterprise-support/overview/about-github-enterprise-support.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/enterprise-support/about-github-enterprise-support - /admin/enterprise-support/about-github-enterprise-support versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: overview topics: - Enterprise @@ -20,9 +20,9 @@ topics: ## About {% data variables.contact.enterprise_support %} -{% data variables.product.product_name %} includes {% data variables.contact.enterprise_support %} in English{% if enterpriseServerVersions contains currentVersion %} and Japanese{% endif %}. +{% data variables.product.product_name %} includes {% data variables.contact.enterprise_support %} in English{% ifversion ghes %} and Japanese{% endif %}. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} You can contact {% data variables.contact.enterprise_support %} through {% data variables.contact.contact_enterprise_portal %} for help with: - Installing and using {% data variables.product.product_name %} - Identifying and verifying the causes of suspected errors @@ -37,7 +37,7 @@ In addition to all of the benefits of {% data variables.contact.enterprise_suppo - Managed Admin hours {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} For more information, see "[About {% data variables.contact.premium_support %} for {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)." {% endif %} @@ -45,9 +45,9 @@ For more information, see "[About {% data variables.contact.premium_support %} f ## Contacting {% data variables.contact.enterprise_support %} -You can contact {% data variables.contact.enterprise_support %} through {% if enterpriseServerVersions contains currentVersion %}{% data variables.contact.contact_enterprise_portal %}{% elsif currentVersion == "github-ae@latest" %} the {% data variables.contact.ae_azure_portal %}{% endif %} to report issues in writing. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." +You can contact {% data variables.contact.enterprise_support %} through {% ifversion ghes %}{% data variables.contact.contact_enterprise_portal %}{% elsif ghae %} the {% data variables.contact.ae_azure_portal %}{% endif %} to report issues in writing. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)." -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Hours of operation ### Support in English @@ -99,9 +99,9 @@ When you contact {% data variables.contact.enterprise_support %}, you can choose {% data reusables.support.github-can-modify-ticket-priority %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.support.ghes-priorities %} -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} {% data reusables.support.ghae-priorities %} {% endif %} @@ -111,8 +111,8 @@ When you contact {% data variables.contact.enterprise_support %}, you can choose ## Further reading -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} - Section 10 on Support in the "[{% data variables.product.prodname_ghe_server %} License Agreement](https://enterprise.github.com/license)"{% endif %} -- "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)"{% if enterpriseServerVersions contains currentVersion %} +- "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)"{% ifversion ghes %} - "[Preparing to submit a ticket](/enterprise/admin/guides/enterprise-support/preparing-to-submit-a-ticket)"{% endif %} - "[Submitting a ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)" diff --git a/content/admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise-server.md b/content/admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise-server.md index 0a152b86ef..522dd02efc 100644 --- a/content/admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise-server.md +++ b/content/admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise-server.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/enterprise-support/about-github-premium-support-for-github-enterprise-server - /admin/enterprise-support/about-github-premium-support-for-github-enterprise-server versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Enterprise diff --git a/content/admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise.md b/content/admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise.md index f4ca6edee4..a6934101cd 100644 --- a/content/admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise.md +++ b/content/admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/enterprise-support/about-github-premium-support-for-github-enterprise - /admin/enterprise-support/about-github-premium-support-for-github-enterprise versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Enterprise diff --git a/content/admin/enterprise-support/overview/about-support-for-advanced-security.md b/content/admin/enterprise-support/overview/about-support-for-advanced-security.md index 19585869c8..3f8ef7e56b 100644 --- a/content/admin/enterprise-support/overview/about-support-for-advanced-security.md +++ b/content/admin/enterprise-support/overview/about-support-for-advanced-security.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/enterprise-support/about-support-for-advanced-security - /admin/enterprise-support/about-support-for-advanced-security versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Enterprise diff --git a/content/admin/enterprise-support/overview/index.md b/content/admin/enterprise-support/overview/index.md index bccbfc43a9..1c9a4226ae 100644 --- a/content/admin/enterprise-support/overview/index.md +++ b/content/admin/enterprise-support/overview/index.md @@ -4,8 +4,8 @@ intro: 'Learn about the support options available for {% data variables.product. redirect_from: - /enterprise/admin/enterprise-support/overview versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-support/receiving-help-from-github-support/index.md b/content/admin/enterprise-support/receiving-help-from-github-support/index.md index f480e09ad4..39e58a62bd 100644 --- a/content/admin/enterprise-support/receiving-help-from-github-support/index.md +++ b/content/admin/enterprise-support/receiving-help-from-github-support/index.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/guides/enterprise-support/receiving-help-from-github-enterprise-support/ - /enterprise/admin/enterprise-support/receiving-help-from-github-support versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/enterprise-support/receiving-help-from-github-support/preparing-to-submit-a-ticket.md b/content/admin/enterprise-support/receiving-help-from-github-support/preparing-to-submit-a-ticket.md index 89aa9fe01b..c9af1dd22f 100644 --- a/content/admin/enterprise-support/receiving-help-from-github-support/preparing-to-submit-a-ticket.md +++ b/content/admin/enterprise-support/receiving-help-from-github-support/preparing-to-submit-a-ticket.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/enterprise-support/preparing-to-submit-a-ticket - /admin/enterprise-support/preparing-to-submit-a-ticket versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise diff --git a/content/admin/enterprise-support/receiving-help-from-github-support/providing-data-to-github-support.md b/content/admin/enterprise-support/receiving-help-from-github-support/providing-data-to-github-support.md index 3a40f5c093..417df76507 100644 --- a/content/admin/enterprise-support/receiving-help-from-github-support/providing-data-to-github-support.md +++ b/content/admin/enterprise-support/receiving-help-from-github-support/providing-data-to-github-support.md @@ -8,7 +8,7 @@ redirect_from: - /enterprise/admin/enterprise-support/providing-data-to-github-support - /admin/enterprise-support/providing-data-to-github-support versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise @@ -63,7 +63,7 @@ After you submit your support request, we may ask you to share a support bundle - `configuration-logs/ghe-config.log`: {% data variables.product.prodname_ghe_server %} configuration logs - `collectd/logs/collectd.log`: Collectd logs - `mail-logs/mail.log`: SMTP email delivery logs -{% if currentVersion ver_lt "enterprise-server@3.0" %} +{% ifversion ghes < 3.0 %} - `hookshot-logs/exceptions.log`: Webhook delivery errors {% endif %} diff --git a/content/admin/enterprise-support/receiving-help-from-github-support/reaching-github-support.md b/content/admin/enterprise-support/receiving-help-from-github-support/reaching-github-support.md index 36e6e6b1b2..e04a5bb481 100644 --- a/content/admin/enterprise-support/receiving-help-from-github-support/reaching-github-support.md +++ b/content/admin/enterprise-support/receiving-help-from-github-support/reaching-github-support.md @@ -1,12 +1,12 @@ --- title: Reaching GitHub Support -intro: 'Contact {% data variables.contact.enterprise_support %} using the {% if enterpriseServerVersions contains currentVersion %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or{% endif %} the support portal.' +intro: 'Contact {% data variables.contact.enterprise_support %} using the {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or{% endif %} the support portal.' redirect_from: - /enterprise/admin/guides/enterprise-support/reaching-github-enterprise-support/ - /enterprise/admin/enterprise-support/reaching-github-support - /admin/enterprise-support/reaching-github-support versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise @@ -18,11 +18,11 @@ Though we'll do our best to respond to automated support requests, we typically ## Contacting {% data variables.contact.enterprise_support %} -{% data variables.contact.enterprise_support %} customers can open a support ticket using the {% if enterpriseServerVersions contains currentVersion %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or the {% data variables.contact.contact_enterprise_portal %}{% elsif currentVersion == "github-ae@latest" %} the {% data variables.contact.contact_ae_portal %}{% endif %}. Mark the ticket's priority as {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, or {% data variables.product.support_ticket_priority_low %}. For more information, see "[Assigning a priority to a support ticket](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support#assigning-a-priority-to-a-support-ticket)" and "[Submitting a ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)." +{% data variables.contact.enterprise_support %} customers can open a support ticket using the {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or the {% data variables.contact.contact_enterprise_portal %}{% elsif ghae %} the {% data variables.contact.contact_ae_portal %}{% endif %}. Mark the ticket's priority as {% data variables.product.support_ticket_priority_urgent %}, {% data variables.product.support_ticket_priority_high %}, {% data variables.product.support_ticket_priority_normal %}, or {% data variables.product.support_ticket_priority_low %}. For more information, see "[Assigning a priority to a support ticket](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support#assigning-a-priority-to-a-support-ticket)" and "[Submitting a ticket](/enterprise/admin/guides/enterprise-support/submitting-a-ticket)." ## Contacting {% data variables.contact.enterprise_support %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ### Viewing past support tickets You can use the {% data variables.contact.enterprise_portal %} to view past support tickets. @@ -40,7 +40,7 @@ You can use the {% data variables.contact.enterprise_portal %} to view past supp For pricing, licensing, renewals, quotes, payments, and other related questions, contact {% data variables.contact.contact_enterprise_sales %} or call [+1 (877) 448-4820](tel:+1-877-448-4820). -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Contacting training To learn more about training options, including customized trainings, see [{% data variables.product.company_short %}'s training site](https://services.github.com/). diff --git a/content/admin/enterprise-support/receiving-help-from-github-support/submitting-a-ticket.md b/content/admin/enterprise-support/receiving-help-from-github-support/submitting-a-ticket.md index 9bdcd4416e..9131c8eab7 100644 --- a/content/admin/enterprise-support/receiving-help-from-github-support/submitting-a-ticket.md +++ b/content/admin/enterprise-support/receiving-help-from-github-support/submitting-a-ticket.md @@ -1,12 +1,12 @@ --- title: Submitting a ticket -intro: 'You can submit a support ticket using {% if enterpriseServerVersions contains currentVersion %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or the support portal{% elsif currentVersion == "github-ae@latest" %}{% data variables.contact.ae_azure_portal %}{% endif %}.' +intro: 'You can submit a support ticket using {% ifversion ghes %}{% data variables.product.prodname_ghe_server %} {% data variables.enterprise.management_console %} or the support portal{% elsif ghae %}{% data variables.contact.ae_azure_portal %}{% endif %}.' redirect_from: - /enterprise/admin/enterprise-support/submitting-a-ticket - /admin/enterprise-support/submitting-a-ticket versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise @@ -14,7 +14,7 @@ topics: --- ## About submitting a ticket -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} You can submit a ticket for support with {% data variables.product.prodname_ghe_managed %} from the {% data variables.contact.ae_azure_portal %}. @@ -22,7 +22,7 @@ You can submit a ticket for support with {% data variables.product.prodname_ghe_ Before submitting a ticket, you should gather helpful information for {% data variables.contact.github_support %} and choose a contact person. For more information, see "[Preparing to submit a ticket](/enterprise/admin/guides/enterprise-support/preparing-to-submit-a-ticket)." -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} After submitting your support request and optional diagnostic information, {% data variables.contact.github_support %} may ask you to download and share a support bundle with us. For more information, see "[Providing data to {% data variables.contact.github_support %}](/enterprise/admin/guides/enterprise-support/providing-data-to-github-support)." ## Submitting a ticket using the {% data variables.contact.enterprise_portal %} @@ -66,7 +66,7 @@ After submitting your support request and optional diagnostic information, {% da {% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} ## Prerequisites @@ -88,5 +88,5 @@ Commercial customers can submit a support request in the {% data variables.conta ## Further reading -- "[About {% data variables.contact.enterprise_support %}](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support)"{% if enterpriseServerVersions contains currentVersion %} +- "[About {% data variables.contact.enterprise_support %}](/enterprise/admin/guides/enterprise-support/about-github-enterprise-support)"{% ifversion ghes %} - "[About {% data variables.contact.premium_support %} for {% data variables.product.prodname_ghe_server %}](/enterprise/admin/guides/enterprise-support/about-github-premium-support-for-github-enterprise-server)."{% endif %} diff --git a/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md b/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md index 55d8b0ad60..64623d9c6b 100644 --- a/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md +++ b/content/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled.md @@ -3,7 +3,7 @@ title: Backing up and restoring GitHub Enterprise Server with GitHub Actions ena shortTitle: Backing up and restoring intro: '{% data variables.product.prodname_actions %} data on your external storage provider is not included in regular {% data variables.product.prodname_ghe_server %} backups, and must be backed up separately.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' type: how_to topics: - Actions diff --git a/content/admin/github-actions/advanced-configuration-and-troubleshooting/high-availability-for-github-actions.md b/content/admin/github-actions/advanced-configuration-and-troubleshooting/high-availability-for-github-actions.md index 1f37096cdb..f0aeac9b0e 100644 --- a/content/admin/github-actions/advanced-configuration-and-troubleshooting/high-availability-for-github-actions.md +++ b/content/admin/github-actions/advanced-configuration-and-troubleshooting/high-availability-for-github-actions.md @@ -2,7 +2,7 @@ title: High availability for GitHub Actions intro: 'There are some special considerations for administering {% data variables.product.prodname_actions %} in a high availability configuration.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' type: reference topics: - Actions diff --git a/content/admin/github-actions/advanced-configuration-and-troubleshooting/index.md b/content/admin/github-actions/advanced-configuration-and-troubleshooting/index.md index 9437d7b168..e4fbf61fa6 100644 --- a/content/admin/github-actions/advanced-configuration-and-troubleshooting/index.md +++ b/content/admin/github-actions/advanced-configuration-and-troubleshooting/index.md @@ -2,7 +2,7 @@ title: Advanced configuration and troubleshooting intro: 'Configure high availability for {% data variables.product.prodname_actions %}, and troubleshoot {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' topics: - Enterprise children: diff --git a/content/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise.md b/content/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise.md index 8b416977b7..070818c83e 100644 --- a/content/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise.md +++ b/content/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise.md @@ -3,7 +3,7 @@ title: Troubleshooting GitHub Actions for your enterprise intro: 'Troubleshooting common issues that occur when using {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}.' permissions: 'Site administrators can troubleshoot {% data variables.product.prodname_actions %} issues and modify {% data variables.product.prodname_ghe_server %} configurations.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' topics: - Enterprise redirect_from: diff --git a/content/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment.md b/content/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment.md index d25172a539..91ef5a5fe0 100644 --- a/content/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment.md +++ b/content/admin/github-actions/advanced-configuration-and-troubleshooting/using-a-staging-environment.md @@ -2,7 +2,7 @@ title: Using a staging environment intro: 'Learn about using {% data variables.product.prodname_actions %} with {% data variables.product.prodname_ghe_server %} staging environments.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' type: how_to topics: - Actions diff --git a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage.md b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage.md index 6a5a77abe2..9336dcdfc1 100644 --- a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage.md +++ b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-amazon-s3-storage.md @@ -3,7 +3,7 @@ title: Enabling GitHub Actions with Amazon S3 storage intro: 'You can enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} and use Amazon S3 storage to store artifacts generated by workflow runs.' permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' topics: - Enterprise redirect_from: diff --git a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md index d2cfee4132..521663de75 100644 --- a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md +++ b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-azure-blob-storage.md @@ -3,7 +3,7 @@ title: Enabling GitHub Actions with Azure Blob storage intro: 'You can enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} and use Azure Blob storage to store artifacts generated by workflow runs.' permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' topics: - Enterprise redirect_from: diff --git a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-gateway-for-nas-storage.md b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-gateway-for-nas-storage.md index 373c514979..5b5b258b89 100644 --- a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-gateway-for-nas-storage.md +++ b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enabling-github-actions-with-minio-gateway-for-nas-storage.md @@ -3,7 +3,7 @@ title: Enabling GitHub Actions with MinIO Gateway for NAS storage intro: 'You can enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} and use MinIO Gateway for NAS storage to store artifacts generated by workflow runs.' permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' topics: - Enterprise redirect_from: diff --git a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enforcing-github-actions-policies-for-your-enterprise.md b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enforcing-github-actions-policies-for-your-enterprise.md index 1b71455be8..1f9b88e26a 100644 --- a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enforcing-github-actions-policies-for-your-enterprise.md +++ b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/enforcing-github-actions-policies-for-your-enterprise.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise - /admin/github-actions/enforcing-github-actions-policies-for-your-enterprise versions: - enterprise-server: '>=2.22' - github-ae: '*' + ghes: '>=2.22' + ghae: '*' type: how_to topics: - Actions @@ -18,7 +18,7 @@ topics: ## About {% data variables.product.prodname_actions %} permissions for your enterprise -{% if currentVersion == "github-ae@latest" %}{% else %}When you enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}, it is enabled for all organizations in your enterprise. {% endif %}You can choose to disable {% data variables.product.prodname_actions %} for all organizations in your enterprise, or only allow specific organizations. You can also limit the use of public actions, so that people can only use local actions that exist in your enterprise. +{% ifversion ghae %}{% else %}When you enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}, it is enabled for all organizations in your enterprise. {% endif %}You can choose to disable {% data variables.product.prodname_actions %} for all organizations in your enterprise, or only allow specific organizations. You can also limit the use of public actions, so that people can only use local actions that exist in your enterprise. ## Managing {% data variables.product.prodname_actions %} permissions for your enterprise @@ -27,7 +27,7 @@ topics: {% data reusables.enterprise-accounts.actions-tab %} {% data reusables.actions.enterprise-actions-permissions %} -{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest"%} +{% ifversion ghes > 2.22 or ghae %} ## Enabling workflows for private repository forks {% data reusables.github-actions.private-repository-forks-overview %} diff --git a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server.md b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server.md index 2eb9a25f4c..171c2b8127 100644 --- a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server.md +++ b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server.md @@ -8,7 +8,7 @@ redirect_from: - /admin/github-actions/enabling-github-actions-and-configuring-storage - /admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' type: how_to topics: - Actions @@ -18,7 +18,7 @@ topics: {% data reusables.actions.enterprise-github-hosted-runners %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} This article explains how site administrators can configure {% data variables.product.prodname_ghe_server %} to use {% data variables.product.prodname_actions %}. It covers the hardware and software requirements, presents the storage options, and describes the security management policies. @@ -26,11 +26,11 @@ This article explains how site administrators can configure {% data variables.pr ## Review hardware considerations -{% if currentVersion == "enterprise-server@2.22" or currentVersion == "enterprise-server@3.0" %} +{% ifversion ghes = 2.22 or ghes = 3.0 %} {% note %} -**Note**: {% if currentVersion == "enterprise-server@2.22" %}{% data variables.product.prodname_actions %} was available for {% data variables.product.prodname_ghe_server %} 2.22 as a limited beta. {% endif %}If you're upgrading an existing {% data variables.product.prodname_ghe_server %} instance to 3.0 or later and want to configure {% data variables.product.prodname_actions %}, note that the minimum hardware requirements have increased. For more information, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/upgrading-github-enterprise-server#about-minimum-requirements-for-github-enterprise-server-30-and-later)." +**Note**: {% ifversion ghes = 2.22 %}{% data variables.product.prodname_actions %} was available for {% data variables.product.prodname_ghe_server %} 2.22 as a limited beta. {% endif %}If you're upgrading an existing {% data variables.product.prodname_ghe_server %} instance to 3.0 or later and want to configure {% data variables.product.prodname_actions %}, note that the minimum hardware requirements have increased. For more information, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/upgrading-github-enterprise-server#about-minimum-requirements-for-github-enterprise-server-30-and-later)." {% endnote %} @@ -47,7 +47,7 @@ Internal testing at {% data variables.product.company_short %} demonstrated the | 16 | 160 GB | 35 jobs | | 32 | 256 GB | 100 jobs | -If you {% if currentVersion == "enterprise-server@2.22" %}enabled the beta of{% else %}plan to enable{% endif %} {% data variables.product.prodname_actions %} for the users of an existing instance, review the levels of activity for users and automations on the instance and ensure that you have provisioned adequate CPU and memory for your users. For more information about monitoring the capacity and performance of {% data variables.product.prodname_ghe_server %}, see "[Monitoring your appliance](/admin/enterprise-management/monitoring-your-appliance)." +If you {% ifversion ghes = 2.22 %}enabled the beta of{% else %}plan to enable{% endif %} {% data variables.product.prodname_actions %} for the users of an existing instance, review the levels of activity for users and automations on the instance and ensure that you have provisioned adequate CPU and memory for your users. For more information about monitoring the capacity and performance of {% data variables.product.prodname_ghe_server %}, see "[Monitoring your appliance](/admin/enterprise-management/monitoring-your-appliance)." For more information about minimum hardware requirements for {% data variables.product.product_location %}, see the hardware considerations for your instance's platform. @@ -79,7 +79,7 @@ To enable {% data variables.product.prodname_actions %} on {% data variables.pro {% endnote %} -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} ### Amazon S3 permissions @@ -95,7 +95,7 @@ To enable {% data variables.product.prodname_actions %} on {% data variables.pro {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} ## Enabling {% data variables.product.prodname_actions %} with your storage provider diff --git a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md index 74c33d7a1e..d09779cd48 100644 --- a/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md +++ b/content/admin/github-actions/enabling-github-actions-for-github-enterprise-server/index.md @@ -2,7 +2,7 @@ title: Enabling GitHub Actions for GitHub Enterprise Server intro: 'Learn how to configure storage and enable {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}.' versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' topics: - Enterprise children: diff --git a/content/admin/github-actions/index.md b/content/admin/github-actions/index.md index 6d86600126..95766e2d78 100644 --- a/content/admin/github-actions/index.md +++ b/content/admin/github-actions/index.md @@ -1,11 +1,11 @@ --- title: Managing GitHub Actions for your enterprise -intro: 'Enable {% data variables.product.prodname_actions %} on {% if currentVersion == "github-ae@latest" %}{% data variables.product.prodname_ghe_managed %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %}, and manage {% data variables.product.prodname_actions %} policies and settings.' +intro: 'Enable {% data variables.product.prodname_actions %} on {% ifversion ghae %}{% data variables.product.prodname_ghe_managed %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %}, and manage {% data variables.product.prodname_actions %} policies and settings.' redirect_from: - /enterprise/admin/github-actions versions: - enterprise-server: '>=2.22' - github-ae: '*' + ghes: '>=2.22' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md b/content/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md index 5e5d1d5e82..fe2a9575ad 100644 --- a/content/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md +++ b/content/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise.md @@ -7,8 +7,8 @@ redirect_from: - /admin/github-actions/about-using-actions-on-github-enterprise-server - /admin/github-actions/about-using-actions-in-your-enterprise versions: - enterprise-server: '>=2.22' - github-ae: next + ghes: '>=2.22' + ghae: next type: overview topics: - Actions diff --git a/content/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect.md b/content/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect.md index 7820a71b10..57f65c707a 100644 --- a/content/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect.md +++ b/content/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect.md @@ -6,8 +6,8 @@ redirect_from: - /enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect - /admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect versions: - enterprise-server: '>=2.22' - github-ae: next + ghes: '>=2.22' + ghae: next type: how_to topics: - Actions diff --git a/content/admin/github-actions/managing-access-to-actions-from-githubcom/index.md b/content/admin/github-actions/managing-access-to-actions-from-githubcom/index.md index 1926ecf48a..55a84942e4 100644 --- a/content/admin/github-actions/managing-access-to-actions-from-githubcom/index.md +++ b/content/admin/github-actions/managing-access-to-actions-from-githubcom/index.md @@ -4,8 +4,8 @@ intro: 'Controlling which actions on {% data variables.product.prodname_dotcom_t redirect_from: - /enterprise/admin/github-actions/managing-access-to-actions-from-githubcom versions: - enterprise-server: '>=2.22' - github-ae: next + ghes: '>=2.22' + ghae: next topics: - Enterprise children: diff --git a/content/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom.md b/content/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom.md index 08b16740ee..b951ea07ee 100644 --- a/content/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom.md +++ b/content/admin/github-actions/managing-access-to-actions-from-githubcom/manually-syncing-actions-from-githubcom.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/github-actions/manually-syncing-actions-from-githubcom - /admin/github-actions/manually-syncing-actions-from-githubcom versions: - enterprise-server: '>=2.22' - github-ae: next + ghes: '>=2.22' + ghae: next topics: - Enterprise --- diff --git a/content/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access.md b/content/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access.md index 4f8578b3ea..adc4c5be17 100644 --- a/content/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access.md +++ b/content/admin/github-actions/managing-access-to-actions-from-githubcom/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/github-actions/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access - /admin/github-actions/setting-up-the-tool-cache-on-self-hosted-runners-without-internet-access versions: - enterprise-server: '>=2.22' - github-ae: next + ghes: '>=2.22' + ghae: next topics: - Enterprise --- diff --git a/content/admin/github-actions/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md b/content/admin/github-actions/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md index 236021e3cb..1c1709d27e 100644 --- a/content/admin/github-actions/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md +++ b/content/admin/github-actions/managing-access-to-actions-from-githubcom/using-the-latest-version-of-the-official-bundled-actions.md @@ -2,8 +2,8 @@ title: Using the latest version of the official bundled actions intro: 'You can update the actions that are bundled with your enterprise, or use actions directly from {% data variables.product.prodname_dotcom_the_website %}.' versions: - enterprise-server: '>=2.22' - github-ae: next + ghes: '>=2.22' + ghae: next topics: - Enterprise redirect_from: diff --git a/content/admin/github-actions/using-github-actions-in-github-ae/getting-started-with-github-actions-for-github-ae.md b/content/admin/github-actions/using-github-actions-in-github-ae/getting-started-with-github-actions-for-github-ae.md index 8337ca23b9..ead7a07646 100644 --- a/content/admin/github-actions/using-github-actions-in-github-ae/getting-started-with-github-actions-for-github-ae.md +++ b/content/admin/github-actions/using-github-actions-in-github-ae/getting-started-with-github-actions-for-github-ae.md @@ -4,7 +4,7 @@ shortTitle: Getting started with GitHub Actions intro: 'Learn configuring {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_managed %}.' permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.' versions: - github-ae: '*' + ghae: '*' type: how_to topics: - Actions diff --git a/content/admin/github-actions/using-github-actions-in-github-ae/index.md b/content/admin/github-actions/using-github-actions-in-github-ae/index.md index 611ece13e2..2c96bb1c54 100644 --- a/content/admin/github-actions/using-github-actions-in-github-ae/index.md +++ b/content/admin/github-actions/using-github-actions-in-github-ae/index.md @@ -2,7 +2,7 @@ title: Using GitHub Actions in GitHub AE intro: 'Learn how to configure {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_managed %}.' versions: - github-ae: '*' + ghae: '*' children: - /getting-started-with-github-actions-for-github-ae - /using-actions-in-github-ae diff --git a/content/admin/github-actions/using-github-actions-in-github-ae/using-actions-in-github-ae.md b/content/admin/github-actions/using-github-actions-in-github-ae/using-actions-in-github-ae.md index 72c324f09a..7c0150401b 100644 --- a/content/admin/github-actions/using-github-actions-in-github-ae/using-actions-in-github-ae.md +++ b/content/admin/github-actions/using-github-actions-in-github-ae/using-actions-in-github-ae.md @@ -2,7 +2,7 @@ title: Using actions in GitHub AE intro: '{% data variables.product.prodname_ghe_managed %} includes most of the {% data variables.product.prodname_dotcom %}-authored actions.' versions: - github-ae: '*' + ghae: '*' redirect_from: - /admin/github-actions/using-actions-in-github-ae --- diff --git a/content/admin/guides.md b/content/admin/guides.md index 493683ce3f..c978eadef1 100644 --- a/content/admin/guides.md +++ b/content/admin/guides.md @@ -5,16 +5,16 @@ intro: 'Learn how to increase developer productivity and code quality with {% da allowTitleToDifferFromFilename: true layout: product-sublanding versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' learningTracks: - - '{% if currentVersion == "github-ae@latest" %}get_started_with_github_ae{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}deploy_an_instance{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}upgrade_your_instance{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}increase_fault_tolerance{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}improve_security_of_your_instance{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %}configure_github_actions{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %}configure_github_advanced_security{% endif %}' + - '{% ifversion ghae %}get_started_with_github_ae{% endif %}' + - '{% ifversion ghes %}deploy_an_instance{% endif %}' + - '{% ifversion ghes %}upgrade_your_instance{% endif %}' + - '{% ifversion ghes %}increase_fault_tolerance{% endif %}' + - '{% ifversion ghes %}improve_security_of_your_instance{% endif %}' + - '{% ifversion ghes > 2.22 %}configure_github_actions{% endif %}' + - '{% ifversion ghes > 2.22 %}configure_github_advanced_security{% endif %}' includeGuides: - /admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider - /admin/authentication/changing-authentication-methods @@ -102,3 +102,4 @@ includeGuides: - /admin/user-management/requiring-two-factor-authentication-for-an-organization - /admin/user-management/suspending-and-unsuspending-users --- + diff --git a/content/admin/index.md b/content/admin/index.md index 0446b77c13..68a9bc5f42 100644 --- a/content/admin/index.md +++ b/content/admin/index.md @@ -1,39 +1,39 @@ --- title: Enterprise administrator documentation shortTitle: Enterprise administrators -intro: 'Documentation and guides for enterprise administrators, system administrators, and security specialists who {% if enterpriseServerVersions contains currentVersion %}deploy, {% endif %}configure{% if enterpriseServerVersions contains currentVersion %},{% endif %} and manage {% data variables.product.product_name %}.' +intro: 'Documentation and guides for enterprise administrators, system administrators, and security specialists who {% ifversion ghes %}deploy, {% endif %}configure{% ifversion ghes %},{% endif %} and manage {% data variables.product.product_name %}.' introLinks: - overview: '{% if enterpriseServerVersions contains currentVersion %}/admin/overview/system-overview{% elsif currentVersion == "github-ae@latest" %}/admin/overview/about-github-ae{% endif %}' + overview: '{% ifversion ghes %}/admin/overview/system-overview{% elsif ghae %}/admin/overview/about-github-ae{% endif %}' changelog: label: enterprise featuredLinks: guides: - - '{% if currentVersion == "github-ae@latest" %}/admin/overview/managing-billing-for-your-enterprise{% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/admin/user-management/auditing-users-across-your-enterprise{% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/admin/configuration/restricting-network-traffic-to-your-enterprise{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}/admin/configuration/configuring-backups-on-your-appliance{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}/admin/enterprise-management/creating-a-high-availability-replica{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}/admin/enterprise-management/upgrading-github-enterprise-server{% endif %}' + - '{% ifversion ghae %}/admin/overview/managing-billing-for-your-enterprise{% endif %}' + - '{% ifversion ghae %}/admin/user-management/auditing-users-across-your-enterprise{% endif %}' + - '{% ifversion ghae %}/admin/configuration/restricting-network-traffic-to-your-enterprise{% endif %}' + - '{% ifversion ghes %}/admin/configuration/configuring-backups-on-your-appliance{% endif %}' + - '{% ifversion ghes %}/admin/enterprise-management/creating-a-high-availability-replica{% endif %}' + - '{% ifversion ghes %}/admin/enterprise-management/upgrading-github-enterprise-server{% endif %}' guideCards: - - '{% if currentVersion ver_gt "enterprise-server@2.22" %} /admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server {% elsif currentVersion ver_lt "enterprise-server@3.0" %} /admin/enterprise-management/upgrading-github-enterprise-server {% endif %}' - - '{% if currentVersion ver_gt "enterprise-server@2.22" %} /admin/packages/getting-started-with-github-packages-for-your-enterprise {% elsif currentVersion ver_lt "enterprise-server@3.0" %} /admin/user-management/customizing-user-messages-for-your-enterprise {% endif %}' - - '{% if currentVersion ver_gt "enterprise-server@2.22" %} /admin/configuration/configuring-advanced-security-features {% elsif currentVersion ver_lt "enterprise-server@3.0" %} /admin/installation/setting-up-a-staging-instance {% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/admin/configuration/initializing-github-ae{% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/admin/user-management/customizing-user-messages-for-your-enterprise{% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/admin/github-actions/getting-started-with-github-actions-for-github-ae{% endif %}' + - '{% ifversion ghes > 2.22 %} /admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server {% elsif ghes < 3.0 %} /admin/enterprise-management/upgrading-github-enterprise-server {% endif %}' + - '{% ifversion ghes > 2.22 %} /admin/packages/getting-started-with-github-packages-for-your-enterprise {% elsif ghes < 3.0 %} /admin/user-management/customizing-user-messages-for-your-enterprise {% endif %}' + - '{% ifversion ghes > 2.22 %} /admin/configuration/configuring-advanced-security-features {% elsif ghes < 3.0 %} /admin/installation/setting-up-a-staging-instance {% endif %}' + - '{% ifversion ghae %}/admin/configuration/initializing-github-ae{% endif %}' + - '{% ifversion ghae %}/admin/user-management/customizing-user-messages-for-your-enterprise{% endif %}' + - '{% ifversion ghae %}/admin/github-actions/getting-started-with-github-actions-for-github-ae{% endif %}' popular: - - '{% if currentVersion == "github-ae@latest" %}/admin/release-notes{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}/github/getting-started-with-github/setting-up-a-trial-of-github-enterprise-server{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}/admin/installation{% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/admin/authentication/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad{% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/admin/overview/about-upgrades-to-new-releases{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}/admin/overview/managing-your-github-enterprise-license{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}/admin/configuration/command-line-utilities{% endif %}' + - '{% ifversion ghae %}/admin/release-notes{% endif %}' + - '{% ifversion ghes %}/github/getting-started-with-github/setting-up-a-trial-of-github-enterprise-server{% endif %}' + - '{% ifversion ghes %}/admin/installation{% endif %}' + - '{% ifversion ghae %}/admin/authentication/configuring-authentication-and-provisioning-for-your-enterprise-using-azure-ad{% endif %}' + - '{% ifversion ghae %}/admin/overview/about-upgrades-to-new-releases{% endif %}' + - '{% ifversion ghes %}/admin/overview/managing-your-github-enterprise-license{% endif %}' + - '{% ifversion ghes %}/admin/configuration/command-line-utilities{% endif %}' - /admin/enterprise-support/about-github-enterprise-support layout: product-landing versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' children: - /overview - /installation @@ -50,3 +50,4 @@ children: - /release-notes - /all-releases --- + diff --git a/content/admin/installation/index.md b/content/admin/installation/index.md index d0c4638128..33a16df945 100644 --- a/content/admin/installation/index.md +++ b/content/admin/installation/index.md @@ -10,7 +10,7 @@ redirect_from: - /enterprise/admin/categories/logging-and-monitoring/ - /enterprise/admin/installation versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/index.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/index.md index a410612b13..c8998d7f5e 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/index.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/index.md @@ -8,7 +8,7 @@ redirect_from: - /enterprise/admin/guides/installation/setting-up-a-github-enterprise-instance/ - /enterprise/admin/installation/setting-up-a-github-enterprise-server-instance versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws.md index fe3e308ca9..4f8adc8838 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-aws.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/installation/installing-github-enterprise-server-on-aws - /admin/installation/installing-github-enterprise-server-on-aws versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- @@ -130,5 +130,5 @@ Both primary and replica instances should be assigned separate EIPs in productio ## Further reading -- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% if currentVersion ver_gt "enterprise-server@2.22" %} +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes > 2.22 %} - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md index 80856b4a0a..245a5b3121 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-azure.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/installation/installing-github-enterprise-server-on-azure - /admin/installation/installing-github-enterprise-server-on-azure versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- @@ -99,5 +99,5 @@ The {% data variables.product.prodname_ghe_server %} appliance requires a premiu ## Further reading -- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% if currentVersion ver_gt "enterprise-server@2.22" %} +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes > 2.22 %} - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-google-cloud-platform.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-google-cloud-platform.md index d472a9aa00..7a51ec4995 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-google-cloud-platform.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-google-cloud-platform.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/installation/installing-github-enterprise-server-on-google-cloud-platform - /admin/installation/installing-github-enterprise-server-on-google-cloud-platform versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- @@ -92,5 +92,5 @@ To create the {% data variables.product.prodname_ghe_server %} instance, you'll ## Further reading -- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% if currentVersion ver_gt "enterprise-server@2.22" %} +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes > 2.22 %} - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-hyper-v.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-hyper-v.md index c0adb70779..92e333c9ab 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-hyper-v.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-hyper-v.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/installation/installing-github-enterprise-server-on-hyper-v - /admin/installation/installing-github-enterprise-server-on-hyper-v versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- @@ -64,5 +64,5 @@ topics: ## Further reading -- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% if currentVersion ver_gt "enterprise-server@2.22" %} +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes > 2.22 %} - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-openstack-kvm.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-openstack-kvm.md index 40e8375c94..1b5f7d1680 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-openstack-kvm.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-openstack-kvm.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/installation/installing-github-enterprise-server-on-openstack-kvm - /admin/installation/installing-github-enterprise-server-on-openstack-kvm versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- @@ -49,5 +49,5 @@ topics: ## Further reading -- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% if currentVersion ver_gt "enterprise-server@2.22" %} +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes > 2.22 %} - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md index 0f9b2b735f..f3afcb38ac 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-vmware.md @@ -9,7 +9,7 @@ redirect_from: - /enterprise/admin/installation/installing-github-enterprise-server-on-vmware - /admin/installation/installing-github-enterprise-server-on-vmware versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- @@ -50,5 +50,5 @@ topics: ## Further reading -- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% if currentVersion ver_gt "enterprise-server@2.22" %} +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes > 2.22 %} - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-xenserver.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-xenserver.md index 549625a138..e1ea865bf0 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-xenserver.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/installing-github-enterprise-server-on-xenserver.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/installation/installing-github-enterprise-server-on-xenserver - /admin/installation/installing-github-enterprise-server-on-xenserver versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- @@ -54,5 +54,5 @@ topics: ## Further reading -- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% if currentVersion ver_gt "enterprise-server@2.22" %} +- "[System overview](/enterprise/admin/guides/installation/system-overview)"{% ifversion ghes > 2.22 %} - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)"{% endif %} diff --git a/content/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md b/content/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md index 0a5d90dc49..f72ba0e775 100644 --- a/content/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md +++ b/content/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/installation/setting-up-a-staging-instance - /admin/installation/setting-up-a-staging-instance versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise @@ -30,7 +30,7 @@ To thoroughly test a {% data variables.product.prodname_ghe_server %} appliance 2. Set up a new instance to act as your staging environment. You can use the same guides for provisioning and installing your staging instance as you did for your production instance. For more information, see "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/enterprise/admin/guides/installation/setting-up-a-github-enterprise-server-instance/)." 3. Restore your backup onto your staging instance. For more information, see the "Restoring a backup" section of "[Configuring backups on your appliance](/enterprise/admin/guides/installation/configuring-backups-on-your-appliance#restoring-a-backup)." -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} ## Further reading - "[About upgrades to new releases](/admin/overview/about-upgrades-to-new-releases)" diff --git a/content/admin/overview/about-data-residency.md b/content/admin/overview/about-data-residency.md index 08df5703dc..9e679331b0 100644 --- a/content/admin/overview/about-data-residency.md +++ b/content/admin/overview/about-data-residency.md @@ -2,7 +2,7 @@ title: About data residency intro: 'You can choose the geography where {% data variables.product.product_name %} stores all customer data for your enterprise.' versions: - github-ae: '*' + ghae: '*' type: overview topics: - Enterprise diff --git a/content/admin/overview/about-enterprise-accounts.md b/content/admin/overview/about-enterprise-accounts.md index 9774cbe346..accda8f3e7 100644 --- a/content/admin/overview/about-enterprise-accounts.md +++ b/content/admin/overview/about-enterprise-accounts.md @@ -1,12 +1,12 @@ --- title: About enterprise accounts -intro: 'With {% data variables.product.product_name %}, you can use an enterprise account to give administrators a single point of visibility and management{% if enterpriseServerVersions contains currentVersion %} for billing and license usage{% endif %}.' +intro: 'With {% data variables.product.product_name %}, you can use an enterprise account to give administrators a single point of visibility and management{% ifversion ghes %} for billing and license usage{% endif %}.' redirect_from: - /enterprise/admin/installation/about-enterprise-accounts - /enterprise/admin/overview/about-enterprise-accounts versions: - enterprise-server: '>=2.20' - github-ae: '*' + ghes: '*' + ghae: '*' type: overview topics: - Accounts @@ -16,20 +16,20 @@ topics: ## About enterprise accounts on {% data variables.product.product_name %} -An enterprise account allows you to manage multiple organizations{% if enterpriseServerVersions contains currentVersion %} and {% data variables.product.prodname_ghe_server %} instances{% else %} on {% data variables.product.product_name %}{% endif %}. Your enterprise account must have a handle, like an organization or personal account on {% data variables.product.prodname_dotcom %}. Enterprise administrators can manage settings and preferences, like: +An enterprise account allows you to manage multiple organizations{% ifversion ghes %} and {% data variables.product.prodname_ghe_server %} instances{% else %} on {% data variables.product.product_name %}{% endif %}. Your enterprise account must have a handle, like an organization or personal account on {% data variables.product.prodname_dotcom %}. Enterprise administrators can manage settings and preferences, like: -- Member access and management (organization members, outside collaborators){% if enterpriseServerVersions contains currentVersion %} +- Member access and management (organization members, outside collaborators){% ifversion ghes %} - Billing and usage ({% data variables.product.prodname_ghe_server %} instances, user licenses, {% data variables.large_files.product_name_short %} packs){% endif %} -- Security {% if enterpriseServerVersions contains currentVersion %}(single sign-on, two factor authentication) -- Requests {% if enterpriseServerVersions contains currentVersion %}and support bundle sharing {% endif %}with {% data variables.contact.enterprise_support %}{% endif %} +- Security {% ifversion ghes %}(single sign-on, two factor authentication) +- Requests {% ifversion ghes %}and support bundle sharing {% endif %}with {% data variables.contact.enterprise_support %}{% endif %} -{% if enterpriseServerVersions contains currentVersion %}{% data reusables.enterprise-accounts.enterprise-accounts-billing %} For more information about the management of your {% data variables.product.prodname_ghe_cloud %} subscription, see "[Viewing the subscription and usage for your enterprise account](/articles/viewing-the-subscription-and-usage-for-your-enterprise-account)." {% endif %}For more information about managing your {% data variables.product.product_name %} billing settings, see "[Managing billing for your enterprise](/admin/overview/managing-billing-for-your-enterprise)." +{% ifversion ghes %}{% data reusables.enterprise-accounts.enterprise-accounts-billing %} For more information about the management of your {% data variables.product.prodname_ghe_cloud %} subscription, see "[Viewing the subscription and usage for your enterprise account](/articles/viewing-the-subscription-and-usage-for-your-enterprise-account)." {% endif %}For more information about managing your {% data variables.product.product_name %} billing settings, see "[Managing billing for your enterprise](/admin/overview/managing-billing-for-your-enterprise)." For more information about the management of users, organizations, data, and policies for {% data variables.product.product_location %}, see "[Managing users, organizations, and repositories](/admin/user-management)" and "[Setting policies for your enterprise](/admin/policies)." For more information about the management of enterprise accounts using the GraphQL API, see "[Enterprise accounts](/graphql/guides/managing-enterprise-accounts)." -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} For more information about the differences between {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)." To upgrade to {% data variables.product.prodname_enterprise %} or to get started with an enterprise account, contact {% data variables.contact.contact_enterprise_sales %}. diff --git a/content/admin/overview/about-github-ae.md b/content/admin/overview/about-github-ae.md index 505230e2e2..b5db757d0f 100644 --- a/content/admin/overview/about-github-ae.md +++ b/content/admin/overview/about-github-ae.md @@ -2,7 +2,7 @@ title: About GitHub AE intro: '{% data variables.product.prodname_ghe_managed %} is a security-enhanced and compliant way to use {% data variables.product.prodname_dotcom %} in the cloud.' versions: - github-ae: '*' + ghae: '*' type: overview topics: - Enterprise diff --git a/content/admin/overview/about-the-github-enterprise-api.md b/content/admin/overview/about-the-github-enterprise-api.md index e0a6cb7120..9e3ddc9eed 100644 --- a/content/admin/overview/about-the-github-enterprise-api.md +++ b/content/admin/overview/about-the-github-enterprise-api.md @@ -9,15 +9,15 @@ redirect_from: - /enterprise/admin/overview/about-the-github-enterprise-server-api - /admin/overview/about-the-github-enterprise-server-api versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise --- With the APIs, you can automate many administrative tasks. Some examples include: -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} - Perform changes to the {% data variables.enterprise.management_console %}. For more information, see "[{% data variables.enterprise.management_console %}](/enterprise/{{ currentVersion }}/user/rest/reference/enterprise-admin#management-console)." - Configure LDAP sync. For more information, see "[LDAP](/enterprise/{{ currentVersion }}/user/rest/reference/enterprise-admin#ldap)."{% endif %} - Collect statistics about your enterprise. For more information, see "[Admin stats](/rest/reference/enterprise-admin#admin-stats)." diff --git a/content/admin/overview/about-upgrades-to-new-releases.md b/content/admin/overview/about-upgrades-to-new-releases.md index 289ec3b532..cdd6a2b145 100644 --- a/content/admin/overview/about-upgrades-to-new-releases.md +++ b/content/admin/overview/about-upgrades-to-new-releases.md @@ -1,21 +1,21 @@ --- title: About upgrades to new releases shortTitle: About upgrades -intro: '{% if currentVersion == "github-ae@latest" %}Your {% data variables.product.product_name %} enterprise is updated with the latest features and bug fixes on a regular basis by {% data variables.product.company_short %}.{% else %}You can benefit from new features and bug fixes for {% data variables.product.product_name %} by upgrading your enterprise to a newly released version.{% endif %}' +intro: '{% ifversion ghae %}Your {% data variables.product.product_name %} enterprise is updated with the latest features and bug fixes on a regular basis by {% data variables.product.company_short %}.{% else %}You can benefit from new features and bug fixes for {% data variables.product.product_name %} by upgrading your enterprise to a newly released version.{% endif %}' versions: - enterprise-server: '>=3.0' - github-ae: '*' + ghes: '>=3.0' + ghae: '*' type: overview topics: - Enterprise - Upgrades --- -{% data variables.product.product_name %} is constantly improving, with new functionality and bug fixes introduced through major and minor releases. {% if currentVersion == "github-ae@latest" %}{% data variables.product.prodname_ghe_managed %} is a fully managed service, so {% data variables.product.company_short %} completes the upgrade process for your enterprise.{% endif %} +{% data variables.product.product_name %} is constantly improving, with new functionality and bug fixes introduced through major and minor releases. {% ifversion ghae %}{% data variables.product.prodname_ghe_managed %} is a fully managed service, so {% data variables.product.company_short %} completes the upgrade process for your enterprise.{% endif %} -Major releases include new functionality and feature upgrades and typically occur {% if currentVersion == "github-ae@latest" %}every few weeks or months{% else %} quarterly{% endif %}. {% if currentVersion == "github-ae@latest" %}{% data variables.product.company_short %} will upgrade your enterprise to the latest major release. You will be given advance notice of any planned downtime for your enterprise.{% endif %} +Major releases include new functionality and feature upgrades and typically occur {% ifversion ghae %}every few weeks or months{% else %} quarterly{% endif %}. {% ifversion ghae %}{% data variables.product.company_short %} will upgrade your enterprise to the latest major release. You will be given advance notice of any planned downtime for your enterprise.{% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} Starting with {% data variables.product.prodname_ghe_server %} 3.0, all major releases begin with at least one release candidate. Release candidates are proposed major releases, with a complete feature set. There may be bugs or issues in a release candidate which can only be found through feedback from customers actually using {% data variables.product.product_name %}. @@ -33,7 +33,7 @@ We'll use your feedback to apply bug fixes and any other necessary changes to cr {% endwarning %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} Minor releases, which consist of hot patches and bug fixes only, happen more frequently. Minor releases are generally available when first released, with no release candidates. Upgrading to a minor release typically requires less than five minutes of downtime. @@ -44,6 +44,6 @@ To upgrade your enterprise to a new release, see "[Release notes](/enterprise-se ## Further reading - [ {% data variables.product.prodname_roadmap %} ]( {% data variables.product.prodname_roadmap_link %} ) in the `github/roadmap` repository -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} - [ {% data variables.product.prodname_ghe_managed %} release notes](/admin/release-notes) {% endif %} diff --git a/content/admin/overview/index.md b/content/admin/overview/index.md index 87c75cdcce..149246e217 100644 --- a/content/admin/overview/index.md +++ b/content/admin/overview/index.md @@ -1,11 +1,11 @@ --- title: Overview -intro: 'You can learn about {% data variables.product.product_name %} and manage{% if enterpriseServerVersions contains currentVersion %} accounts and access, licenses, and{% endif %} billing.' +intro: 'You can learn about {% data variables.product.product_name %} and manage{% ifversion ghes %} accounts and access, licenses, and{% endif %} billing.' redirect_from: - /enterprise/admin/overview versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' children: - /about-github-ae - /about-upgrades-to-new-releases diff --git a/content/admin/overview/managing-billing-for-your-enterprise.md b/content/admin/overview/managing-billing-for-your-enterprise.md index 1d37d9d212..9e3cabaa2f 100644 --- a/content/admin/overview/managing-billing-for-your-enterprise.md +++ b/content/admin/overview/managing-billing-for-your-enterprise.md @@ -7,13 +7,13 @@ redirect_from: - /enterprise/admin/overview/managing-billing-for-github-enterprise - /admin/overview/managing-billing-for-github-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise --- -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% data reusables.github-ae.about-billing %} Once per day, {% data variables.product.prodname_dotcom %} will count the number of users with a license for your enterprise. {% data variables.product.company_short %} bills you for each licensed user regardless of whether the user logged into {% data variables.product.prodname_ghe_managed %} that day. @@ -42,7 +42,7 @@ You can see your current usage in your [Azure account portal](https://portal.azu Enterprise accounts are currently available to {% data variables.product.prodname_enterprise %} customers paying by invoice. Billing for all of the organizations and {% data variables.product.prodname_ghe_server %} instances connected to your enterprise account is aggregated into a single bill charge for all of your paid {% data variables.product.prodname_dotcom_the_website %} services (including paid licenses in organizations, {% data variables.large_files.product_name_long %} data packs, and subscriptions for {% data variables.product.prodname_marketplace %} apps). -Enterprise owners and billing managers can access and manage all billing settings for enterprise accounts. For more information about enterprise accounts, {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)."For more information about managing billing managers, see "[Inviting people to manage your enterprise](/github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise)." +Enterprise owners and billing managers can access and manage all billing settings for enterprise accounts. For more information about enterprise accounts, {% ifversion fpt or ghae %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)."For more information about managing billing managers, see "[Inviting people to manage your enterprise](/github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise)." ## Viewing your current invoice diff --git a/content/admin/overview/managing-your-github-enterprise-license.md b/content/admin/overview/managing-your-github-enterprise-license.md index 183e393156..6a2537b5e3 100644 --- a/content/admin/overview/managing-your-github-enterprise-license.md +++ b/content/admin/overview/managing-your-github-enterprise-license.md @@ -13,7 +13,7 @@ redirect_from: - /enterprise/admin/installation/managing-your-github-enterprise-server-license - /enterprise/admin/overview/managing-your-github-enterprise-license versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise --- @@ -53,7 +53,7 @@ If you'd like to renew or add user licenses to {% data variables.product.prodnam 14. Click **Upload**. ![Begin upload](/assets/images/enterprise/management-console/begin-upload.png) -{% if currentVersion ver_lt "enterprise-server@3.0" %}If the web UI for {% data variables.product.prodname_ghe_server %} doesn't reflect your updated license immediately, see "[Troubleshooting](#troubleshooting)."{% endif %} +{% ifversion ghes < 3.0 %}If the web UI for {% data variables.product.prodname_ghe_server %} doesn't reflect your updated license immediately, see "[Troubleshooting](#troubleshooting)."{% endif %} ## Viewing license usage @@ -61,7 +61,7 @@ If you'd like to renew or add user licenses to {% data variables.product.prodnam {% data reusables.enterprise-accounts.settings-tab %} 3. In the left sidebar, click **Enterprise licensing**. !["Enterprise licensing" tab in the enterprise account settings sidebar](/assets/images/help/enterprises/enterprise-licensing-tab.png) -4. Review your current {% data variables.product.prodname_enterprise %} license, as well as consumed and available user licenses. {% if currentVersion ver_gt "enterprise-server@3.0" %}If your license includes {% data variables.product.prodname_GH_advanced_security %}, you can review your total seat use as well as a per-organization breakdown of committers. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security)."{% endif %} +4. Review your current {% data variables.product.prodname_enterprise %} license, as well as consumed and available user licenses. {% ifversion ghes > 3.0 %}If your license includes {% data variables.product.prodname_GH_advanced_security %}, you can review your total seat use as well as a per-organization breakdown of committers. For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} for your enterprise](/admin/advanced-security)."{% endif %} ## Automatically syncing user license usage with {% data variables.product.prodname_ghe_cloud %} @@ -86,7 +86,7 @@ You can download a JSON file from {% data variables.product.prodname_ghe_server 11. Upload the JSON file you downloaded from {% data variables.product.prodname_ghe_server %}. ![Drag and drop or select a file to upload](/assets/images/help/business-accounts/upload-ghe-server-usage-file.png) -{% if currentVersion ver_lt "enterprise-server@3.0" %} +{% ifversion ghes < 3.0 %} ## Troubleshooting diff --git a/content/admin/overview/system-overview.md b/content/admin/overview/system-overview.md index 1fec133424..86086d0b5b 100644 --- a/content/admin/overview/system-overview.md +++ b/content/admin/overview/system-overview.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/installation/system-overview - /enterprise/admin/overview/system-overview versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Enterprise diff --git a/content/admin/packages/configuring-package-ecosystem-support-for-your-enterprise.md b/content/admin/packages/configuring-package-ecosystem-support-for-your-enterprise.md index 1caee06d1d..72259a3bbc 100644 --- a/content/admin/packages/configuring-package-ecosystem-support-for-your-enterprise.md +++ b/content/admin/packages/configuring-package-ecosystem-support-for-your-enterprise.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/packages/configuring-packages-support-for-your-enterprise - /admin/packages/configuring-packages-support-for-your-enterprise versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' type: how_to topics: - Enterprise @@ -18,7 +18,7 @@ topics: To prevent new packages from being uploaded, you can set an ecosystem you previously enabled to **Read-Only**, while still allowing existing packages to be downloaded. -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} To use {% data variables.product.prodname_registry %} with Docker, you must have subdomain isolation enabled for your instance. For more information, see "[Enabling subdomain isolation](/enterprise/admin/configuration/enabling-subdomain-isolation)." {% endif %} @@ -29,7 +29,7 @@ To use {% data variables.product.prodname_registry %} with Docker, you must have ![Ecosystem toggles](/assets/images/enterprise/site-admin-settings/ecosystem-toggles.png) {% data reusables.enterprise_management_console.save-settings %} -{% if currentVersion == "enterprise-server@3.0" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion ghes = 3.0 or ghes > 3.0 %} ## Connecting to the official npm registry If you've enabled npm packages on your enterprise and want to allow access to the official npm registry as well as the {% data variables.product.prodname_registry %} npm registry, then you must perform some additional configuration. diff --git a/content/admin/packages/enabling-github-packages-with-aws.md b/content/admin/packages/enabling-github-packages-with-aws.md index 3203433838..d931789161 100644 --- a/content/admin/packages/enabling-github-packages-with-aws.md +++ b/content/admin/packages/enabling-github-packages-with-aws.md @@ -2,7 +2,7 @@ title: Enabling GitHub Packages with AWS intro: 'Set up {% data variables.product.prodname_registry %} with AWS as your external storage.' versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' topics: - Enterprise --- @@ -35,7 +35,7 @@ Ensure your AWS access key ID and secret have the following permissions: {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_site_admin_settings.packages-tab %} {% data reusables.package_registry.enable-enterprise-github-packages %} -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} 1. Under "AWS Service URL", type the S3 endpoint URL for your bucket's region. ![AWS Service URL field](/assets/images/enterprise/site-admin-settings/storage-service-url.png) 1. Under "AWS S3 Bucket", type the name of the S3 bucket you want to use to store package artifacts. @@ -47,7 +47,7 @@ Ensure your AWS access key ID and secret have the following permissions: 1. Under "AWS S3 Region", type your region for S3. ![AWS S3 Region field](/assets/images/enterprise/site-admin-settings/aws-s3-region.png) {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} 1. Under "Packages Storage", select **Amazon S3** and enter your storage bucket's details: - **AWS Service URL:** The service URL for your bucket. For example, if your S3 bucket was created in the `us-west-2 region`, this value should be `https://s3.us-west-2.amazonaws.com`. diff --git a/content/admin/packages/enabling-github-packages-with-azure-blob-storage.md b/content/admin/packages/enabling-github-packages-with-azure-blob-storage.md index f3ad16e33f..d01f97a862 100644 --- a/content/admin/packages/enabling-github-packages-with-azure-blob-storage.md +++ b/content/admin/packages/enabling-github-packages-with-azure-blob-storage.md @@ -2,7 +2,7 @@ title: Enabling GitHub Packages with Azure Blob Storage intro: 'Set up {% data variables.product.prodname_registry %} with Azure Blob Storage as your external storage.' versions: - enterprise-server: '>=3.0' + ghes: '>=3.0' topics: - Enterprise --- diff --git a/content/admin/packages/enabling-github-packages-with-minio.md b/content/admin/packages/enabling-github-packages-with-minio.md index ae798be85a..1bb6270c02 100644 --- a/content/admin/packages/enabling-github-packages-with-minio.md +++ b/content/admin/packages/enabling-github-packages-with-minio.md @@ -2,7 +2,7 @@ title: Enabling GitHub Packages with MinIO intro: 'Set up {% data variables.product.prodname_registry %} with MinIO as your external storage.' versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' topics: - Enterprise --- @@ -29,13 +29,13 @@ Ensure your MinIO external storage access key ID and secret have these permissio ## Enabling {% data variables.product.prodname_registry %} with MinIO external storage -Although MinIO does not currently appear in the user interface under "Package Storage", MinIO is still {% if currentVersion == "enterprise-server@2.22" %} officially{% endif %} supported by {% data variables.product.prodname_registry %} on {% data variables.product.prodname_enterprise %}. Also, note that MinIO's object storage is compatible with the S3 API and you can enter MinIO's bucket details in place of AWS S3 details. +Although MinIO does not currently appear in the user interface under "Package Storage", MinIO is still {% ifversion ghes = 2.22 %} officially{% endif %} supported by {% data variables.product.prodname_registry %} on {% data variables.product.prodname_enterprise %}. Also, note that MinIO's object storage is compatible with the S3 API and you can enter MinIO's bucket details in place of AWS S3 details. {% data reusables.enterprise_site_admin_settings.access-settings %} {% data reusables.enterprise_site_admin_settings.management-console %} {% data reusables.enterprise_site_admin_settings.packages-tab %} {% data reusables.package_registry.enable-enterprise-github-packages %} -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} 1. Under "AWS Service URL", type the MinIO URL for your bucket's region. ![AWS Service URL field](/assets/images/enterprise/site-admin-settings/storage-service-url.png) 1. Under "AWS S3 Bucket", type the name of the MinIO bucket you want to use to store package artifacts. @@ -47,7 +47,7 @@ Although MinIO does not currently appear in the user interface under "Package St 1. Under "AWS S3 Region", type your region for MinIO. ![AWS S3 Region field](/assets/images/enterprise/site-admin-settings/aws-s3-region.png) {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} 1. Under "Packages Storage", select **Amazon S3**. 1. Enter your MinIO storage bucket's details in the AWS storage settings. - **AWS Service URL:** The hosting URL for your MinIO bucket. diff --git a/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md b/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md index 6393eacf4b..5db3febaef 100644 --- a/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md +++ b/content/admin/packages/getting-started-with-github-packages-for-your-enterprise.md @@ -6,14 +6,14 @@ redirect_from: - /enterprise/admin/packages/enabling-github-packages-for-your-enterprise - /admin/packages/enabling-github-packages-for-your-enterprise versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' type: how_to topics: - Enterprise - Packages --- -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} {% data reusables.package_registry.packages-ghes-release-stage %} @@ -34,12 +34,12 @@ topics: After enabling {% data variables.product.prodname_registry %} for {% data variables.product.product_location %}, you'll need to prepare your third-party storage bucket. The amount of storage required depends on your usage of {% data variables.product.prodname_registry %}, and the setup guidelines can vary by storage provider. Supported external storage providers -- Amazon Web Services (AWS) S3 {% if currentVersion ver_gt "enterprise-server@2.22" %} +- Amazon Web Services (AWS) S3 {% ifversion ghes > 2.22 %} - Azure Blob Storage {% endif %} - MinIO To enable {% data variables.product.prodname_registry %} and configure third-party storage, see: - - "[Enabling GitHub Packages with AWS](/admin/packages/enabling-github-packages-with-aws)"{% if currentVersion ver_gt "enterprise-server@2.22" %} + - "[Enabling GitHub Packages with AWS](/admin/packages/enabling-github-packages-with-aws)"{% ifversion ghes > 2.22 %} - "[Enabling GitHub Packages with Azure Blob Storage](/admin/packages/enabling-github-packages-with-azure-blob-storage)"{% endif %} - "[Enabling GitHub Packages with MinIO](/admin/packages/enabling-github-packages-with-minio)" @@ -49,6 +49,6 @@ Choose which package ecosystems you'd like to enable, disable, or set to read-on ## Step 3: Ensure you have a TLS certificate for your package host URL, if needed -If subdomain isolation is enabled for {% data variables.product.product_location %}{% if currentVersion == "enterprise-server@2.22" %}, which is required to use {% data variables.product.prodname_registry %} with Docker{% endif %}, you will need to create and upload a TLS certificate that allows the package host URL for each ecosystem you want to use, such as `npm.HOSTNAME`. Make sure each package host URL includes `https://`. +If subdomain isolation is enabled for {% data variables.product.product_location %}{% ifversion ghes = 2.22 %}, which is required to use {% data variables.product.prodname_registry %} with Docker{% endif %}, you will need to create and upload a TLS certificate that allows the package host URL for each ecosystem you want to use, such as `npm.HOSTNAME`. Make sure each package host URL includes `https://`. You can create the certificate manually, or you can use _Let's Encrypt_. If you already use _Let's Encrypt_, you must request a new TLS certificate after enabling {% data variables.product.prodname_registry %}. For more information about package host URLs, see "[Enabling subdomain isolation](/enterprise/admin/configuration/enabling-subdomain-isolation)." For more information about uploading TLS certificates to {% data variables.product.product_name %}, see "[Configuring TLS](/enterprise/admin/configuration/configuring-tls)." diff --git a/content/admin/packages/index.md b/content/admin/packages/index.md index ad486afa50..ad90dbc535 100644 --- a/content/admin/packages/index.md +++ b/content/admin/packages/index.md @@ -4,7 +4,7 @@ intro: 'You can enable {% data variables.product.prodname_registry %} for your e redirect_from: - /enterprise/admin/packages versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' topics: - Enterprise children: @@ -16,5 +16,5 @@ children: - /configuring-package-ecosystem-support-for-your-enterprise --- {% data reusables.package_registry.packages-ghes-release-stage %} - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} {% endif %} diff --git a/content/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages.md b/content/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages.md index b6f009638f..0a51c7a454 100644 --- a/content/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages.md +++ b/content/admin/packages/quickstart-for-configuring-your-minio-storage-bucket-for-github-packages.md @@ -2,7 +2,7 @@ title: Quickstart for configuring your MinIO storage bucket for GitHub Packages intro: 'Configure your custom MinIO storage bucket for use with {% data variables.product.prodname_registry %}.' versions: - enterprise-server: '>=2.22' + ghes: '>=2.22' type: quick_start topics: - Packages diff --git a/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise.md b/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise.md index b7f72feef0..3140f20130 100644 --- a/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise.md +++ b/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise.md @@ -3,8 +3,8 @@ title: Enforcing policies for Advanced Security in your enterprise intro: 'Enterprise owners can enforce policies to manage {% data variables.product.prodname_GH_advanced_security %} features for organizations on {% data variables.product.product_location %}.' product: '{% data reusables.gated-features.ghas %}' versions: - enterprise-server: '>=3.1' - github-ae: next + ghes: '>=3.1' + ghae: next type: how_to topics: - Advanced Security diff --git a/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md index 740c9b4901..78334b09c5 100644 --- a/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md +++ b/content/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md @@ -27,8 +27,8 @@ redirect_from: - /enterprise/admin/policies/enforcing-repository-management-policies-in-your-enterprise - /admin/policies/enforcing-repository-management-policies-in-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise @@ -42,7 +42,7 @@ Each time someone creates a new repository on your enterprise, that person must If an enterprise owner disallows members from creating certain types of repositories, members will not be able to create that type of repository even if the visibility setting defaults to that type. For more information, see "[Setting a policy for repository creation](#setting-a-policy-for-repository-creation)." {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} @@ -74,7 +74,7 @@ If an enterprise owner has restricted repository creation to organization owners {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.repositories-tab %} 5. Under "Repository creation", review the information about changing the setting. {% data reusables.enterprise-accounts.view-current-policy-config-orgs %} -{% if currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} {% data reusables.enterprise-accounts.repo-creation-policy %} {% data reusables.enterprise-accounts.repo-creation-types %} {% else %} @@ -108,7 +108,7 @@ To keep your repository size manageable and prevent performance issues, you can By default, when you enforce repository upload limits, people cannot add or update files larger than 100 MB. {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} @@ -124,7 +124,7 @@ By default, when you enforce repository upload limits, people cannot add or upda Requiring users to resolve merge conflicts locally on their computer can prevent people from inadvertently writing to an upstream repository from a fork. {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} @@ -140,7 +140,7 @@ Each repository inherits a default force push setting from the settings of the u ### Blocking all force pushes on your appliance {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} @@ -182,13 +182,13 @@ You can override the default inherited settings by configuring the settings for 6. Optionally, select **Enforce on all repositories** to override repository-specific settings. Note that this will **not** override an enterprise-wide policy. ![Block force pushes](/assets/images/enterprise/site-admin-settings/user/user-block-all-force-pushes.png) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Configuring anonymous Git read access {% data reusables.enterprise_user_management.disclaimer-for-git-read-access %} -{% if enterpriseServerVersions contains currentVersion %}If you have [enabled private mode](/enterprise/admin/configuration/enabling-private-mode) on your enterprise, you {% else %}You {% endif %}can allow repository administrators to enable anonymous Git read access to public repositories. +{% ifversion ghes %}If you have [enabled private mode](/enterprise/admin/configuration/enabling-private-mode) on your enterprise, you {% else %}You {% endif %}can allow repository administrators to enable anonymous Git read access to public repositories. Enabling anonymous Git read access allows users to bypass authentication for custom tools on your enterprise. When you or a repository administrator enable this access setting for a repository, unauthenticated Git operations (and anyone with network access to {% data variables.product.product_name %}) will have read access to the repository without authentication. @@ -201,7 +201,7 @@ If necessary, you can prevent repository administrators from changing anonymous ### Setting anonymous Git read access for all repositories {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} @@ -228,7 +228,7 @@ If necessary, you can prevent repository administrators from changing anonymous {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.22 or ghae %} ## Enforcing a policy on the default branch name {% data reusables.enterprise-accounts.access-enterprise %} diff --git a/content/admin/policies/enforcing-policies-for-your-enterprise/index.md b/content/admin/policies/enforcing-policies-for-your-enterprise/index.md index d2eb480db5..1b7d5753d9 100644 --- a/content/admin/policies/enforcing-policies-for-your-enterprise/index.md +++ b/content/admin/policies/enforcing-policies-for-your-enterprise/index.md @@ -3,8 +3,8 @@ title: Enforcing policies for your enterprise redirect_from: - /enterprise/admin/policies/enforcing-policies-for-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise.md b/content/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise.md index 2c2398a5d0..8624e4aa32 100644 --- a/content/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise.md +++ b/content/admin/policies/enforcing-policies-for-your-enterprise/restricting-email-notifications-for-your-enterprise.md @@ -3,7 +3,7 @@ title: Restricting email notifications for your enterprise intro: You can prevent your enterprise's information from leaking into personal email accounts by restricting the domains where members can receive email notifications about activity in organizations owned by your enterprise. product: '{% data reusables.gated-features.enterprise-accounts %}' versions: - enterprise-server: '>=3.2' + ghes: '>=3.2' permissions: Enterprise owners can restrict email notifications for an enterprise. type: how_to topics: diff --git a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks.md b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks.md index c6e0e2b13f..7fe36cce01 100644 --- a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks.md +++ b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/about-pre-receive-hooks.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/policies/about-pre-receive-hooks - /admin/policies/about-pre-receive-hooks versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Enterprise diff --git a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment.md b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment.md index ef77230149..59d75ab92b 100644 --- a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment.md +++ b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-environment.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/policies/creating-a-pre-receive-hook-environment - /admin/policies/creating-a-pre-receive-hook-environment versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md index ba18d6a3d0..08b2395be9 100644 --- a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md +++ b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/creating-a-pre-receive-hook-script.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/policies/creating-a-pre-receive-hook-script - /admin/policies/creating-a-pre-receive-hook-script versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise @@ -68,7 +68,7 @@ The following variables are always available in the pre-receive hook environment | :- | :- | :- | |
$GIT_DIR
| Path to the remote repository on the instance | /data/user/repositories/a/ab/
a1/b2/34/100001234/1234.git | |
$GIT_PUSH_OPTION_COUNT
| The number of push options that were sent by the client with `--push-option`. For more information, see "[git-push](https://git-scm.com/docs/git-push#Documentation/git-push.txt---push-optionltoptiongt)" in the Git documentation. | 1 | -|
$GIT\_PUSH\_OPTION\_N
| Where _N_ is an integer starting at 0, this variable contains the push option string that was sent by the client. The first option that was sent is stored in `GIT_PUSH_OPTION_0`, the second option that was sent is stored in `GIT_PUSH_OPTION_1`, and so on. For more information about push options, see "[git-push](https://git-scm.com/docs/git-push#git-push---push-optionltoptiongt)" in the Git documentation. | abcd |{% if currentVersion ver_gt "enterprise-server@2.21" %} +|
$GIT\_PUSH\_OPTION\_N
| Where _N_ is an integer starting at 0, this variable contains the push option string that was sent by the client. The first option that was sent is stored in `GIT_PUSH_OPTION_0`, the second option that was sent is stored in `GIT_PUSH_OPTION_1`, and so on. For more information about push options, see "[git-push](https://git-scm.com/docs/git-push#git-push---push-optionltoptiongt)" in the Git documentation. | abcd |{% ifversion ghes > 2.21 %} |
$GIT_USER_AGENT
| User-agent string sent by the Git client that pushed the changes | git/2.0.0{% endif %} |
$GITHUB_REPO_NAME
| Name of the repository being updated in _NAME_/_OWNER_ format | octo-org/hello-enterprise | |
$GITHUB_REPO_PUBLIC
| Boolean representing whether the repository being updated is public |
  • true: Repository's visibility is public
  • false: Repository's visibility is private or internal
diff --git a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/index.md b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/index.md index 7c6ae28544..9c1cb2b2b6 100644 --- a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/index.md +++ b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/index.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/developer-workflow/using-pre-receive-hooks-to-enforce-policy - /enterprise/admin/policies/enforcing-policy-with-pre-receive-hooks versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance.md b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance.md index b110eca257..361407eddb 100644 --- a/content/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance.md +++ b/content/admin/policies/enforcing-policy-with-pre-receive-hooks/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/policies/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance - /admin/policies/managing-pre-receive-hooks-on-the-github-enterprise-server-appliance versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/policies/index.md b/content/admin/policies/index.md index ca26e364d3..12de2d70b5 100644 --- a/content/admin/policies/index.md +++ b/content/admin/policies/index.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/developer-workflow - /enterprise/admin/policies versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/release-notes.md b/content/admin/release-notes.md index da80bfef2a..2d1b365711 100644 --- a/content/admin/release-notes.md +++ b/content/admin/release-notes.md @@ -2,11 +2,12 @@ title: Release notes layout: release-notes versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise - Upgrades redirect_from: - /admin/overview/github-ae-release-notes --- + diff --git a/content/admin/user-management/index.md b/content/admin/user-management/index.md index 2b527f8ba8..e841bb9bb0 100644 --- a/content/admin/user-management/index.md +++ b/content/admin/user-management/index.md @@ -9,8 +9,8 @@ redirect_from: - /enterprise/admin/clustering - /enterprise/admin/user-management versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/adding-people-to-teams.md b/content/admin/user-management/managing-organizations-in-your-enterprise/adding-people-to-teams.md index c984ad5dac..f2716bde64 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/adding-people-to-teams.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/adding-people-to-teams.md @@ -8,7 +8,7 @@ redirect_from: - /admin/user-management/adding-people-to-teams intro: 'Once a team has been created, organization admins can add users from {% data variables.product.product_location %} to the team and determine which repositories they have access to.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Access management diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md b/content/admin/user-management/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md index 5dda2716b2..321fbca985 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/configuring-visibility-for-organization-membership.md @@ -5,20 +5,20 @@ redirect_from: - /enterprise/admin/user-management/configuring-visibility-for-organization-membership - /admin/user-management/configuring-visibility-for-organization-membership versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise - Organizations - User account --- -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} You can also enforce your default setting on all current organization members in your instance using a command-line utility. For example, if you'd like to require every organization member's visibility to be public, you can set the default to public and enforce the default for all new members in the admin settings, and then use the command-line utility to enforce the public setting on existing members. {% endif %} {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} @@ -27,5 +27,5 @@ You can also enforce your default setting on all current organization members in 3. Under "Default organization membership visibility", use the drop-down menu, and click **Private** or **Public**. ![Drop-down menu with option to configure default organization membership visibility as public or private](/assets/images/enterprise/site-admin-settings/default-organization-membership-visibility-drop-down-menu.png) 4. Optionally, to prevent members from changing their membership visibility from the default, select **Enforce on organization members**. - ![Checkbox to enforce the default setting on all members](/assets/images/enterprise/site-admin-settings/enforce-default-org-membership-visibility-setting.png){% if enterpriseServerVersions contains currentVersion %} + ![Checkbox to enforce the default setting on all members](/assets/images/enterprise/site-admin-settings/enforce-default-org-membership-visibility-setting.png){% ifversion ghes %} 5. If you'd like to enforce your new visibility setting on all existing members, use the `ghe-org-membership-update` command-line utility. For more information, see "[Command-line utilities](/enterprise/{{ currentVersion }}/admin/guides/installation/command-line-utilities#ghe-org-membership-update)."{% endif %} diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/continuous-integration-using-jenkins.md b/content/admin/user-management/managing-organizations-in-your-enterprise/continuous-integration-using-jenkins.md index adbc423c44..74587bf7c6 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/continuous-integration-using-jenkins.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/continuous-integration-using-jenkins.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/user-management/continuous-integration-using-jenkins - /admin/user-management/continuous-integration-using-jenkins versions: - enterprise-server: '*' + ghes: '*' type: reference topics: - CI diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/creating-teams.md b/content/admin/user-management/managing-organizations-in-your-enterprise/creating-teams.md index f153eed7ea..a1207be01c 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/creating-teams.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/creating-teams.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/user-management/creating-teams - /admin/user-management/creating-teams versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Access management diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/index.md b/content/admin/user-management/managing-organizations-in-your-enterprise/index.md index 5cf61c6bd5..981824cf5c 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/index.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/index.md @@ -5,10 +5,10 @@ redirect_from: - /enterprise/admin/categories/admin-bootcamp/ - /enterprise/admin/user-management/organizations-and-teams - /enterprise/admin/user-management/managing-organizations-in-your-enterprise -intro: 'Organizations are great for creating distinct groups of users within your company, such as divisions or groups working on similar projects. {% if currentVersion == "github-ae@latest" %}Internal{% else %}Public and internal{% endif %} repositories that belong to an organization are accessible to users in other organizations, while private repositories are inaccessible to anyone but members of the organization that are granted access.' +intro: 'Organizations are great for creating distinct groups of users within your company, such as divisions or groups working on similar projects. {% ifversion ghae %}Internal{% else %}Public and internal{% endif %} repositories that belong to an organization are accessible to users in other organizations, while private repositories are inaccessible to anyone but members of the organization that are granted access.' versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/managing-projects-using-jira.md b/content/admin/user-management/managing-organizations-in-your-enterprise/managing-projects-using-jira.md index c10b42468b..ce76f85ed5 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/managing-projects-using-jira.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/managing-projects-using-jira.md @@ -9,7 +9,7 @@ redirect_from: - /enterprise/admin/user-management/managing-projects-using-jira - /admin/user-management/managing-projects-using-jira versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/preventing-users-from-creating-organizations.md b/content/admin/user-management/managing-organizations-in-your-enterprise/preventing-users-from-creating-organizations.md index 84239e28c0..c887c8f91d 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/preventing-users-from-creating-organizations.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/preventing-users-from-creating-organizations.md @@ -7,8 +7,8 @@ redirect_from: - /admin/user-management/preventing-users-from-creating-organizations intro: You can prevent users from creating organizations in your enterprise. versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise @@ -16,7 +16,7 @@ topics: - Policies --- {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/removing-users-from-teams-and-organizations.md b/content/admin/user-management/managing-organizations-in-your-enterprise/removing-users-from-teams-and-organizations.md index 327311ab21..2a6df9abae 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/removing-users-from-teams-and-organizations.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/removing-users-from-teams-and-organizations.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/user-management/removing-users-from-teams-and-organizations - /admin/user-management/removing-users-from-teams-and-organizations versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Access management diff --git a/content/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization.md b/content/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization.md index f014f420a0..40bce38dd5 100644 --- a/content/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization.md +++ b/content/admin/user-management/managing-organizations-in-your-enterprise/requiring-two-factor-authentication-for-an-organization.md @@ -5,7 +5,7 @@ redirect_from: - /enterprise/admin/user-management/requiring-two-factor-authentication-for-an-organization - /admin/user-management/requiring-two-factor-authentication-for-an-organization versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - 2FA diff --git a/content/admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise.md b/content/admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise.md index b4785b8303..3dfbb9decc 100644 --- a/content/admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise.md +++ b/content/admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise.md @@ -14,8 +14,8 @@ redirect_from: - /enterprise/admin/user-management/configuring-git-large-file-storage-for-your-enterprise - /admin/user-management/configuring-git-large-file-storage-for-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Git @@ -37,7 +37,7 @@ For more information, see "[About {% data variables.large_files.product_name_lon ## Configuring {% data variables.large_files.product_name_long %} for your enterprise {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} @@ -66,7 +66,7 @@ For more information, see "[About {% data variables.large_files.product_name_lon {% data reusables.enterprise_site_admin_settings.admin-tab %} {% data reusables.enterprise_site_admin_settings.git-lfs-toggle %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Configuring Git Large File Storage to use a third party server {% data reusables.large_files.storage_assets_location %} diff --git a/content/admin/user-management/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md b/content/admin/user-management/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md index ca5435635e..ee234e32e6 100644 --- a/content/admin/user-management/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md +++ b/content/admin/user-management/managing-repositories-in-your-enterprise/disabling-git-ssh-access-on-your-enterprise.md @@ -16,8 +16,8 @@ redirect_from: - /admin/user-management/disabling-git-ssh-access-on-your-enterprise intro: You can prevent people from using Git over SSH for certain or all repositories on your enterprise. versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise @@ -52,7 +52,7 @@ topics: ## Disabling Git SSH access to all repositories in your enterprise {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} diff --git a/content/admin/user-management/managing-repositories-in-your-enterprise/index.md b/content/admin/user-management/managing-repositories-in-your-enterprise/index.md index c28f8ee2c3..41c21afecb 100644 --- a/content/admin/user-management/managing-repositories-in-your-enterprise/index.md +++ b/content/admin/user-management/managing-repositories-in-your-enterprise/index.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/user-management/repositories - /enterprise/admin/user-management/managing-repositories-in-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories.md b/content/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories.md index 9181ea900c..00013e0d80 100644 --- a/content/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories.md +++ b/content/admin/user-management/managing-repositories-in-your-enterprise/migrating-to-internal-repositories.md @@ -7,7 +7,7 @@ redirect_from: - /admin/user-management/migrating-to-internal-repositories permissions: Site administrators can migrate to internal repositories. versions: - enterprise-server: '>=2.20' + ghes: '*' type: how_to topics: - Enterprise @@ -38,7 +38,7 @@ If you don't have private mode enabled, the migration script will have no effect ## Running the migration 1. Connect to the administrative shell. For more information, see "[Accessing the administrative shell (SSH)](/enterprise/admin/installation/accessing-the-administrative-shell-ssh)." -{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.22 or ghae %} 2. Run the migration command. ```shell github-env bin/safe-ruby lib/github/transitions/20191210220630_convert_public_ghes_repos_to_internal.rb --verbose -w | tee -a /tmp/convert_public_ghes_repos_to_internal.log diff --git a/content/admin/user-management/managing-repositories-in-your-enterprise/troubleshooting-service-hooks.md b/content/admin/user-management/managing-repositories-in-your-enterprise/troubleshooting-service-hooks.md index 636cc85886..6b6a09e824 100644 --- a/content/admin/user-management/managing-repositories-in-your-enterprise/troubleshooting-service-hooks.md +++ b/content/admin/user-management/managing-repositories-in-your-enterprise/troubleshooting-service-hooks.md @@ -7,8 +7,8 @@ redirect_from: - /enterprise/admin/user-management/troubleshooting-service-hooks - /admin/user-management/troubleshooting-service-hooks versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise --- diff --git a/content/admin/user-management/managing-users-in-your-enterprise/auditing-ssh-keys.md b/content/admin/user-management/managing-users-in-your-enterprise/auditing-ssh-keys.md index 104529ffb7..bb0d037343 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/auditing-ssh-keys.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/auditing-ssh-keys.md @@ -6,8 +6,8 @@ redirect_from: - /enterprise/admin/user-management/auditing-ssh-keys - /admin/user-management/auditing-ssh-keys versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Auditing diff --git a/content/admin/user-management/managing-users-in-your-enterprise/auditing-users-across-your-enterprise.md b/content/admin/user-management/managing-users-in-your-enterprise/auditing-users-across-your-enterprise.md index 4da6b3ef15..d6fc80cde7 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/auditing-users-across-your-enterprise.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/auditing-users-across-your-enterprise.md @@ -7,8 +7,8 @@ redirect_from: - /admin/user-management/auditing-users-across-your-instance - /admin/user-management/auditing-users-across-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Auditing diff --git a/content/admin/user-management/managing-users-in-your-enterprise/best-practices-for-user-security.md b/content/admin/user-management/managing-users-in-your-enterprise/best-practices-for-user-security.md index 818f0336df..3e50746213 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/best-practices-for-user-security.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/best-practices-for-user-security.md @@ -1,19 +1,19 @@ --- title: Best practices for user security -intro: '{% if enterpriseServerVersions contains currentVersion %}Outside of instance-level security measures (SSL, subdomain isolation, configuring a firewall) that a site administrator can implement, there {% else %}There {% endif %}are steps your users can take to help protect your enterprise.' +intro: '{% ifversion ghes %}Outside of instance-level security measures (SSL, subdomain isolation, configuring a firewall) that a site administrator can implement, there {% else %}There {% endif %}are steps your users can take to help protect your enterprise.' redirect_from: - /enterprise/admin/user-management/best-practices-for-user-security - /admin/user-management/best-practices-for-user-security versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: reference topics: - Enterprise - Security - User account --- -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Enabling two-factor authentication Two-factor authentication (2FA) is a way of logging in to websites and services that requires a second factor beyond a password for authentication. In {% data variables.product.prodname_ghe_server %}'s case, this second factor is a one time authentication code generated by an application on a user's smartphone. We strongly recommend requiring your users to enable two-factor authentication on their accounts. With two-factor authentication, both a user's password and their smartphone would have to be compromised to allow the account itself to be compromised. diff --git a/content/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md b/content/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md index 7418a5df60..e4cd8ab22c 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md @@ -8,8 +8,8 @@ redirect_from: - /admin/user-management/customizing-user-messages-for-your-enterprise intro: 'You can create custom messages that users will see on {% data variables.product.product_location %}.' versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise @@ -18,11 +18,11 @@ topics: ## About user messages There are several types of user messages. -- Messages that appear on the {% if enterpriseServerVersions contains currentVersion %}sign in or {% endif %}sign out page{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} -- Mandatory messages, which appear once in a pop-up window that must be dismissed{% endif %}{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +- Messages that appear on the {% ifversion ghes %}sign in or {% endif %}sign out page{% ifversion ghes > 2.22 or ghae %} +- Mandatory messages, which appear once in a pop-up window that must be dismissed{% endif %}{% ifversion ghes > 2.21 or ghae %} - Announcement banners, which appear at the top of every page{% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% note %} **Note:** If you are using SAML for authentication, the sign in page is presented by your identity provider and is not customizable via {% data variables.product.prodname_ghe_server %}. @@ -36,10 +36,10 @@ You can use Markdown to format your message. For more information, see "[About w {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.messages-tab %} -5. {% if currentVersion ver_gt "enterprise-server@2.22" %}To the right of{% else %}Under{% endif %} "Sign in page", click **Add message** or **Edit message**. -![{% if currentVersion ver_gt "enterprise-server@2.22" %}Add{% else %}Edit{% endif %} message button](/assets/images/enterprise/site-admin-settings/edit-message.png) +5. {% ifversion ghes > 2.22 %}To the right of{% else %}Under{% endif %} "Sign in page", click **Add message** or **Edit message**. +![{% ifversion ghes > 2.22 %}Add{% else %}Edit{% endif %} message button](/assets/images/enterprise/site-admin-settings/edit-message.png) 6. Under **Sign in message**, type the message you'd like users to see. -![Sign in message](/assets/images/enterprise/site-admin-settings/sign-in-message.png){% if currentVersion ver_gt "enterprise-server@2.22" %} +![Sign in message](/assets/images/enterprise/site-admin-settings/sign-in-message.png){% ifversion ghes > 2.22 %} {% data reusables.enterprise_site_admin_settings.message-preview-save %}{% else %} {% data reusables.enterprise_site_admin_settings.click-preview %} ![Preview button](/assets/images/enterprise/site-admin-settings/sign-in-message-preview-button.png) @@ -53,10 +53,10 @@ You can use Markdown to format your message. For more information, see "[About w {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.messages-tab %} -5. {% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}To the right of{% else %}Under{% endif %} "Sign out page", click **Add message** or **Edit message**. +5. {% ifversion ghes > 2.22 or ghae %}To the right of{% else %}Under{% endif %} "Sign out page", click **Add message** or **Edit message**. ![Add message button](/assets/images/enterprise/site-admin-settings/sign-out-add-message-button.png) 6. Under **Sign out message**, type the message you'd like users to see. -![Sign two_factor_auth_header message](/assets/images/enterprise/site-admin-settings/sign-out-message.png){% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +![Sign two_factor_auth_header message](/assets/images/enterprise/site-admin-settings/sign-out-message.png){% ifversion ghes > 2.22 or ghae %} {% data reusables.enterprise_site_admin_settings.message-preview-save %}{% else %} {% data reusables.enterprise_site_admin_settings.click-preview %} ![Preview button](/assets/images/enterprise/site-admin-settings/sign-out-message-preview-button.png) @@ -64,7 +64,7 @@ You can use Markdown to format your message. For more information, see "[About w ![Sign out message rendered](/assets/images/enterprise/site-admin-settings/sign-out-message-rendered.png) {% data reusables.enterprise_site_admin_settings.save-changes %}{% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.22 or ghae %} ## Creating a mandatory message You can create a mandatory message that {% data variables.product.product_name %} will show to all users the first time they sign in after you save the message. The message appears in a pop-up window that the user must dismiss before the user can use {% data variables.product.product_location %}. @@ -96,13 +96,13 @@ Each time a user sees a mandatory message, an audit log event is created. The ev {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} ## Creating a global announcement banner You can set a global announcement banner to be displayed to all users at the top of every page. -{% if currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.22" %} -You can also set an announcement banner{% if enterpriseServerVersions contains currentVersion %} in the administrative shell using a command line utility or{% endif %} using the API. For more information, see {% if enterpriseServerVersions contains currentVersion %}"[Command-line utilities](/enterprise/admin/configuration/command-line-utilities#ghe-announce)" and {% endif %}"[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#announcements)." +{% ifversion ghae or ghes > 2.22 %} +You can also set an announcement banner{% ifversion ghes %} in the administrative shell using a command line utility or{% endif %} using the API. For more information, see {% ifversion ghes %}"[Command-line utilities](/enterprise/admin/configuration/command-line-utilities#ghe-announce)" and {% endif %}"[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#announcements)." {% else %} You can also set an announcement banner in the administrative shell using a command line utility. For more information, see "[Command-line utilities](/enterprise/admin/configuration/command-line-utilities#ghe-announce)." @@ -112,7 +112,7 @@ You can also set an announcement banner in the administrative shell using a comm {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.messages-tab %} -1. {% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}To the right of{% else %}Under{% endif %} "Announcement", click **Add announcement**. +1. {% ifversion ghes > 2.22 or ghae %}To the right of{% else %}Under{% endif %} "Announcement", click **Add announcement**. ![Add announcement button](/assets/images/enterprise/site-admin-settings/add-announcement-button.png) 1. Under "Announcement", in the text field, type the announcement you want displayed in a banner. ![Text field to enter announcement](/assets/images/enterprise/site-admin-settings/announcement-text-field.png) diff --git a/content/admin/user-management/managing-users-in-your-enterprise/index.md b/content/admin/user-management/managing-users-in-your-enterprise/index.md index 179bfc2996..e43253f05d 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/index.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/index.md @@ -7,8 +7,8 @@ redirect_from: - /enterprise/admin/user-management/user-security - /enterprise/admin/user-management/managing-users-in-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users.md b/content/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users.md index a70ef997fd..8e33937e78 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users.md @@ -6,10 +6,10 @@ redirect_from: - /enterprise/admin/articles/determining-whether-a-user-account-is-dormant/ - /enterprise/admin/user-management/managing-dormant-users - /admin/user-management/managing-dormant-users -intro: 'A user account is considered to be dormant if it has not been active for at least a month.{% if enterpriseServerVersions contains currentVersion %} You may choose to suspend dormant users to free up user licenses.{% endif %}' +intro: 'A user account is considered to be dormant if it has not been active for at least a month.{% ifversion ghes %} You may choose to suspend dormant users to free up user licenses.{% endif %}' versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Accounts @@ -20,7 +20,7 @@ topics: - Signing in to {% data variables.product.product_name %}. - Commenting on issues and pull requests. - Creating, deleting, watching, and starring repositories. -- Pushing commits.{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +- Pushing commits.{% ifversion ghes > 2.21 or ghae %} - Accessing resources by using a personal access token or SSH key.{% endif %} ## Viewing dormant users @@ -29,7 +29,7 @@ You can view a list of all dormant users who have not been suspended and who are {% data reusables.enterprise_site_admin_settings.access-settings %} 3. In the left sidebar, click **Dormant users**. -![Dormant users tab](/assets/images/enterprise/site-admin-settings/dormant-users-tab.png){% if enterpriseServerVersions contains currentVersion %} +![Dormant users tab](/assets/images/enterprise/site-admin-settings/dormant-users-tab.png){% ifversion ghes %} 4. To suspend all the dormant users in this list, at the top of the page, click **Suspend all**. ![Suspend all button](/assets/images/enterprise/site-admin-settings/suspend-all.png){% endif %} @@ -47,7 +47,7 @@ You can view a list of all dormant users who have not been suspended and who are {% data reusables.enterprise_site_admin_settings.dormancy-threshold %} {% data reusables.enterprise-accounts.access-enterprise %} -{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.21 or ghae %} {% data reusables.enterprise-accounts.policies-tab %} {% else %} {% data reusables.enterprise-accounts.settings-tab %} diff --git a/content/admin/user-management/managing-users-in-your-enterprise/managing-global-webhooks.md b/content/admin/user-management/managing-users-in-your-enterprise/managing-global-webhooks.md index 48c2193765..ae26f473ef 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/managing-global-webhooks.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/managing-global-webhooks.md @@ -6,8 +6,8 @@ redirect_from: - /enterprise/admin/user-management/managing-global-webhooks - /admin/user-management/managing-global-webhooks versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Enterprise diff --git a/content/admin/user-management/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization.md b/content/admin/user-management/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization.md index 3784a259e7..acac613e10 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/placing-a-legal-hold-on-a-user-or-organization.md @@ -5,8 +5,8 @@ redirect_from: - /enterprise/admin/user-management/placing-a-legal-hold-on-a-user-or-organization - /admin/user-management/placing-a-legal-hold-on-a-user-or-organization versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Accounts diff --git a/content/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator.md b/content/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator.md index 02d96fb767..85e1d1586e 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/promoting-or-demoting-a-site-administrator.md @@ -7,7 +7,7 @@ redirect_from: - /admin/user-management/promoting-or-demoting-a-site-administrator intro: 'Site administrators can promote any normal user account to a site administrator, as well as demote other site administrators to regular users.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Access management diff --git a/content/admin/user-management/managing-users-in-your-enterprise/rebuilding-contributions-data.md b/content/admin/user-management/managing-users-in-your-enterprise/rebuilding-contributions-data.md index f3ef3d5410..d20cef3e60 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/rebuilding-contributions-data.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/rebuilding-contributions-data.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/user-management/rebuilding-contributions-data - /admin/user-management/rebuilding-contributions-data versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md b/content/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md index 4378c60d09..1830a02863 100644 --- a/content/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md +++ b/content/admin/user-management/managing-users-in-your-enterprise/suspending-and-unsuspending-users.md @@ -10,7 +10,7 @@ redirect_from: - /admin/user-management/suspending-and-unsuspending-users intro: 'If a user leaves or moves to a different part of the company, you should remove or modify their ability to access {% data variables.product.product_location %}.' versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Access management diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/about-migrations.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/about-migrations.md index 3c5015133b..e5ff4d4023 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/about-migrations.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/about-migrations.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/user-management/about-migrations - /admin/user-management/about-migrations versions: - enterprise-server: '*' + ghes: '*' type: overview topics: - Enterprise diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md index 24ccb6bb67..9aa3fc9698 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-githubcom.md @@ -11,7 +11,7 @@ redirect_from: - /enterprise/admin/user-management/exporting-migration-data-from-githubcom - /admin/user-management/exporting-migration-data-from-githubcom versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - API diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-your-enterprise.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-your-enterprise.md index c0e3345542..41f77b0567 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-your-enterprise.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/exporting-migration-data-from-your-enterprise.md @@ -11,7 +11,7 @@ redirect_from: - /enterprise/admin/user-management/exporting-migration-data-from-your-enterprise - /admin/user-management/exporting-migration-data-from-your-enterprise versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - API diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/importing-data-from-third-party-version-control-systems.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/importing-data-from-third-party-version-control-systems.md index 0a67338c96..58a81bfc2a 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/importing-data-from-third-party-version-control-systems.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/importing-data-from-third-party-version-control-systems.md @@ -6,7 +6,7 @@ redirect_from: - /enterprise/admin/user-management/importing-data-from-third-party-version-control-systems - /admin/user-management/importing-data-from-third-party-version-control-systems versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/index.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/index.md index 7ef43e4416..cbc43c8482 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/index.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/index.md @@ -7,7 +7,7 @@ redirect_from: - /enterprise/admin/migrations/overview - /enterprise/admin/user-management/migrating-data-to-and-from-your-enterprise versions: - enterprise-server: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md index b6d29b7676..ee54c3cb55 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/migrating-data-to-your-enterprise.md @@ -13,7 +13,7 @@ redirect_from: - /enterprise/admin/user-management/migrating-data-to-your-enterprise - /admin/user-management/migrating-data-to-your-enterprise versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/preparing-to-migrate-data-to-your-enterprise.md b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/preparing-to-migrate-data-to-your-enterprise.md index d022872c7c..bf66fa33c2 100644 --- a/content/admin/user-management/migrating-data-to-and-from-your-enterprise/preparing-to-migrate-data-to-your-enterprise.md +++ b/content/admin/user-management/migrating-data-to-and-from-your-enterprise/preparing-to-migrate-data-to-your-enterprise.md @@ -10,7 +10,7 @@ redirect_from: - /enterprise/admin/user-management/preparing-to-migrate-data-to-your-enterprise - /admin/user-management/preparing-to-migrate-data-to-your-enterprise versions: - enterprise-server: '*' + ghes: '*' type: how_to topics: - Enterprise diff --git a/content/admin/user-management/monitoring-activity-in-your-enterprise/activity-dashboard.md b/content/admin/user-management/monitoring-activity-in-your-enterprise/activity-dashboard.md index 4474743809..3edaa7942d 100644 --- a/content/admin/user-management/monitoring-activity-in-your-enterprise/activity-dashboard.md +++ b/content/admin/user-management/monitoring-activity-in-your-enterprise/activity-dashboard.md @@ -7,8 +7,8 @@ redirect_from: - /enterprise/admin/user-management/activity-dashboard - /admin/user-management/activity-dashboard versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise --- @@ -25,7 +25,7 @@ The Activity dashboard provides weekly, monthly, and yearly graphs of the number ![Activity dashboard](/assets/images/enterprise/activity/activity-dashboard-yearly.png) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} For more analytics based on data from {% data variables.product.product_name %}, you can purchase {% data variables.product.prodname_insights %}. For more information, see "[About {% data variables.product.prodname_insights %}](/insights/installing-and-configuring-github-insights/about-github-insights)." {% endif %} diff --git a/content/admin/user-management/monitoring-activity-in-your-enterprise/audit-logging.md b/content/admin/user-management/monitoring-activity-in-your-enterprise/audit-logging.md index d987f70125..0fc2fe8f08 100644 --- a/content/admin/user-management/monitoring-activity-in-your-enterprise/audit-logging.md +++ b/content/admin/user-management/monitoring-activity-in-your-enterprise/audit-logging.md @@ -1,14 +1,14 @@ --- title: Audit logging -intro: '{% data variables.product.product_name %} keeps logs of audited{% if enterpriseServerVersions contains currentVersion %} system,{% endif %} user, organization, and repository events. Logs are useful for debugging and internal and external compliance.' +intro: '{% data variables.product.product_name %} keeps logs of audited{% ifversion ghes %} system,{% endif %} user, organization, and repository events. Logs are useful for debugging and internal and external compliance.' redirect_from: - /enterprise/admin/articles/audit-logging/ - /enterprise/admin/installation/audit-logging - /enterprise/admin/user-management/audit-logging - /admin/user-management/audit-logging versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: reference topics: - Auditing @@ -22,7 +22,7 @@ For a full list, see "[Audited actions](/admin/user-management/audited-actions). Every Git push operation is logged. For more information, see "[Viewing push logs](/admin/user-management/viewing-push-logs)." -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## System events All audited system events, including all pushes and pulls, are logged to `/var/log/github/audit.log`. Logs are automatically rotated every 24 hours and are retained for seven days. diff --git a/content/admin/user-management/monitoring-activity-in-your-enterprise/audited-actions.md b/content/admin/user-management/monitoring-activity-in-your-enterprise/audited-actions.md index 8a9e67d922..9464772bcb 100644 --- a/content/admin/user-management/monitoring-activity-in-your-enterprise/audited-actions.md +++ b/content/admin/user-management/monitoring-activity-in-your-enterprise/audited-actions.md @@ -8,8 +8,8 @@ redirect_from: - /enterprise/admin/user-management/audited-actions - /admin/user-management/audited-actions versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: reference topics: - Auditing @@ -28,7 +28,7 @@ Action | Description `oauth_application.transfer` | An [OAuth application][] was transferred from one user or organization account to another. `public_key.create` | An SSH key was [added][add key] to a user account or a [deploy key][] was added to a repository. `public_key.delete` | An SSH key was removed from a user account or a [deploy key][] was removed from a repository. -`public_key.update` | A user account's SSH key or a repository's [deploy key][] was updated.{% if enterpriseServerVersions contains currentVersion %} +`public_key.update` | A user account's SSH key or a repository's [deploy key][] was updated.{% ifversion ghes %} `two_factor_authentication.enabled` | [Two-factor authentication][2fa] was enabled for a user account. `two_factor_authentication.disabled` | [Two-factor authentication][2fa] was disabled for a user account.{% endif %} @@ -39,7 +39,7 @@ Action | Description [OAuth application]: /guides/basics-of-authentication/#registering-your-app [2fa]: /articles/about-two-factor-authentication -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ## {% data variables.product.prodname_actions %} {% data reusables.actions.actions-audit-events-for-enterprise %} @@ -58,14 +58,14 @@ Action | Description ## Enterprise configuration settings Action | Description ------------------------------------------------ | -------------------------------------------{% if currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +----------------------------------------------- | -------------------------------------------{% ifversion ghes > 3.0 or ghae-next %} `business.advanced_security_policy_update` | A site admin creates, updates, or removes a policy for {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise)."{% endif %} `business.clear_members_can_create_repos` | A site admin clears a restriction on repository creation in organizations in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)." -`business.update_member_repository_creation_permission` | A site admin restricts repository creation in organizations in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)."{% if enterpriseServerVersions contains currentVersion %} +`business.update_member_repository_creation_permission` | A site admin restricts repository creation in organizations in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)."{% ifversion ghes %} `enterprise.config.lock_anonymous_git_access` | A site admin locks anonymous Git read access to prevent repository admins from changing existing anonymous Git read access settings for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)." `enterprise.config.unlock_anonymous_git_access` | A site admin unlocks anonymous Git read access to allow repository admins to change existing anonymous Git read access settings for repositories in the enterprise. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)."{% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} ## IP allow lists @@ -95,7 +95,7 @@ Action | Description Action | Description ------------------ | ---------------------------------------------------------- `org.async_delete` | A user initiated a background job to delete an organization. -`org.delete` | An organization was deleted by a user-initiated background job.{% if currentVersion != "github-ae@latest" %} +`org.delete` | An organization was deleted by a user-initiated background job.{% ifversion not ghae %} `org.transform` | A user account was converted into an organization. For more information, see "[Converting a user into an organization](/github/setting-up-and-managing-your-github-user-account/converting-a-user-into-an-organization)."{% endif %} ## Protected branches @@ -117,7 +117,7 @@ Action | Description Action | Description --------------------- | ------------------------------------------------------- -`repo.access` | The visibility of a repository changed to private{% if enterpriseServerVersions contains currentVersion %}, public,{% endif %} or internal. +`repo.access` | The visibility of a repository changed to private{% ifversion ghes %}, public,{% endif %} or internal. `repo.archived` | A repository was archived. For more information, see "[Archiving a {% data variables.product.prodname_dotcom %} repository](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)." `repo.add_member` | A collaborator was added to a repository. `repo.config` | A site admin blocked force pushes. For more information, see [Blocking force pushes to a repository](/enterprise/{{ currentVersion }}/admin/guides/developer-workflow/blocking-force-pushes-to-a-repository/) to a repository. @@ -127,7 +127,7 @@ Action | Description `repo.rename` | A repository was renamed. `repo.transfer` | A user accepted a request to receive a transferred repository. `repo.transfer_start` | A user sent a request to transfer a repository to another user or organization. -`repo.unarchived` | A repository was unarchived. For more information, see "[Archiving a {% data variables.product.prodname_dotcom %} repository](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)."{% if enterpriseServerVersions contains currentVersion %} +`repo.unarchived` | A repository was unarchived. For more information, see "[Archiving a {% data variables.product.prodname_dotcom %} repository](/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository)."{% ifversion ghes %} `repo.config.disable_anonymous_git_access`| Anonymous Git read access is disabled for a repository. For more information, see "[Enabling anonymous Git read access for a repository](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository)." `repo.config.enable_anonymous_git_access` | Anonymous Git read access is enabled for a repository. For more information, see "[Enabling anonymous Git read access for a repository](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository)." `repo.config.lock_anonymous_git_access` | A repository's anonymous Git read access setting is locked, preventing repository administrators from changing (enabling or disabling) this setting. For more information, see "[Preventing users from changing anonymous Git read access](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access)." @@ -148,9 +148,9 @@ Action | Description Action | Description --------------------------------- | ------------------------------------------- `team.create` | A user account or repository was added to a team. -`team.delete` | A user account or repository was removed from a team.{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +`team.delete` | A user account or repository was removed from a team.{% ifversion ghes > 2.22 or ghae %} `team.demote_maintainer` | A user was demoted from a team maintainer to a team member.{% endif %} -`team.destroy` | A team was deleted.{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +`team.destroy` | A team was deleted.{% ifversion ghes > 2.22 or ghae %} `team.promote_maintainer` | A user was promoted from a team member to a team maintainer.{% endif %} @@ -159,19 +159,19 @@ Action | Description Action | Description --------------------------------- | ------------------------------------------- `user.add_email` | An email address was added to a user account. -`user.async_delete` | An asynchronous job was started to destroy a user account, eventually triggering `user.delete`.{% if enterpriseServerVersions contains currentVersion %} +`user.async_delete` | An asynchronous job was started to destroy a user account, eventually triggering `user.delete`.{% ifversion ghes %} `user.change_password` | A user changed his or her password.{% endif %} `user.create` | A new user account was created. `user.delete` | A user account was destroyed by an asynchronous job. `user.demote` | A site admin was demoted to an ordinary user account. -`user.destroy` | A user deleted his or her account, triggering `user.async_delete`.{% if enterpriseServerVersions contains currentVersion %} +`user.destroy` | A user deleted his or her account, triggering `user.async_delete`.{% ifversion ghes %} `user.failed_login` | A user tried to sign in with an incorrect username, password, or two-factor authentication code. `user.forgot_password` | A user requested a password reset via the sign-in page.{% endif %} -`user.login` | A user signed in.{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +`user.login` | A user signed in.{% ifversion ghes > 2.22 or ghae %} `user.mandatory_message_viewed` | A user views a mandatory message (see "[Customizing user messages](/admin/user-management/customizing-user-messages-for-your-enterprise)" for details) | {% endif %} `user.promote` | An ordinary user account was promoted to a site admin. `user.remove_email` | An email address was removed from a user account. `user.rename` | A username was changed. -`user.suspend` | A user account was suspended by a site admin.{% if enterpriseServerVersions contains currentVersion %} +`user.suspend` | A user account was suspended by a site admin.{% ifversion ghes %} `user.two_factor_requested` | A user was prompted for a two-factor authentication code.{% endif %} `user.unsuspend` | A user account was unsuspended by a site admin. diff --git a/content/admin/user-management/monitoring-activity-in-your-enterprise/index.md b/content/admin/user-management/monitoring-activity-in-your-enterprise/index.md index c623bb142c..88a6cf5823 100644 --- a/content/admin/user-management/monitoring-activity-in-your-enterprise/index.md +++ b/content/admin/user-management/monitoring-activity-in-your-enterprise/index.md @@ -4,8 +4,8 @@ redirect_from: - /enterprise/admin/installation/monitoring-activity-on-your-github-enterprise-server-instance - /enterprise/admin/user-management/monitoring-activity-in-your-enterprise versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/admin/user-management/monitoring-activity-in-your-enterprise/log-forwarding.md b/content/admin/user-management/monitoring-activity-in-your-enterprise/log-forwarding.md index 47e06cdcb7..a9ad10a840 100644 --- a/content/admin/user-management/monitoring-activity-in-your-enterprise/log-forwarding.md +++ b/content/admin/user-management/monitoring-activity-in-your-enterprise/log-forwarding.md @@ -1,6 +1,6 @@ --- title: Log forwarding -intro: '{% data variables.product.product_name %} uses `syslog-ng` to forward {% if enterpriseServerVersions contains currentVersion %}system{% elsif currentVersion == "github-ae@latest" %}Git{% endif %} and application logs to the server you specify.' +intro: '{% data variables.product.product_name %} uses `syslog-ng` to forward {% ifversion ghes %}system{% elsif ghae %}Git{% endif %} and application logs to the server you specify.' redirect_from: - /enterprise/admin/articles/log-forwarding/ - /enterprise/admin/installation/log-forwarding @@ -8,8 +8,8 @@ redirect_from: - /admin/enterprise-management/log-forwarding - /admin/user-management/log-forwarding versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Auditing @@ -21,14 +21,14 @@ Any log collection system that supports syslog-style log streams is supported (e ## Enabling log forwarding -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} 1. On the {% data variables.enterprise.management_console %} settings page, in the left sidebar, click **Monitoring**. 1. Select **Enable log forwarding**. 1. In the **Server address** field, type the address of the server to which you want to forward logs. You can specify multiple addresses in a comma-separated list. 1. In the Protocol drop-down menu, select the protocol to use to communicate with the log server. The protocol will apply to all specified log destinations. 1. Select **Enable TLS**. 1. Click **Choose File** and choose a CA certificate to encrypt communication between syslog endpoints. The entire certificate chain will be validated, and must terminate in a root certificate. For more information, see [TLS options in the syslog-ng documentation](https://support.oneidentity.com/technical-documents/syslog-ng-open-source-edition/3.16/administration-guide/56#TOPIC-956599). -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} 1. Under {% octicon "gear" aria-label="The Settings gear" %} **Settings**, click **Log forwarding**. @@ -47,7 +47,7 @@ Any log collection system that supports syslog-style log streams is supported (e ![Save button for log forwarding](/assets/images/enterprise/business-accounts/save-button-log-forwarding.png) {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Troubleshooting If you run into issues with log forwarding, contact {% data variables.contact.contact_ent_support %} and attach the output file from `http(s)://[hostname]/setup/diagnostics` to your email. diff --git a/content/admin/user-management/monitoring-activity-in-your-enterprise/searching-the-audit-log.md b/content/admin/user-management/monitoring-activity-in-your-enterprise/searching-the-audit-log.md index 49cab6dde7..afa59196ef 100644 --- a/content/admin/user-management/monitoring-activity-in-your-enterprise/searching-the-audit-log.md +++ b/content/admin/user-management/monitoring-activity-in-your-enterprise/searching-the-audit-log.md @@ -7,8 +7,8 @@ redirect_from: - /enterprise/admin/user-management/searching-the-audit-log - /admin/user-management/searching-the-audit-log versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Auditing diff --git a/content/admin/user-management/monitoring-activity-in-your-enterprise/viewing-push-logs.md b/content/admin/user-management/monitoring-activity-in-your-enterprise/viewing-push-logs.md index 434bfedad7..a6e6f86083 100644 --- a/content/admin/user-management/monitoring-activity-in-your-enterprise/viewing-push-logs.md +++ b/content/admin/user-management/monitoring-activity-in-your-enterprise/viewing-push-logs.md @@ -7,8 +7,8 @@ redirect_from: - /enterprise/admin/user-management/viewing-push-logs - /admin/user-management/viewing-push-logs versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' type: how_to topics: - Auditing @@ -36,7 +36,7 @@ Push log entries show: 4. In the left sidebar, click **Push Log**. ![Push log tab](/assets/images/enterprise/site-admin-settings/push-log-tab.png) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Viewing a repository's push logs on the command-line {% data reusables.enterprise_installation.ssh-into-instance %} diff --git a/content/billing/index.md b/content/billing/index.md index 26be6f5857..04369cbbdd 100644 --- a/content/billing/index.md +++ b/content/billing/index.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github - /categories/setting-up-and-managing-billing-and-payments-on-github versions: - free-pro-team: '*' + fpt: '*' children: - /managing-your-github-billing-settings - /managing-billing-for-your-github-account @@ -18,3 +18,4 @@ children: - /managing-billing-for-git-large-file-storage - /setting-up-paid-organizations-for-procurement-companies --- + diff --git a/content/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md b/content/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md index d665216bf1..c73625055c 100644 --- a/content/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md +++ b/content/billing/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-billing-for-git-large-file-storage - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - LFS diff --git a/content/billing/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md b/content/billing/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md index 3de10f32ac..9d82277114 100644 --- a/content/billing/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md +++ b/content/billing/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage.md @@ -8,13 +8,13 @@ redirect_from: - /articles/downgrading-git-large-file-storage - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/downgrading-git-large-file-storage versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Downgrades - LFS - Organizations - - User account + - User account --- When you downgrade your number of data packs, your change takes effect on your next billing date. For more information, see "[About billing for {% data variables.large_files.product_name_long %}](/articles/about-billing-for-git-large-file-storage)." diff --git a/content/billing/managing-billing-for-git-large-file-storage/index.md b/content/billing/managing-billing-for-git-large-file-storage/index.md index af24e1fb15..4c16db5b53 100644 --- a/content/billing/managing-billing-for-git-large-file-storage/index.md +++ b/content/billing/managing-billing-for-git-large-file-storage/index.md @@ -9,10 +9,11 @@ redirect_from: - /articles/managing-storage-and-bandwidth-usage/ - /articles/managing-billing-for-git-large-file-storage versions: - free-pro-team: '*' + fpt: '*' children: - /about-billing-for-git-large-file-storage - /viewing-your-git-large-file-storage-usage - /upgrading-git-large-file-storage - /downgrading-git-large-file-storage --- + diff --git a/content/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md b/content/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md index e2f3ab13c2..ecb0a29eea 100644 --- a/content/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md +++ b/content/billing/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage.md @@ -8,7 +8,7 @@ redirect_from: - /articles/upgrading-git-large-file-storage - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/upgrading-git-large-file-storage versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - LFS diff --git a/content/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md b/content/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md index 4ebbdfa9cd..3ae810ace1 100644 --- a/content/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md +++ b/content/billing/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage.md @@ -8,7 +8,7 @@ redirect_from: - /articles/viewing-your-git-large-file-storage-usage - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/viewing-your-git-large-file-storage-usage versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - LFS diff --git a/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md b/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md index 104fde9e05..58f791aff4 100644 --- a/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md +++ b/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/about-billing-for-github-actions versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Actions diff --git a/content/billing/managing-billing-for-github-actions/index.md b/content/billing/managing-billing-for-github-actions/index.md index d2432402bc..3e516a2f0a 100644 --- a/content/billing/managing-billing-for-github-actions/index.md +++ b/content/billing/managing-billing-for-github-actions/index.md @@ -5,9 +5,10 @@ intro: 'You can view your usage and set a spending limit for {% data variables.p redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions versions: - free-pro-team: '*' + fpt: '*' children: - - /about-billing-for-github-actions + - /about-billing-for-github-actions - /viewing-your-github-actions-usage - /managing-your-spending-limit-for-github-actions --- + diff --git a/content/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md b/content/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md index b2a12871d3..db07dcda51 100644 --- a/content/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md +++ b/content/billing/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-spending-limit-for-github-actions - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Actions diff --git a/content/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage.md b/content/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage.md index 867aa30578..72906dca66 100644 --- a/content/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage.md +++ b/content/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-github-actions-usage - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/viewing-your-github-actions-usage versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Actions diff --git a/content/billing/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace.md b/content/billing/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace.md index 5af9288370..d1b4de9a4f 100644 --- a/content/billing/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace.md +++ b/content/billing/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-billing-for-github-marketplace - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps/about-billing-for-github-marketplace versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Marketplace diff --git a/content/billing/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app.md b/content/billing/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app.md index 7a18eacaef..4886b5e603 100644 --- a/content/billing/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app.md +++ b/content/billing/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app.md @@ -8,7 +8,7 @@ redirect_from: - /articles/canceling-a-github-marketplace-app - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps/canceling-a-github-marketplace-app versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Cancellation diff --git a/content/billing/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app.md b/content/billing/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app.md index 1438258522..c5cd58c43e 100644 --- a/content/billing/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app.md +++ b/content/billing/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app.md @@ -8,7 +8,7 @@ redirect_from: - /articles/downgrading-the-billing-plan-for-a-github-marketplace-app - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps/downgrading-the-billing-plan-for-a-github-marketplace-app versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Downgrades diff --git a/content/billing/managing-billing-for-github-marketplace-apps/index.md b/content/billing/managing-billing-for-github-marketplace-apps/index.md index d9773be402..c5f5ff73ba 100644 --- a/content/billing/managing-billing-for-github-marketplace-apps/index.md +++ b/content/billing/managing-billing-for-github-marketplace-apps/index.md @@ -8,10 +8,11 @@ redirect_from: - /articles/managing-your-organization-s-apps/ - /articles/managing-billing-for-github-marketplace-apps versions: - free-pro-team: '*' + fpt: '*' children: - /about-billing-for-github-marketplace - /upgrading-the-billing-plan-for-a-github-marketplace-app - /downgrading-the-billing-plan-for-a-github-marketplace-app - /canceling-a-github-marketplace-app --- + diff --git a/content/billing/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app.md b/content/billing/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app.md index 28523f96b7..a6d11d9eeb 100644 --- a/content/billing/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app.md +++ b/content/billing/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app.md @@ -8,7 +8,7 @@ redirect_from: - /articles/upgrading-the-billing-plan-for-a-github-marketplace-app - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-marketplace-apps/upgrading-the-billing-plan-for-a-github-marketplace-app versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Marketplace diff --git a/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md b/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md index a673cd6d4e..dc598f5468 100644 --- a/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md +++ b/content/billing/managing-billing-for-github-packages/about-billing-for-github-packages.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-packages - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages/about-billing-for-github-packages versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Packages diff --git a/content/billing/managing-billing-for-github-packages/index.md b/content/billing/managing-billing-for-github-packages/index.md index 75bd6bed85..39b87e180f 100644 --- a/content/billing/managing-billing-for-github-packages/index.md +++ b/content/billing/managing-billing-for-github-packages/index.md @@ -5,9 +5,10 @@ intro: 'You can view your {% data variables.product.prodname_registry %} usage a redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages versions: - free-pro-team: '*' + fpt: '*' children: - /about-billing-for-github-packages - /viewing-your-github-packages-usage - /managing-your-spending-limit-for-github-packages --- + diff --git a/content/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md b/content/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md index 1a1df695b3..c4bc9b448d 100644 --- a/content/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md +++ b/content/billing/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-spending-limit-for-github-packages - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages/managing-your-spending-limit-for-github-packages versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Enterprise diff --git a/content/billing/managing-billing-for-github-packages/viewing-your-github-packages-usage.md b/content/billing/managing-billing-for-github-packages/viewing-your-github-packages-usage.md index 22063e651f..d0ba856dfe 100644 --- a/content/billing/managing-billing-for-github-packages/viewing-your-github-packages-usage.md +++ b/content/billing/managing-billing-for-github-packages/viewing-your-github-packages-usage.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-github-packages-usage - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages/viewing-your-github-packages-usage versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Enterprise diff --git a/content/billing/managing-billing-for-github-sponsors/about-billing-for-github-sponsors.md b/content/billing/managing-billing-for-github-sponsors/about-billing-for-github-sponsors.md index 160fe2d11f..943303cc4d 100644 --- a/content/billing/managing-billing-for-github-sponsors/about-billing-for-github-sponsors.md +++ b/content/billing/managing-billing-for-github-sponsors/about-billing-for-github-sponsors.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-billing-for-github-sponsors - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-sponsors/about-billing-for-github-sponsors versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Sponsors diff --git a/content/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship.md b/content/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship.md index 71a8bf2e5e..b8916cd773 100644 --- a/content/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship.md +++ b/content/billing/managing-billing-for-github-sponsors/downgrading-a-sponsorship.md @@ -6,7 +6,7 @@ redirect_from: - /articles/downgrading-a-sponsorship - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-sponsors/downgrading-a-sponsorship versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Cancellation diff --git a/content/billing/managing-billing-for-github-sponsors/index.md b/content/billing/managing-billing-for-github-sponsors/index.md index 899514f382..c0b468c054 100644 --- a/content/billing/managing-billing-for-github-sponsors/index.md +++ b/content/billing/managing-billing-for-github-sponsors/index.md @@ -6,9 +6,10 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-sponsors - /articles/managing-billing-for-github-sponsors versions: - free-pro-team: '*' + fpt: '*' children: - /about-billing-for-github-sponsors - /upgrading-a-sponsorship - /downgrading-a-sponsorship --- + diff --git a/content/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship.md b/content/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship.md index 9675d1c9ad..1b3b970eff 100644 --- a/content/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship.md +++ b/content/billing/managing-billing-for-github-sponsors/upgrading-a-sponsorship.md @@ -6,7 +6,7 @@ redirect_from: - /articles/upgrading-a-sponsorship - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-sponsors/upgrading-a-sponsorship versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Sponsors diff --git a/content/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts.md b/content/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts.md index d42dbf5506..f27920b75e 100644 --- a/content/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts.md +++ b/content/billing/managing-billing-for-your-github-account/about-billing-for-github-accounts.md @@ -13,7 +13,7 @@ redirect_from: - /articles/about-billing-for-github-accounts - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/about-billing-for-github-accounts versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Accounts diff --git a/content/billing/managing-billing-for-your-github-account/about-per-user-pricing.md b/content/billing/managing-billing-for-your-github-account/about-per-user-pricing.md index 6cbaa6fd53..462a61d2dc 100644 --- a/content/billing/managing-billing-for-your-github-account/about-per-user-pricing.md +++ b/content/billing/managing-billing-for-your-github-account/about-per-user-pricing.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-per-user-pricing - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/about-per-user-pricing versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Licensing diff --git a/content/billing/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts.md b/content/billing/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts.md index 6b49c993ea..2c4e9dd559 100644 --- a/content/billing/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts.md +++ b/content/billing/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts.md @@ -9,7 +9,7 @@ redirect_from: - /articles/discounted-subscriptions-for-github-accounts - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/discounted-subscriptions-for-github-accounts versions: - free-pro-team: '*' + fpt: '*' type: reference topics: - Accounts diff --git a/content/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription.md b/content/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription.md index 61c05bc556..dee935a2b8 100644 --- a/content/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription.md +++ b/content/billing/managing-billing-for-your-github-account/downgrading-your-github-subscription.md @@ -18,7 +18,7 @@ redirect_from: - /articles/downgrading-your-github-subscription - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/downgrading-your-github-subscription versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts - Downgrades diff --git a/content/billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process.md b/content/billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process.md index 1818847a53..e3fd2ed031 100644 --- a/content/billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process.md +++ b/content/billing/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process.md @@ -6,7 +6,7 @@ redirect_from: - /articles/how-does-upgrading-or-downgrading-affect-the-billing-process - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/how-does-upgrading-or-downgrading-affect-the-billing-process versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Fundamentals diff --git a/content/billing/managing-billing-for-your-github-account/index.md b/content/billing/managing-billing-for-your-github-account/index.md index 78f2f320ba..215aebc45e 100644 --- a/content/billing/managing-billing-for-your-github-account/index.md +++ b/content/billing/managing-billing-for-your-github-account/index.md @@ -14,7 +14,7 @@ redirect_from: - /articles/managing-your-organization-s-paid-seats/ - /articles/managing-billing-for-your-github-account versions: - free-pro-team: '*' + fpt: '*' children: - /about-billing-for-github-accounts - /about-per-user-pricing @@ -24,3 +24,4 @@ children: - /downgrading-your-github-subscription - /discounted-subscriptions-for-github-accounts --- + diff --git a/content/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription.md b/content/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription.md index 11a12e7985..c17b86f72f 100644 --- a/content/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription.md +++ b/content/billing/managing-billing-for-your-github-account/upgrading-your-github-subscription.md @@ -20,7 +20,7 @@ redirect_from: - /articles/upgrading-your-github-subscription - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/upgrading-your-github-subscription versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/billing/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription.md b/content/billing/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription.md index 97a626f617..f711a8241c 100644 --- a/content/billing/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription.md +++ b/content/billing/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription.md @@ -9,7 +9,7 @@ redirect_from: - /articles/viewing-and-managing-pending-changes-to-your-subscription - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account/viewing-and-managing-pending-changes-to-your-subscription versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security.md b/content/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security.md index f7d086732f..40ee2272e9 100644 --- a/content/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security.md +++ b/content/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-licensing-for-github-advanced-security - /github/setting-up-and-managing-billing-and-payments-on-github/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Advanced Security diff --git a/content/billing/managing-licensing-for-github-advanced-security/index.md b/content/billing/managing-licensing-for-github-advanced-security/index.md index 1d7e9353c2..69022577a3 100644 --- a/content/billing/managing-licensing-for-github-advanced-security/index.md +++ b/content/billing/managing-licensing-for-github-advanced-security/index.md @@ -6,8 +6,9 @@ product: '{% data reusables.gated-features.ghas %}' redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/managing-licensing-for-github-advanced-security versions: - free-pro-team: '*' + fpt: '*' children: - /about-licensing-for-github-advanced-security - /viewing-your-github-advanced-security-usage --- + diff --git a/content/billing/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md b/content/billing/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md index 77b2a16dac..86ede7f8f9 100644 --- a/content/billing/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md +++ b/content/billing/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md @@ -3,12 +3,12 @@ title: Viewing your GitHub Advanced Security usage intro: 'You can view usage of your {% data variables.product.prodname_GH_advanced_security %} license.' permissions: 'Enterprise owners can manage access to {% data variables.product.prodname_GH_advanced_security %} for their organization or enterprise organizations.' product: '{% data reusables.gated-features.ghas %}' -redirect_from: +redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage - /github/setting-up-and-managing-your-enterprise/managing-use-of-advanced-security-for-organizations-in-your-enterprise-account - /github/setting-up-and-managing-billing-and-payments-on-github/viewing-your-github-advanced-security-usage versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Advanced Security diff --git a/content/billing/managing-your-github-billing-settings/about-billing-on-github.md b/content/billing/managing-your-github-billing-settings/about-billing-on-github.md index 7caf2e54e7..b0294b2da5 100644 --- a/content/billing/managing-your-github-billing-settings/about-billing-on-github.md +++ b/content/billing/managing-your-github-billing-settings/about-billing-on-github.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-billing-on-github - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/about-billing-on-github versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Fundamentals diff --git a/content/billing/managing-your-github-billing-settings/adding-information-to-your-receipts.md b/content/billing/managing-your-github-billing-settings/adding-information-to-your-receipts.md index ac8bf78e0c..f9cbe1f033 100644 --- a/content/billing/managing-your-github-billing-settings/adding-information-to-your-receipts.md +++ b/content/billing/managing-your-github-billing-settings/adding-information-to-your-receipts.md @@ -14,7 +14,7 @@ redirect_from: - /articles/adding-information-to-your-receipts - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/adding-information-to-your-receipts versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method.md b/content/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method.md index 3d9ea47789..76eaa987d5 100644 --- a/content/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method.md +++ b/content/billing/managing-your-github-billing-settings/adding-or-editing-a-payment-method.md @@ -18,7 +18,7 @@ redirect_from: - /articles/adding-or-editing-a-payment-method - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/adding-or-editing-a-payment-method versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle.md b/content/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle.md index 4c4da7051f..fa9e58ec82 100644 --- a/content/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle.md +++ b/content/billing/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle.md @@ -9,7 +9,7 @@ redirect_from: - /articles/changing-the-duration-of-your-billing-cycle - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/changing-the-duration-of-your-billing-cycle versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/billing/managing-your-github-billing-settings/index.md b/content/billing/managing-your-github-billing-settings/index.md index 1f703e48ef..4dcfe6917c 100644 --- a/content/billing/managing-your-github-billing-settings/index.md +++ b/content/billing/managing-your-github-billing-settings/index.md @@ -12,7 +12,7 @@ redirect_from: - /categories/99/articles/ - /articles/managing-your-github-billing-settings versions: - free-pro-team: '*' + fpt: '*' children: - /about-billing-on-github - /viewing-your-subscriptions-and-billing-date @@ -26,3 +26,4 @@ children: - /unlocking-a-locked-account - /removing-a-payment-method --- + diff --git a/content/billing/managing-your-github-billing-settings/redeeming-a-coupon.md b/content/billing/managing-your-github-billing-settings/redeeming-a-coupon.md index ece6cbdc45..ab863e1816 100644 --- a/content/billing/managing-your-github-billing-settings/redeeming-a-coupon.md +++ b/content/billing/managing-your-github-billing-settings/redeeming-a-coupon.md @@ -9,7 +9,7 @@ redirect_from: - /articles/redeeming-a-coupon - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/redeeming-a-coupon versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Discounts diff --git a/content/billing/managing-your-github-billing-settings/removing-a-payment-method.md b/content/billing/managing-your-github-billing-settings/removing-a-payment-method.md index 4cf4059732..03c42f0546 100644 --- a/content/billing/managing-your-github-billing-settings/removing-a-payment-method.md +++ b/content/billing/managing-your-github-billing-settings/removing-a-payment-method.md @@ -10,7 +10,7 @@ redirect_from: - /articles/removing-a-payment-method - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/removing-a-payment-method versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/billing/managing-your-github-billing-settings/setting-your-billing-email.md b/content/billing/managing-your-github-billing-settings/setting-your-billing-email.md index 1fa8be0efb..f58c3c1b5f 100644 --- a/content/billing/managing-your-github-billing-settings/setting-your-billing-email.md +++ b/content/billing/managing-your-github-billing-settings/setting-your-billing-email.md @@ -10,7 +10,7 @@ redirect_from: - /articles/setting-your-billing-email - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/setting-your-billing-email versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/billing/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge.md b/content/billing/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge.md index e8cda503e1..ebc55f587e 100644 --- a/content/billing/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge.md +++ b/content/billing/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge.md @@ -7,7 +7,7 @@ redirect_from: - /articles/troubleshooting-a-declined-credit-card-charge - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/troubleshooting-a-declined-credit-card-charge versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Troubleshooting diff --git a/content/billing/managing-your-github-billing-settings/unlocking-a-locked-account.md b/content/billing/managing-your-github-billing-settings/unlocking-a-locked-account.md index df2db16a35..121566f04d 100644 --- a/content/billing/managing-your-github-billing-settings/unlocking-a-locked-account.md +++ b/content/billing/managing-your-github-billing-settings/unlocking-a-locked-account.md @@ -12,7 +12,7 @@ redirect_from: - /articles/unlocking-a-locked-account - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/unlocking-a-locked-account versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Accounts diff --git a/content/billing/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts.md b/content/billing/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts.md index b515e463fd..b1a0f236da 100644 --- a/content/billing/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts.md +++ b/content/billing/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts.md @@ -9,7 +9,7 @@ redirect_from: - /articles/viewing-your-payment-history-and-receipts - /github/setting-up-and-managing-billing-and-payments-on-github/managing-your-github-billing-settings/viewing-your-payment-history-and-receipts versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Accounts diff --git a/content/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date.md b/content/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date.md index 966ea0c743..6014055bc0 100644 --- a/content/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date.md +++ b/content/billing/managing-your-github-billing-settings/viewing-your-subscriptions-and-billing-date.md @@ -9,9 +9,8 @@ redirect_from: - /articles/finding-your-organization-s-next-billing-date/ - /articles/viewing-your-plans-and-billing-date/ - /articles/viewing-your-subscriptions-and-billing-date - versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Accounts diff --git a/content/billing/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies.md b/content/billing/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies.md index 201232c007..79a0738994 100644 --- a/content/billing/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies.md +++ b/content/billing/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies.md @@ -7,7 +7,7 @@ redirect_from: - /articles/about-organizations-for-procurement-companies - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies/about-organizations-for-procurement-companies versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Organizations diff --git a/content/billing/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client.md b/content/billing/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client.md index 4b7795bab2..3808f84c46 100644 --- a/content/billing/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client.md +++ b/content/billing/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client.md @@ -6,7 +6,7 @@ redirect_from: - /articles/creating-and-paying-for-an-organization-on-behalf-of-a-client - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies/creating-and-paying-for-an-organization-on-behalf-of-a-client versions: - free-pro-team: '*' + fpt: '*' type: quick_start topics: - User account diff --git a/content/billing/setting-up-paid-organizations-for-procurement-companies/index.md b/content/billing/setting-up-paid-organizations-for-procurement-companies/index.md index 3b20a2f674..27ee239193 100644 --- a/content/billing/setting-up-paid-organizations-for-procurement-companies/index.md +++ b/content/billing/setting-up-paid-organizations-for-procurement-companies/index.md @@ -8,10 +8,11 @@ redirect_from: - /articles/setting-up-and-paying-for-organizations-for-procurement-companies/ - /articles/setting-up-paid-organizations-for-procurement-companies versions: - free-pro-team: '*' + fpt: '*' children: - /about-organizations-for-procurement-companies - /creating-and-paying-for-an-organization-on-behalf-of-a-client - /upgrading-or-downgrading-your-clients-paid-organization - /renewing-your-clients-paid-organization --- + diff --git a/content/billing/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization.md b/content/billing/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization.md index 83f9eaf521..c555987020 100644 --- a/content/billing/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization.md +++ b/content/billing/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization.md @@ -7,7 +7,7 @@ redirect_from: - /articles/renewing-your-clients-paid-organization - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies/renewing-your-clients-paid-organization versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/billing/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization.md b/content/billing/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization.md index 998b582b5f..9a29dd4c62 100644 --- a/content/billing/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization.md +++ b/content/billing/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization.md @@ -7,7 +7,7 @@ redirect_from: - /articles/upgrading-or-downgrading-your-clients-paid-organization - /github/setting-up-and-managing-billing-and-payments-on-github/setting-up-paid-organizations-for-procurement-companies/upgrading-or-downgrading-your-clients-paid-organization versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md b/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md index 7b715906e0..cc61228601 100644 --- a/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md +++ b/content/code-security/getting-started/adding-a-security-policy-to-your-repository.md @@ -6,9 +6,9 @@ redirect_from: - /github/managing-security-vulnerabilities/adding-a-security-policy-to-your-repository - /github/code-security/security-advisories/adding-a-security-policy-to-your-repository versions: - free-pro-team: '*' - enterprise-server: '>=3.1' - github-ae: 'next' + fpt: '*' + ghes: '>=3.1' + ghae: next type: how_to topics: - Security policies @@ -19,9 +19,9 @@ topics: ## About security policies -To give people instructions for reporting security vulnerabilities in your project,{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} you can add a _SECURITY.md_ file to your repository's root, `docs`, or `.github` folder.{% else %} you can add a _SECURITY.md_ file to your repository's root, or `docs` folder.{% endif %} When someone creates an issue in your repository, they will see a link to your project's security policy. +To give people instructions for reporting security vulnerabilities in your project,{% ifversion fpt or ghes > 3.0 %} you can add a _SECURITY.md_ file to your repository's root, `docs`, or `.github` folder.{% else %} you can add a _SECURITY.md_ file to your repository's root, or `docs` folder.{% endif %} When someone creates an issue in your repository, they will see a link to your project's security policy. -{% if currentVersion != 'github-ae@next' %} +{% ifversion not ghae %} You can create a default security policy for your organization or user account. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." {% endif %} @@ -32,12 +32,12 @@ You can create a default security policy for your organization or user account. {% endtip %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} After someone reports a security vulnerability in your project, you can use {% data variables.product.prodname_security_advisories %} to disclose, fix, and publish information about the vulnerability. For more information about the process of reporting and disclosing vulnerabilities in {% data variables.product.prodname_dotcom %}, see "[About coordinated disclosure of security vulnerabilities](/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities#about-reporting-and-disclosing-vulnerabilities-in-projects-on-github)." For more information about {% data variables.product.prodname_security_advisories %}, see "[About {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)." {% data reusables.repositories.github-security-lab %} {% endif %} -{% if currentVersion ver_gt "enterprise-server@3.0" or currentVersion == 'github-ae@next' %} +{% ifversion ghes > 3.0 or ghae-next %} By making security reporting instructions clearly available, you make it easy for your users to report any security vulnerabilities they find in your repository using your preferred communication channel. {% endif %} @@ -58,6 +58,6 @@ By making security reporting instructions clearly available, you make it easy fo ## Further reading -- "[Securing your repository](/code-security/getting-started/securing-your-repository)"{% if currentVersion != 'github-ae@next' %} -- "[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)"{% endif %}{% if currentVersion == "free-pro-team@latest" %} +- "[Securing your repository](/code-security/getting-started/securing-your-repository)"{% ifversion not ghae %} +- "[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)"{% endif %}{% ifversion fpt %} - [{% data variables.product.prodname_security %}]({% data variables.product.prodname_security_link %}){% endif %} diff --git a/content/code-security/getting-started/github-security-features.md b/content/code-security/getting-started/github-security-features.md index ef40dbe654..d996978f5a 100644 --- a/content/code-security/getting-started/github-security-features.md +++ b/content/code-security/getting-started/github-security-features.md @@ -2,9 +2,9 @@ title: GitHub security features intro: 'An overview of {% data variables.product.prodname_dotcom %} security features.' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: overview topics: - Repositories @@ -15,20 +15,20 @@ topics: ## About {% data variables.product.prodname_dotcom %}'s security features -{% data variables.product.prodname_dotcom %} has security features that help keep code and secrets secure in repositories and across organizations. Some features are available for all repositories and others are only available {% if currentVersion == "free-pro-team@latest" %}for public repositories and for repositories {% endif %}with a {% data variables.product.prodname_GH_advanced_security %} license. +{% data variables.product.prodname_dotcom %} has security features that help keep code and secrets secure in repositories and across organizations. Some features are available for all repositories and others are only available {% ifversion fpt %}for public repositories and for repositories {% endif %}with a {% data variables.product.prodname_GH_advanced_security %} license. The {% data variables.product.prodname_advisory_database %} contains a curated list of security vulnerabilities that you can view, search, and filter. {% data reusables.security-advisory.link-browsing-advisory-db %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Available for all repositories -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == 'github-ae@next' %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} ### Security policy Make it easy for your users to confidentially report security vulnerabilities they've found in your repository. For more information, see "[Adding a security policy to your repository](/code-security/getting-started/adding-a-security-policy-to-your-repository)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Security advisories Privately discuss and fix security vulnerabilities in your repository's code. You can then publish a security advisory to alert your community to the vulnerability and encourage community members to upgrade. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)." @@ -39,13 +39,13 @@ View alerts about dependencies that are known to contain security vulnerabilitie and "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)." {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} ### {% data variables.product.prodname_dependabot_alerts %} View alerts about dependencies that are known to contain security vulnerabilities, and manage these alerts. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### {% data variables.product.prodname_dependabot %} version updates Use {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. This helps reduce your exposure to older versions of dependencies. Using newer versions makes it easier to apply patches if security vulnerabilities are discovered, and also makes it easier for {% data variables.product.prodname_dependabot_security_updates %} to successfully raise pull requests to upgrade vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/github/administering-a-repository/about-dependabot-version-updates)." @@ -57,12 +57,12 @@ The dependency graph allows you to explore the ecosystems and packages that your You can find the dependency graph on the **Insights** tab for your repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} -## Available {% if currentVersion == "free-pro-team@latest" %}for public repositories and for repositories {% endif %}with {% data variables.product.prodname_advanced_security %} +## Available {% ifversion fpt %}for public repositories and for repositories {% endif %}with {% data variables.product.prodname_advanced_security %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} -These features are available {% if currentVersion == "free-pro-team@latest" %}for all public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %} +{% ifversion fpt or ghes > 2.22 %} +These features are available {% ifversion fpt %}for all public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %} {% endif %} ### {% data variables.product.prodname_code_scanning_capc %} alerts @@ -71,11 +71,11 @@ Automatically detect security vulnerabilities and coding errors in new or modifi ### {% data variables.product.prodname_secret_scanning_caps %} alerts -{% if currentVersion == "free-pro-team@latest" %}For private repositories, view {% else %}View {% endif %}any secrets that {% data variables.product.prodname_dotcom %} has found in your code. You should treat tokens or credentials that have been checked into the repository as compromised. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +{% ifversion fpt %}For private repositories, view {% else %}View {% endif %}any secrets that {% data variables.product.prodname_dotcom %} has found in your code. You should treat tokens or credentials that have been checked into the repository as compromised. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghes > 3.1 %} ### Dependency review Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." @@ -83,4 +83,4 @@ Show the full impact of changes to dependencies and see details of any vulnerabl ## Further reading - "[{% data variables.product.prodname_dotcom %}'s products](/github/getting-started-with-github/githubs-products)" -- "[{% data variables.product.prodname_dotcom %} language support](/github/getting-started-with-github/github-language-support)" \ No newline at end of file +- "[{% data variables.product.prodname_dotcom %} language support](/github/getting-started-with-github/github-language-support)" diff --git a/content/code-security/getting-started/index.md b/content/code-security/getting-started/index.md index 45311d7a69..836a8c676d 100644 --- a/content/code-security/getting-started/index.md +++ b/content/code-security/getting-started/index.md @@ -3,9 +3,9 @@ title: Getting started with code security shortTitle: Getting started intro: 'Introduction to code security with {% data variables.product.product_name %}.' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Repositories - Dependencies diff --git a/content/code-security/getting-started/securing-your-organization.md b/content/code-security/getting-started/securing-your-organization.md index e7387083a8..f1dde75932 100644 --- a/content/code-security/getting-started/securing-your-organization.md +++ b/content/code-security/getting-started/securing-your-organization.md @@ -1,11 +1,11 @@ --- title: Securing your organization intro: 'You can use a number of {% data variables.product.prodname_dotcom %} features to help keep your organization secure.' -permissions: 'Organization owners can configure organization security settings.' +permissions: Organization owners can configure organization security settings. versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Organizations @@ -17,13 +17,13 @@ topics: ## Introduction This guide shows you how to configure security features for an organization. Your organization's security needs are unique and you may not need to enable every security feature. For more information, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)." -Some security features are only available {% if currentVersion == "free-pro-team@latest" %}for public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %} +Some security features are only available {% ifversion fpt %}for public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %} ## Managing access to your organization You can use permission levels to control what actions people can take in your organization. For more information, see "[Permission levels for an organization](/organizations/managing-peoples-access-to-your-organization-with-roles/permission-levels-for-an-organization)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} ## Creating a default security policy @@ -31,7 +31,7 @@ You can create a default security policy that will display in any of your organi {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Managing {% data variables.product.prodname_dependabot_alerts %} and the dependency graph By default, {% data variables.product.prodname_dotcom %} detects vulnerabilities in public repositories and generates {% data variables.product.prodname_dependabot_alerts %} and a dependency graph. You can enable or disable {% data variables.product.prodname_dependabot_alerts %} and the dependency graph for all repositories owned by your organization. @@ -46,7 +46,7 @@ For more information, see "[About alerts for vulnerable dependencies](/code-secu {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghes > 3.1 %} ## Managing dependency review @@ -54,7 +54,7 @@ Dependency review lets you visualize dependency changes in pull requests before {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Managing {% data variables.product.prodname_dependabot_security_updates %} For any repository that uses {% data variables.product.prodname_dependabot_alerts %}, you can enable {% data variables.product.prodname_dependabot_security_updates %} to raise pull requests with security updates when vulnerabilities are detected. You can also enable or disable {% data variables.product.prodname_dependabot_security_updates %} for all repositories across your organization. @@ -75,7 +75,7 @@ To enable {% data variables.product.prodname_dependabot_version_updates %}, you {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Managing {% data variables.product.prodname_GH_advanced_security %} If your organization has an {% data variables.product.prodname_advanced_security %} license, you can enable or disable {% data variables.product.prodname_advanced_security %} features. @@ -89,7 +89,7 @@ If your organization has an {% data variables.product.prodname_advanced_security For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." ## Configuring {% data variables.product.prodname_secret_scanning %} -{% data variables.product.prodname_secret_scanning_caps %} is available {% if currentVersion == "free-pro-team@latest" %}for all public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. +{% data variables.product.prodname_secret_scanning_caps %} is available {% ifversion fpt %}for all public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. You can enable or disable {% data variables.product.prodname_secret_scanning %} for all repositories across your organization that have {% data variables.product.prodname_advanced_security %} enabled. @@ -104,9 +104,9 @@ For more information, see "[Managing security and analysis settings for your org {% endif %} ## Next steps -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" %}You can view, filter, and sort security alerts for repositories owned by your organization in the security overview. For more information, see "[Exploring security alerts](/code-security/security-overview/exploring-security-alerts)."{% endif %} +{% ifversion fpt or ghae-next %}You can view, filter, and sort security alerts for repositories owned by your organization in the security overview. For more information, see "[Exploring security alerts](/code-security/security-overview/exploring-security-alerts)."{% endif %} -You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% if currentVersion == "free-pro-team@latest" %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." +You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes > 2.22 %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." -{% if currentVersion == "free-pro-team@latest" %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)." +{% ifversion fpt %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)." {% endif %} diff --git a/content/code-security/getting-started/securing-your-repository.md b/content/code-security/getting-started/securing-your-repository.md index 453cc73320..58bc25907a 100644 --- a/content/code-security/getting-started/securing-your-repository.md +++ b/content/code-security/getting-started/securing-your-repository.md @@ -1,14 +1,14 @@ --- title: Securing your repository intro: 'You can use a number of {% data variables.product.prodname_dotcom %} features to help keep your repository secure.' -permissions: 'Repository administrators and organization owners can configure repository security settings.' +permissions: Repository administrators and organization owners can configure repository security settings. redirect_from: - /github/administering-a-repository/about-securing-your-repository - /github/code-security/getting-started/about-securing-your-repository versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Repositories @@ -22,7 +22,7 @@ This guide shows you how to configure security features for a repository. You mu Your security needs are unique to your repository, so you may not need to enable every feature for your repository. For more information, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)." -Some security features are only available {% if currentVersion == "free-pro-team@latest" %}for public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %} +Some security features are only available {% ifversion fpt %}for public repositories, and for private repositories owned by organizations with {% else %}if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data reusables.advanced-security.more-info-ghas %} ## Managing access to your repository @@ -30,10 +30,10 @@ The first step to securing a repository is to set up who can see and modify your From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %}Settings**, then scroll down to the "Danger Zone." -- To change who can view your repository, click **Change visibility**. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)."{% if currentVersion == "free-pro-team@latest" %} +- To change who can view your repository, click **Change visibility**. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)."{% ifversion fpt %} - To change who can access your repository and adjust permissions, click **Manage access**. For more information, see"[Managing teams and people with access to your repository](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)."{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == 'github-ae@next' %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} ## Setting a security policy 1. From the main page of your repository, click **{% octicon "shield" aria-label="The shield symbol" %} Security**. @@ -45,10 +45,10 @@ For more information, see "[Adding a security policy to your repository](/code-s {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Managing the dependency graph -The dependency graph is automatically generated for {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} all public repositories and you can choose to enable it for private repositories.{% else %} all repositories.{% endif %} +The dependency graph is automatically generated for {% ifversion fpt or ghes > 2.22 %} all public repositories and you can choose to enable it for private repositories.{% else %} all repositories.{% endif %} 1. From the main page of your repository, click **{% octicon "gear" aria-label="The Settings gear" %} Settings**. 2. Click **Security & analysis**. @@ -58,7 +58,7 @@ For more information, see "[Exploring the dependencies of a repository](/code-se {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Managing {% data variables.product.prodname_dependabot_alerts %} By default, {% data variables.product.prodname_dotcom %} detects vulnerabilities in public repositories and generates {% data variables.product.prodname_dependabot_alerts %}. {% data variables.product.prodname_dependabot_alerts %} can also be enabled for private repositories. @@ -67,18 +67,18 @@ By default, {% data variables.product.prodname_dotcom %} detects vulnerabilities 2. Click **Security & analysis**. 3. Click **Enable all** next to {% data variables.product.prodname_dependabot_alerts %}. -For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies){% if currentVersion == "free-pro-team@latest" %}" and "[Managing security and analysis settings for your user account](/github/setting-up-and-managing-your-github-user-account/managing-security-and-analysis-settings-for-your-user-account){% endif %}." +For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies){% ifversion fpt %}" and "[Managing security and analysis settings for your user account](/github/setting-up-and-managing-your-github-user-account/managing-security-and-analysis-settings-for-your-user-account){% endif %}." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghes > 3.1 %} ## Managing dependency review Dependency review lets you visualize dependency changes in pull requests before they are merged into your repository. Dependency review is available in all public repositories and in repositories owned by organizations with an {% data variables.product.prodname_advanced_security %} license that have the dependency graph enabled. For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Managing {% data variables.product.prodname_dependabot_security_updates %} @@ -98,15 +98,15 @@ To enable {% data variables.product.prodname_dependabot_version_updates %}, you {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Configuring {% data variables.product.prodname_code_scanning %} -{% data variables.product.prodname_code_scanning_capc %} is available {% if currentVersion == "free-pro-team@latest" %}for all public repositories, and for private repositories owned by organizations with {% else %} for organization-owned repositories if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. +{% data variables.product.prodname_code_scanning_capc %} is available {% ifversion fpt %}for all public repositories, and for private repositories owned by organizations with {% else %} for organization-owned repositories if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. You can set up {% data variables.product.prodname_code_scanning %} to automatically identify vulnerabilities and errors in the code stored in your repository by using a {% data variables.product.prodname_codeql_workflow %} or third-party tool. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)." ## Configuring {% data variables.product.prodname_secret_scanning %} -{% data variables.product.prodname_secret_scanning_caps %} is available {% if currentVersion == "free-pro-team@latest" %}for all public repositories, and for private repositories owned by organizations with {% else %} for organization-owned repositories if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. +{% data variables.product.prodname_secret_scanning_caps %} is available {% ifversion fpt %}for all public repositories, and for private repositories owned by organizations with {% else %} for organization-owned repositories if you have {% endif %}an {% data variables.product.prodname_advanced_security %} license. {% data variables.product.prodname_secret_scanning_caps %} may be enabled for your repository by default depending upon your organization's settings. @@ -118,7 +118,7 @@ You can set up {% data variables.product.prodname_code_scanning %} to automatica {% endif %} ## Next steps -You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% if currentVersion == "free-pro-team@latest" %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." +You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes > 2.22 %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." -{% if currentVersion == "free-pro-team@latest" %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)." +{% ifversion fpt %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)." {% endif %} diff --git a/content/code-security/guides.md b/content/code-security/guides.md index 0deef8f488..c3cf946771 100644 --- a/content/code-security/guides.md +++ b/content/code-security/guides.md @@ -4,10 +4,9 @@ intro: 'Learn about the different ways that {% data variables.product.product_na allowTitleToDifferFromFilename: true layout: product-sublanding versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' - + fpt: '*' + ghes: '>=3.0' + ghae: '*' learningTracks: - security_advisories - dependabot_alerts @@ -18,7 +17,6 @@ learningTracks: - code_security_actions - code_security_ci - code_security_integration - includeGuides: - /code-security/getting-started/adding-a-security-policy-to-your-repository - /code-security/getting-started/github-security-features @@ -77,3 +75,4 @@ includeGuides: - /code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph - /code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository --- + diff --git a/content/code-security/index.md b/content/code-security/index.md index d9aa4bb2e5..ad229401b6 100644 --- a/content/code-security/index.md +++ b/content/code-security/index.md @@ -1,56 +1,46 @@ --- title: Code security shortTitle: Code security -intro: 'Build security into your {% data variables.product.prodname_dotcom %} workflow with features to keep secrets and vulnerabilities out of your codebase{% if currentVersion != "github-ae@latest" %}, and to maintain your software supply chain{% endif %}.' - +intro: 'Build security into your {% data variables.product.prodname_dotcom %} workflow with features to keep secrets and vulnerabilities out of your codebase{% ifversion not ghae %}, and to maintain your software supply chain{% endif %}.' introLinks: overview: /code-security/getting-started/github-security-features - featuredLinks: guides: - /code-security/getting-started/securing-your-repository - /code-security/getting-started/securing-your-organization - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/security-advisories/creating-a-security-advisory{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif%}' - + - '{% ifversion fpt %}/code-security/security-advisories/creating-a-security-advisory{% endif %}' + - '{% ifversion ghes or ghae %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif%}' guideCards: - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates{% endif %}' - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates{% endif %}' - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif %}' - - - '{% if enterpriseServerVersions contains currentVersion %}/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies{% endif %}' - - - '{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}/code-security/secret-security/configuring-secret-scanning-for-your-repositories{% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/code-security/secure-coding/integrating-with-code-scanning/uploading-a-sarif-file-to-github{% endif %}' - - '{% if currentVersion == "github-ae@latest" %}/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system{% endif %}' - + - '{% ifversion fpt %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates{% endif %}' + - '{% ifversion fpt %}/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates{% endif %}' + - '{% ifversion fpt %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif %}' + - '{% ifversion ghes %}/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository{% endif %}' + - '{% ifversion ghes %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies{% endif %}' + - '{% ifversion ghes or ghae %}/code-security/secret-security/configuring-secret-scanning-for-your-repositories{% endif %}' + - '{% ifversion ghae %}/code-security/secure-coding/integrating-with-code-scanning/uploading-a-sarif-file-to-github{% endif %}' + - '{% ifversion ghae %}/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system{% endif %}' popular: - - '{% if enterpriseServerVersions contains currentVersion %}/admin/release-notes{% endif %}' + - '{% ifversion ghes %}/admin/release-notes{% endif %}' - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies - /code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot - - '{% if currentVersion == "github-ae@latest" %}/code-security/secret-security/about-secret-scanning{% endif %}' + - '{% ifversion ghae %}/code-security/secret-security/about-secret-scanning{% endif %}' - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies - - '{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow{% endif %}' - - '{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container{% endif %}' - + - '{% ifversion ghes or ghae %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages{% endif %}' + - '{% ifversion ghes or ghae %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow{% endif %}' + - '{% ifversion ghes or ghae %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container{% endif %}' changelog: - label: 'security-and-compliance' + label: security-and-compliance versions: free-pro-team: '*' - examples_source: data/product-examples/code-security/code-examples.yml - layout: product-landing - versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Repositories - Dependencies @@ -63,5 +53,5 @@ children: - /supply-chain-security - /security-overview - /guides - --- + diff --git a/content/code-security/secret-security/about-secret-scanning.md b/content/code-security/secret-security/about-secret-scanning.md index 6de51720df..6d244bf37c 100644 --- a/content/code-security/secret-security/about-secret-scanning.md +++ b/content/code-security/secret-security/about-secret-scanning.md @@ -8,9 +8,9 @@ redirect_from: - /articles/about-token-scanning-for-private-repositories - /github/administering-a-repository/about-secret-scanning versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: overview topics: - Secret scanning @@ -22,12 +22,12 @@ topics: If your project communicates with an external service, you might use a token or private key for authentication. Tokens and private keys are examples of secrets that a service provider can issue. If you check a secret into a repository, anyone who has read access to the repository can use the secret to access the external service with your privileges. We recommend that you store secrets in a dedicated, secure location outside of the repository for your project. -{% data variables.product.prodname_secret_scanning_caps %} will scan your entire Git history on all branches present in your {% data variables.product.prodname_dotcom %} repository for any secrets. Service providers can partner with {% data variables.product.company_short %} to provide their secret formats for scanning.{% if currentVersion == "free-pro-team@latest" %} For more information, see "[Secret scanning partner program](/developers/overview/secret-scanning-partner-program)." +{% data variables.product.prodname_secret_scanning_caps %} will scan your entire Git history on all branches present in your {% data variables.product.prodname_dotcom %} repository for any secrets. Service providers can partner with {% data variables.product.company_short %} to provide their secret formats for scanning.{% ifversion fpt %} For more information, see "[Secret scanning partner program](/developers/overview/secret-scanning-partner-program)." {% endif %} {% data reusables.secret-scanning.about-secret-scanning %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## About {% data variables.product.prodname_secret_scanning %} for public repositories {% data variables.product.prodname_secret_scanning_caps %} is automatically enabled on public repositories. When you push to a public repository, {% data variables.product.product_name %} scans the content of the commits for secrets. If you switch a private repository to public, {% data variables.product.product_name %} scans the entire repository for secrets. @@ -41,39 +41,39 @@ When {% data variables.product.prodname_secret_scanning %} detects a set of cred ## About {% data variables.product.prodname_secret_scanning %} for private repositories {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.22 or ghae %} ## About {% data variables.product.prodname_secret_scanning %} on {% data variables.product.product_name %} {% data variables.product.prodname_secret_scanning_caps %} is available on all organization-owned repositories as part of {% data variables.product.prodname_GH_advanced_security %}. It is not available on user-owned repositories. {% endif %} -If you're a repository administrator or an organization owner, you can enable {% data variables.product.prodname_secret_scanning %} for {% if currentVersion == "free-pro-team@latest" %} private{% endif %} repositories that are owned by organizations. You can enable {% data variables.product.prodname_secret_scanning %} for all your repositories, or for all new repositories within your organization.{% if currentVersion == "free-pro-team@latest" %} {% data variables.product.prodname_secret_scanning_caps %} is not available for user-owned private repositories.{% endif %} For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +If you're a repository administrator or an organization owner, you can enable {% data variables.product.prodname_secret_scanning %} for {% ifversion fpt %} private{% endif %} repositories that are owned by organizations. You can enable {% data variables.product.prodname_secret_scanning %} for all your repositories, or for all new repositories within your organization.{% ifversion fpt %} {% data variables.product.prodname_secret_scanning_caps %} is not available for user-owned private repositories.{% endif %} For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" and "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}You can also define custom {% data variables.product.prodname_secret_scanning %} patterns that only apply to your repository or organization. For more information, see "[Defining custom patterns for {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)."{% endif %} +{% ifversion fpt or ghes > 3.1 or ghae-next %}You can also define custom {% data variables.product.prodname_secret_scanning %} patterns that only apply to your repository or organization. For more information, see "[Defining custom patterns for {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)."{% endif %} -When you push commits to a{% if currentVersion == "free-pro-team@latest" %} private{% endif %} repository with {% data variables.product.prodname_secret_scanning %} enabled, {% data variables.product.prodname_dotcom %} scans the contents of the commits for secrets. +When you push commits to a{% ifversion fpt %} private{% endif %} repository with {% data variables.product.prodname_secret_scanning %} enabled, {% data variables.product.prodname_dotcom %} scans the contents of the commits for secrets. -When {% data variables.product.prodname_secret_scanning %} detects a secret in a{% if currentVersion == "free-pro-team@latest" %} private{% endif %} repository, {% data variables.product.prodname_dotcom %} generates an alert. +When {% data variables.product.prodname_secret_scanning %} detects a secret in a{% ifversion fpt %} private{% endif %} repository, {% data variables.product.prodname_dotcom %} generates an alert. - {% data variables.product.prodname_dotcom %} sends an email alert to the repository administrators and organization owners. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == 'github-ae@next' %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} - {% data variables.product.prodname_dotcom %} sends an email alert to the contributor who committed the secret to the repository, with a link to the related {% data variables.product.prodname_secret_scanning %} alert. The commit author can then view the alert in the repository, and resolve the alert. {% endif %} -- {% data variables.product.prodname_dotcom %} displays an alert in the repository.{% if currentVersion == "enterprise-server@3.0" %} For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."{% endif %} +- {% data variables.product.prodname_dotcom %} displays an alert in the repository.{% ifversion ghes = 3.0 %} For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == 'github-ae@next' %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} For more information about viewing and resolving {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."{% endif %} Repository administrators and organization owners can grant users and teams access to {% data variables.product.prodname_secret_scanning %} alerts. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} To monitor results from {% data variables.product.prodname_secret_scanning %} across your private repositories or your organization, you can use the {% data variables.product.prodname_secret_scanning %} API. For more information about API endpoints, see "[{% data variables.product.prodname_secret_scanning_caps %}](/rest/reference/secret-scanning)."{% endif %} -{% data variables.product.prodname_dotcom %} currently scans{% if currentVersion == "free-pro-team@latest" %} private{% endif %} repositories for secrets issued by the following service providers. +{% data variables.product.prodname_dotcom %} currently scans{% ifversion fpt %} private{% endif %} repositories for secrets issued by the following service providers. {% data reusables.secret-scanning.partner-secret-list-private-repo %} -{% if currentVersion ver_lt "enterprise-server@3.2" or currentVersion == "github-ae@latest" %} +{% ifversion ghes < 3.2 or ghae %} {% note %} **Note:** {% data variables.product.prodname_secret_scanning_caps %} does not currently allow you to define your own patterns for detecting secrets. diff --git a/content/code-security/secret-security/configuring-secret-scanning-for-your-repositories.md b/content/code-security/secret-security/configuring-secret-scanning-for-your-repositories.md index f3fb53b2a2..14733c4e12 100644 --- a/content/code-security/secret-security/configuring-secret-scanning-for-your-repositories.md +++ b/content/code-security/secret-security/configuring-secret-scanning-for-your-repositories.md @@ -7,9 +7,9 @@ redirect_from: - /github/administering-a-repository/configuring-secret-scanning-for-your-repositories product: '{% data reusables.gated-features.secret-scanning %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Secret scanning @@ -20,7 +20,7 @@ topics: {% data reusables.secret-scanning.beta %} {% data reusables.secret-scanning.enterprise-enable-secret-scanning %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** {% data variables.product.prodname_secret_scanning_caps %} is enabled by default on public repositories and cannot be turned off. You can configure {% data variables.product.prodname_secret_scanning %} for your private repositories only. @@ -28,27 +28,27 @@ topics: {% endnote %} {% endif %} -## Enabling {% data variables.product.prodname_secret_scanning %} for {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories +## Enabling {% data variables.product.prodname_secret_scanning %} for {% ifversion fpt %}private {% endif %}repositories -{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{% ifversion ghes > 2.22 or ghae-next %} You can enable {% data variables.product.prodname_secret_scanning %} for any repository that is owned by an organization. {% endif %} Once enabled, {% data reusables.secret-scanning.secret-scanning-process %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-security-and-analysis %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next"%} +{% ifversion fpt or ghes > 3.0 or ghae-next %} 4. If {% data variables.product.prodname_advanced_security %} is not already enabled for the repository, to the right of "{% data variables.product.prodname_GH_advanced_security %}", click **Enable**. - {% if currentVersion == "free-pro-team@latest" %}![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/help/repository/enable-ghas-dotcom.png) - {% elsif currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/enterprise/3.1/help/repository/enable-ghas.png){% endif %} + {% ifversion fpt %}![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/help/repository/enable-ghas-dotcom.png) + {% elsif ghes > 3.0 or ghae-next %}![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/enterprise/3.1/help/repository/enable-ghas.png){% endif %} 5. Review the impact of enabling {% data variables.product.prodname_advanced_security %}, then click **Enable {% data variables.product.prodname_GH_advanced_security %} for this repository**. 6. When you enable {% data variables.product.prodname_advanced_security %}, {% data variables.product.prodname_secret_scanning %} may automatically be enabled for the repository due to the organization's settings. If "{% data variables.product.prodname_secret_scanning_caps %}" is shown with an **Enable** button, you still need to enable {% data variables.product.prodname_secret_scanning %} by clicking **Enable**. If you see a **Disable** button, {% data variables.product.prodname_secret_scanning %} is already enabled. ![Enable {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/help/repository/enable-secret-scanning-dotcom.png) - {% elsif currentVersion == "enterprise-server@3.0" %} + {% elsif ghes = 3.0 %} 7. To the right of "{% data variables.product.prodname_secret_scanning_caps %}", click **Enable**. ![Enable {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/help/repository/enable-secret-scanning-ghe.png) {% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} 1. Before you can enable {% data variables.product.prodname_secret_scanning %}, you need to enable {% data variables.product.prodname_GH_advanced_security %} first. To the right of "{% data variables.product.prodname_GH_advanced_security %}", click **Enable**. ![Enable {% data variables.product.prodname_GH_advanced_security %} for your repository](/assets/images/enterprise/github-ae/repository/enable-ghas-ghae.png) 2. Click **Enable {% data variables.product.prodname_GH_advanced_security %} for this repository** to confirm the action. @@ -57,7 +57,7 @@ You can enable {% data variables.product.prodname_secret_scanning %} for any rep ![Enable {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/enterprise/github-ae/repository/enable-secret-scanning-ghae.png) {% endif %} -## Excluding alerts from {% data variables.product.prodname_secret_scanning %} in {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories +## Excluding alerts from {% data variables.product.prodname_secret_scanning %} in {% ifversion fpt %}private {% endif %}repositories You can use a *secret_scanning.yml* file to exclude directories from {% data variables.product.prodname_secret_scanning %}. For example, you can exclude directories that contain tests or randomly generated content. @@ -85,4 +85,4 @@ You can also ignore individual alerts from {% data variables.product.prodname_se ## Further reading - "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}- "[Defining custom patterns for {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)"{% endif %} +{% ifversion fpt or ghes > 3.1 or ghae-next %}- "[Defining custom patterns for {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/defining-custom-patterns-for-secret-scanning)"{% endif %} diff --git a/content/code-security/secret-security/defining-custom-patterns-for-secret-scanning.md b/content/code-security/secret-security/defining-custom-patterns-for-secret-scanning.md index 0e2bd1bdfb..590ba97d11 100644 --- a/content/code-security/secret-security/defining-custom-patterns-for-secret-scanning.md +++ b/content/code-security/secret-security/defining-custom-patterns-for-secret-scanning.md @@ -1,12 +1,12 @@ --- title: Defining custom patterns for secret scanning -shortTitle: 'Defining custom patterns' +shortTitle: Defining custom patterns intro: 'You can define custom patterns for {% data variables.product.prodname_secret_scanning %} in organizations and private repositories.' product: '{% data reusables.gated-features.secret-scanning %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.2' - github-ae: 'next' + fpt: '*' + ghes: '>=3.2' + ghae: next topics: - Repositories --- @@ -19,9 +19,9 @@ topics: ## About custom patterns for {% data variables.product.prodname_secret_scanning %} -{% data variables.product.company_short %} performs {% data variables.product.prodname_secret_scanning %} on {% if currentVersion == "free-pro-team@latest" %}public and private{% endif %} repositories for secret patterns provided by {% data variables.product.company_short %} and {% data variables.product.company_short %} partners. For more information on the {% data variables.product.prodname_secret_scanning %} partner program, see "Secret scanning partner program." +{% data variables.product.company_short %} performs {% data variables.product.prodname_secret_scanning %} on {% ifversion fpt %}public and private{% endif %} repositories for secret patterns provided by {% data variables.product.company_short %} and {% data variables.product.company_short %} partners. For more information on the {% data variables.product.prodname_secret_scanning %} partner program, see "Secret scanning partner program." -However, there can be situations where you want to scan for other secret patterns in your {% if currentVersion == "free-pro-team@latest" %}private{% endif %} repositories. For example, you might have a secret pattern that is internal to your organization. For these situations, you can define custom {% data variables.product.prodname_secret_scanning %} patterns in organizations and {% if currentVersion == "free-pro-team@latest" %}private{% endif %} repositories on {% data variables.product.product_name %}. You can define up to 20 custom patterns for each {% if currentVersion == "free-pro-team@latest" %}private{% endif %} repository or organization. +However, there can be situations where you want to scan for other secret patterns in your {% ifversion fpt %}private{% endif %} repositories. For example, you might have a secret pattern that is internal to your organization. For these situations, you can define custom {% data variables.product.prodname_secret_scanning %} patterns in organizations and {% ifversion fpt %}private{% endif %} repositories on {% data variables.product.product_name %}. You can define up to 20 custom patterns for each {% ifversion fpt %}private{% endif %} repository or organization. {% note %} @@ -51,7 +51,7 @@ After your pattern is created, {% data reusables.secret-scanning.secret-scanning ## Defining a custom pattern for an organization -Before defining a custom pattern, you must ensure that you enable {% data variables.product.prodname_secret_scanning %} for the {% if currentVersion == "free-pro-team@latest" %}private{% endif %} repositories that you want to scan in your organization. To enable {% data variables.product.prodname_secret_scanning %} on all {% if currentVersion == "free-pro-team@latest" %}private{% endif %} repositories in your organization, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +Before defining a custom pattern, you must ensure that you enable {% data variables.product.prodname_secret_scanning %} for the {% ifversion fpt %}private{% endif %} repositories that you want to scan in your organization. To enable {% data variables.product.prodname_secret_scanning %} on all {% ifversion fpt %}private{% endif %} repositories in your organization, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." {% note %} @@ -65,7 +65,7 @@ Before defining a custom pattern, you must ensure that you enable {% data variab {% data reusables.repositories.navigate-to-ghas-settings %} {% data reusables.repositories.secret-scanning-add-custom-pattern %} -After your pattern is created, {% data variables.product.prodname_secret_scanning %} scans for any secrets in {% if currentVersion == "free-pro-team@latest" %}private{% endif %} repositories in your organization, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." +After your pattern is created, {% data variables.product.prodname_secret_scanning %} scans for any secrets in {% ifversion fpt %}private{% endif %} repositories in your organization, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)." ## Removing a custom pattern diff --git a/content/code-security/secret-security/index.md b/content/code-security/secret-security/index.md index a1811a336d..9d7c6f00bc 100644 --- a/content/code-security/secret-security/index.md +++ b/content/code-security/secret-security/index.md @@ -4,9 +4,9 @@ shortTitle: Secret security intro: 'Let {% data variables.product.company_short %} do the hard work of ensuring that tokens, private keys, and other code secrets are not exposed in your repository.' product: '{% data reusables.gated-features.secret-scanning %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Secret scanning - Advanced Security diff --git a/content/code-security/secret-security/managing-alerts-from-secret-scanning.md b/content/code-security/secret-security/managing-alerts-from-secret-scanning.md index 66cf06a040..692778a2e1 100644 --- a/content/code-security/secret-security/managing-alerts-from-secret-scanning.md +++ b/content/code-security/secret-security/managing-alerts-from-secret-scanning.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.secret-scanning %}' redirect_from: - /github/administering-a-repository/managing-alerts-from-secret-scanning versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Secret scanning @@ -23,27 +23,27 @@ topics: {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} 3. In the left sidebar, click **Secret scanning alerts**. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion fpt or ghes > 2.22 %} !["Secret scanning alerts" tab](/assets/images/help/repository/sidebar-secrets.png) {% endif %} - {% if currentVersion == "github-ae@latest" %} + {% ifversion ghae %} !["Secret scanning alerts" tab](/assets/images/enterprise/github-ae/repository/sidebar-secrets-ghae.png) {% endif %} 4. Under "Secret scanning" click the alert you want to view. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} ![List of alerts from secret scanning](/assets/images/help/repository/secret-scanning-click-alert.png) {% endif %} - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} ![List of alerts from secret scanning](/assets/images/help/repository/secret-scanning-click-alert-ghe.png) {% endif %} - {% if currentVersion == "github-ae@latest" %} + {% ifversion ghae %} ![List of alerts from secret scanning](/assets/images/enterprise/github-ae/repository/secret-scanning-click-alert-ghae.png) {% endif %} 5. Optionally, use the "Mark as" drop-down menu and click a reason for resolving an alert. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} ![Drop-down menu for resolving an alert from secret scanning](/assets/images/help/repository/secret-scanning-resolve-alert.png) {% endif %} - {% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} + {% ifversion ghes > 2.22 or ghae %} ![Drop-down menu for resolving an alert from secret scanning](/assets/images/help/repository/secret-scanning-resolve-alert-ghe.png) {% endif %} @@ -54,7 +54,7 @@ Once a secret has been committed to a repository, you should consider the secret - For a compromised {% data variables.product.prodname_dotcom %} personal access token, delete the compromised token, create a new token, and update any services that use the old token. For more information, see "[Creating a personal access token for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)." - For all other secrets, first verify that the secret committed to {% data variables.product.product_name %} is valid. If so, create a new secret, update any services that use the old secret, and then delete the old secret. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Configuring notifications for {% data variables.product.prodname_secret_scanning %} alerts When a new secret is detected, {% data variables.product.prodname_dotcom %} notifies all users with access to security alerts for the repository according to their notification preferences. You will receive alerts if you are watching the repository, have enabled notifications for security alerts, or are the author of the commit that contains the secret and are not ignoring the repository. diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md index 8f4470382b..0cd9abf916 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md @@ -7,9 +7,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning - /code-security/secure-coding/about-code-scanning versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: overview topics: - Advanced Security @@ -46,7 +46,7 @@ You can use {% data variables.product.prodname_code_scanning %} with {% data var You can view and contribute to the queries for {% data variables.product.prodname_code_scanning %} in the [`github/codeql`](https://github.com/github/codeql) repository. For more information, see [{% data variables.product.prodname_codeql %} queries](https://codeql.github.com/docs/writing-codeql-queries/codeql-queries/) in the {% data variables.product.prodname_codeql %} documentation. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## About billing for {% data variables.product.prodname_code_scanning %} diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md index 0a3162b2de..28beb227ac 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md @@ -8,9 +8,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning - /code-security/secure-coding/configuring-code-scanning versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -29,7 +29,7 @@ topics: ## About {% data variables.product.prodname_code_scanning %} configuration You can run {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %}, using {% data variables.product.prodname_actions %}, or from your continuous integration (CI) system. For more information, see "[About {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)" or -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} "[About {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)." {%- else %} "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)." @@ -41,7 +41,7 @@ Before you can configure {% data variables.product.prodname_code_scanning %} for {% data reusables.code-scanning.edit-workflow %} -{% data variables.product.prodname_codeql %} analysis is just one type of {% data variables.product.prodname_code_scanning %} you can do in {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_marketplace %}{% if currentVersion ver_gt "enterprise-server@2.21" %} on {% data variables.product.prodname_dotcom_the_website %}{% endif %} contains other {% data variables.product.prodname_code_scanning %} workflows you can use. {% if currentVersion == "free-pro-team@latest" %}You can find a selection of these on the "Get started with {% data variables.product.prodname_code_scanning %}" page, which you can access from the **{% octicon "shield" aria-label="The shield symbol" %} Security** tab.{% endif %} The specific examples given in this article relate to the {% data variables.product.prodname_codeql_workflow %} file. +{% data variables.product.prodname_codeql %} analysis is just one type of {% data variables.product.prodname_code_scanning %} you can do in {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_marketplace %}{% ifversion ghes > 2.21 %} on {% data variables.product.prodname_dotcom_the_website %}{% endif %} contains other {% data variables.product.prodname_code_scanning %} workflows you can use. {% ifversion fpt %}You can find a selection of these on the "Get started with {% data variables.product.prodname_code_scanning %}" page, which you can access from the **{% octicon "shield" aria-label="The shield symbol" %} Security** tab.{% endif %} The specific examples given in this article relate to the {% data variables.product.prodname_codeql_workflow %} file. ## Editing a {% data variables.product.prodname_code_scanning %} workflow @@ -75,13 +75,13 @@ If you scan on push, then the results appear in the **Security** tab for your re ### Scanning pull requests -The default {% data variables.product.prodname_codeql_workflow %} uses the `pull_request` event to trigger a code scan on pull requests targeted against the default branch. {% if currentVersion ver_gt "enterprise-server@2.21" %}The `pull_request` event is not triggered if the pull request was opened from a private fork.{% else %}If a pull request is from a private fork, the `pull_request` event will only be triggered if you've selected the "Run workflows from fork pull requests" option in the repository settings. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository#enabling-workflows-for-private-repository-forks)."{% endif %} +The default {% data variables.product.prodname_codeql_workflow %} uses the `pull_request` event to trigger a code scan on pull requests targeted against the default branch. {% ifversion ghes > 2.21 %}The `pull_request` event is not triggered if the pull request was opened from a private fork.{% else %}If a pull request is from a private fork, the `pull_request` event will only be triggered if you've selected the "Run workflows from fork pull requests" option in the repository settings. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository#enabling-workflows-for-private-repository-forks)."{% endif %} For more information about the `pull_request` event, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags)." If you scan pull requests, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ### Defining the alert severities causing pull request check failure By default, only alerts with the severity level of `error` will cause a pull request check failure, and a check will still succeed with alerts of lower severities. You can change the levels of alert severities that will cause a pull request check failure in your repository settings. @@ -150,7 +150,7 @@ This workflow scans: ## Specifying an operating system -If your code requires a specific operating system to compile, you can configure the operating system in your {% data variables.product.prodname_codeql_workflow %}. Edit the value of `jobs.analyze.runs-on` to specify the operating system for the machine that runs your {% data variables.product.prodname_code_scanning %} actions. {% if currentVersion ver_gt "enterprise-server@2.21" %}You specify the operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% else %} +If your code requires a specific operating system to compile, you can configure the operating system in your {% data variables.product.prodname_codeql_workflow %}. Edit the value of `jobs.analyze.runs-on` to specify the operating system for the machine that runs your {% data variables.product.prodname_code_scanning %} actions. {% ifversion ghes > 2.21 %}You specify the operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% else %} If you choose to use a self-hosted runner for code scanning, you can specify an operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% endif %} @@ -161,13 +161,13 @@ jobs: runs-on: [self-hosted, ubuntu-latest] ``` -{% if currentVersion == "free-pro-team@latest" %}For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)."{% endif %} +{% ifversion fpt %}For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)."{% endif %} -{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} supports the latest versions of Ubuntu, Windows, and macOS. Typical values for this setting are therefore: `ubuntu-latest`, `windows-latest`, and `macos-latest`. For more information, see {% if currentVersion ver_gt "enterprise-server@2.21" %}"[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#self-hosted-runners)" and "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners){% else %}"[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on){% endif %}." +{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} supports the latest versions of Ubuntu, Windows, and macOS. Typical values for this setting are therefore: `ubuntu-latest`, `windows-latest`, and `macos-latest`. For more information, see {% ifversion ghes > 2.21 %}"[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#self-hosted-runners)" and "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners){% else %}"[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on){% endif %}." -{% if currentVersion ver_gt "enterprise-server@2.21" %}You must ensure that Git is in the PATH variable on your self-hosted runners.{% else %}If you use a self-hosted runner, you must ensure that Git is in the PATH variable.{% endif %} +{% ifversion ghes > 2.21 %}You must ensure that Git is in the PATH variable on your self-hosted runners.{% else %}If you use a self-hosted runner, you must ensure that Git is in the PATH variable.{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## Specifying the location for {% data variables.product.prodname_codeql %} databases In general, you do not need to worry about where the {% data variables.product.prodname_codeql_workflow %} places {% data variables.product.prodname_codeql %} databases since later steps will automatically find databases created by previous steps. However, if you are writing a custom workflow step that requires the {% data variables.product.prodname_codeql %} database to be in a specific disk location, for example to upload the database as a workflow artifact, you can specify that location using the `db-location` parameter under the `init` action. @@ -215,7 +215,7 @@ If your workflow does not contain a matrix called `language`, then {% data varia with: languages: cpp, csharp, python ``` -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Analyzing Python dependencies For GitHub-hosted runners that use Linux only, the {% data variables.product.prodname_codeql_workflow %} will try to auto-install Python dependencies to give more results for the CodeQL analysis. You can control this behavior by specifying the `setup-python-dependencies` parameter for the action called by the "Initialize CodeQL" step. By default, this parameter is set to `true`: @@ -230,7 +230,7 @@ Alternatively, you can install Python dependencies manually on any operating sys jobs: CodeQL-Build: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write actions: read{% endif %} @@ -261,7 +261,7 @@ jobs: ``` {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Configuring a category for the analysis Use `category` to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. The category you specify in your workflow will be included in the SARIF results file. diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md index 8c59ee092b..796d3f8b5b 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md @@ -10,9 +10,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-the-codeql-workflow-for-compiled-languages - /code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -46,7 +46,7 @@ If your workflow uses a `language` matrix, `autobuild` attempts to build each of {% note %} -{% if currentVersion == "github-ae@latest" %}**Note**: For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." +{% ifversion ghae %}**Note**: For instructions on how to make sure your {% data variables.actions.hosted_runner %} has the required software installed, see "[Creating custom images](/actions/using-github-hosted-runners/creating-custom-images)." {% else %} **Note**: If you use self-hosted runners for {% data variables.product.prodname_actions %}, you may need to install additional software to use the `autobuild` process. Additionally, if your repository requires a specific version of a build tool, you may need to install it manually. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)". {% endif %} diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md index 5c5557fa16..f177390149 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md @@ -6,9 +6,9 @@ product: '{% data reusables.gated-features.code-scanning %}' redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Advanced Security - Code scanning diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md index 01d9a3193d..e823030964 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -5,9 +5,9 @@ intro: 'From the security view, you can view, fix, dismiss, or delete alerts for product: '{% data reusables.gated-features.code-scanning %}' permissions: 'If you have write permission to a repository you can manage {% data variables.product.prodname_code_scanning %} alerts for that repository.' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' redirect_from: - /github/managing-security-vulnerabilities/managing-alerts-from-automated-code-scanning - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-alerts-from-code-scanning @@ -51,11 +51,11 @@ You need write permission to view a summary of all the alerts for a repository o {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-code-scanning-alerts %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} -1. Optionally, use{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} the free text search box or{% endif %} the drop-down menus to filter alerts. For example, you can filter by the tool that was used to identify alerts. +{% ifversion fpt or ghes > 3.1 %} +1. Optionally, use{% ifversion fpt or ghes > 3.1 %} the free text search box or{% endif %} the drop-down menus to filter alerts. For example, you can filter by the tool that was used to identify alerts. ![Filter by tool](/assets/images/help/repository/code-scanning-filter-by-tool.png){% endif %} 1. Under "{% data variables.product.prodname_code_scanning_capc %}," click the alert you'd like to explore. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} +{% ifversion fpt or ghes > 3.1 %} ![Summary of alerts](/assets/images/help/repository/code-scanning-click-alert.png) {% else %} ![List of alerts from {% data variables.product.prodname_code_scanning %}](/assets/images/enterprise/3.1/help/repository/code-scanning-click-alert.png) @@ -65,7 +65,7 @@ You need write permission to view a summary of all the alerts for a repository o 1. Alerts from {% data variables.product.prodname_codeql %} analysis include a description of the problem. Click **Show more** for guidance on how to fix your code. ![Details for an alert](/assets/images/help/repository/code-scanning-alert-details.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghes > 3.1 %} {% note %} **Note:** For {% data variables.product.prodname_code_scanning %} analysis with {% data variables.product.prodname_codeql %}, you can see information about the latest run in a header at the top of the list of {% data variables.product.prodname_code_scanning %} alerts for the repository. @@ -76,7 +76,7 @@ For example, you can see when the last scan ran, the number of lines of code ana {% endnote %} {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghes > 3.1 %} ## Searching {% data variables.product.prodname_code_scanning %} alerts You can search the list of alerts. This is useful if there is a large number of alerts in your repository, or if you don't know the exact name for an alert for example. {% data variables.product.product_name %} performs the free text search across: @@ -117,11 +117,11 @@ Anyone with write permission for a repository can fix an alert by committing a c If you have write permission for a repository, you can view fixed alerts by viewing the summary of alerts and clicking **Closed**. For more information, see "[Viewing the alerts for a repository](#viewing-the-alerts-for-a-repository)." The "Closed" list shows fixed alerts and alerts that users have dismissed. -You can use{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} the free text search or{% endif %} the filters to display a subset of alerts and then in turn mark all matching alerts as closed. +You can use{% ifversion fpt or ghes > 3.1 %} the free text search or{% endif %} the filters to display a subset of alerts and then in turn mark all matching alerts as closed. Alerts may be fixed in one branch but not in another. You can use the "Branch" drop-down menu, on the summary of alerts, to check whether an alert is fixed in a particular branch. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} +{% ifversion fpt or ghes > 3.1 %} ![Filtering alerts by branch](/assets/images/help/repository/code-scanning-branch-filter.png) {% else %} ![Filtering alerts by branch](/assets/images/enterprise/3.1/help/repository/code-scanning-branch-filter.png) @@ -157,9 +157,9 @@ To dismiss or delete alerts: ![Deleting alerts](/assets/images/help/repository/code-scanning-delete-alerts.png) - Optionally, you can use{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} the free text search or{% endif %} the filters to display a subset of alerts and then delete all matching alerts at once. For example, if you have removed a query from {% data variables.product.prodname_codeql %} analysis, you can use the "Rule" filter to list just the alerts for that query and then select and delete all of those alerts. + Optionally, you can use{% ifversion fpt or ghes > 3.1 %} the free text search or{% endif %} the filters to display a subset of alerts and then delete all matching alerts at once. For example, if you have removed a query from {% data variables.product.prodname_codeql %} analysis, you can use the "Rule" filter to list just the alerts for that query and then select and delete all of those alerts. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} +{% ifversion fpt or ghes > 3.1 %} ![Filter alerts by rule](/assets/images/help/repository/code-scanning-filter-by-rule.png) {% else %} ![Filter alerts by rule](/assets/images/enterprise/3.1/help/repository/code-scanning-filter-by-rule.png) @@ -167,7 +167,7 @@ To dismiss or delete alerts: 1. If you want to dismiss an alert, it's important to explore the alert first, so that you can choose the correct dismissal reason. Click the alert you'd like to explore. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} +{% ifversion fpt or ghes > 3.1 %} ![Open an alert from the summary list](/assets/images/help/repository/code-scanning-click-alert.png) {% else %} ![List of alerts from {% data variables.product.prodname_code_scanning %}](/assets/images/enterprise/3.1/help/repository/code-scanning-click-alert.png) diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index a5a4f38f28..eb9b262950 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -7,9 +7,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-a-container - /code-security/secure-coding/running-codeql-code-scanning-in-a-container versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -28,7 +28,7 @@ topics: If you're setting up {% data variables.product.prodname_code_scanning %} for a compiled language, and you're building the code in a containerized environment, the analysis may fail with the error message "No source code was seen during the build." This indicates that {% data variables.product.prodname_codeql %} was unable to monitor your code as it was compiled. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} You must run {% data variables.product.prodname_codeql %} inside the container in which you build your code. This applies whether you are using the {% data variables.product.prodname_codeql_cli %}, the {% data variables.product.prodname_codeql_runner %}, or {% data variables.product.prodname_actions %}. For the {% data variables.product.prodname_codeql_cli %} or the {% data variables.product.prodname_codeql_runner %}, see "[Installing {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)" or "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)" for more information. If you're using {% data variables.product.prodname_actions %}, configure your workflow to run all the actions in the same container. For more information, see "[Example workflow](#example-workflow)." {% else %} You must run {% data variables.product.prodname_codeql %} inside the container in which you build your code. This applies whether you are using the {% data variables.product.prodname_codeql_runner %} or {% data variables.product.prodname_actions %}. For the {% data variables.product.prodname_codeql_runner %}, see "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)" for more information. If you're using {% data variables.product.prodname_actions %}, configure your workflow to run all the actions in the same container. For more information, see "[Example workflow](#example-workflow)." @@ -60,7 +60,7 @@ on: jobs: analyze: name: Analyze - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write actions: read{% endif %} diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md index 200da32c0e..02b72468b2 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -11,9 +11,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository - /code-security/secure-coding/setting-up-code-scanning-for-a-repository versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -34,14 +34,14 @@ You decide how to generate {% data variables.product.prodname_code_scanning %} a ## Setting up {% data variables.product.prodname_code_scanning %} using actions -{% if currentVersion == "free-pro-team@latest" %}Using actions to run {% data variables.product.prodname_code_scanning %} will use minutes. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)."{% endif %} +{% ifversion fpt %}Using actions to run {% data variables.product.prodname_code_scanning %} will use minutes. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)."{% endif %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} -3. To the right of "{% data variables.product.prodname_code_scanning_capc %} alerts", click **Set up {% data variables.product.prodname_code_scanning %}**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}If {% data variables.product.prodname_code_scanning %} is missing, you need to ask an organization owner or repository administrator to enable {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" or "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} +3. To the right of "{% data variables.product.prodname_code_scanning_capc %} alerts", click **Set up {% data variables.product.prodname_code_scanning %}**. {% ifversion fpt or ghes > 3.0 %}If {% data variables.product.prodname_code_scanning %} is missing, you need to ask an organization owner or repository administrator to enable {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" or "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} !["Set up {% data variables.product.prodname_code_scanning %}" button to the right of "{% data variables.product.prodname_code_scanning_capc %}" in the Security Overview](/assets/images/help/security/overview-set-up-code-scanning.png) 4. Under "Get started with {% data variables.product.prodname_code_scanning %}", click **Set up this workflow** on the {% data variables.product.prodname_codeql_workflow %} or on a third-party workflow. - !["Set up this workflow" button under "Get started with {% data variables.product.prodname_code_scanning %}" heading](/assets/images/help/repository/code-scanning-set-up-this-workflow.png){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}Workflows are only displayed if they are relevant for the programming languages detected in the repository. The {% data variables.product.prodname_codeql_workflow %} is always displayed, but the "Set up this workflow" button is only enabled if {% data variables.product.prodname_codeql %} analysis supports the languages present in the repository.{% endif %} + !["Set up this workflow" button under "Get started with {% data variables.product.prodname_code_scanning %}" heading](/assets/images/help/repository/code-scanning-set-up-this-workflow.png){% ifversion fpt or ghes > 2.22 %}Workflows are only displayed if they are relevant for the programming languages detected in the repository. The {% data variables.product.prodname_codeql_workflow %} is always displayed, but the "Set up this workflow" button is only enabled if {% data variables.product.prodname_codeql %} analysis supports the languages present in the repository.{% endif %} 5. To customize how {% data variables.product.prodname_code_scanning %} scans your code, edit the workflow. Generally you can commit the {% data variables.product.prodname_codeql_workflow %} without making any changes to it. However, many of the third-party workflows require additional configuration, so read the comments in the workflow before committing. @@ -80,7 +80,7 @@ There are other situations where there may be no analysis for the latest commit To check whether a branch has been scanned, go to the {% data variables.product.prodname_code_scanning_capc %} page, click the **Branch** drop-down and select the relevant branch. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} +{% ifversion fpt or ghes > 3.1 %} ![Choose a branch from the Branch drop-down menu](/assets/images/help/repository/code-scanning-branch-dropdown.png) {% else %} ![Choose a branch from the Branch drop-down menu](/assets/images/enterprise/3.1/help/repository/code-scanning-branch-dropdown.png) diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md index d1b2789f96..be093bc37b 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md @@ -8,9 +8,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests - /code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -29,7 +29,7 @@ In repositories where {% data variables.product.prodname_code_scanning %} is con If {% data variables.product.prodname_code_scanning %} has any results with a severity of `error`, the check fails and the error is reported in the check results. If all the results found by {% data variables.product.prodname_code_scanning %} have lower severities, the alerts are treated as warnings or notices and the check succeeds. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}You can override the default behavior in your repository settings, by specifying the level of severities that will cause a pull request check failure. For more information, see "[Defining the alert severities causing pull request check failure](/code-security/secure-coding/configuring-code-scanning#defining-the-alert-severities-causing-pull-request-check-failure)". +{% ifversion fpt or ghes > 3.1 or ghae-next %}You can override the default behavior in your repository settings, by specifying the level of severities that will cause a pull request check failure. For more information, see "[Defining the alert severities causing pull request check failure](/code-security/secure-coding/configuring-code-scanning#defining-the-alert-severities-causing-pull-request-check-failure)". {% endif %}If your pull request targets a protected branch that uses {% data variables.product.prodname_code_scanning %}, and the repository owner has configured required status checks, then you must either fix or dismiss all error alerts before the pull request can be merged. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-status-checks-before-merging)." diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md index 9c99994955..63ee7477e7 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md @@ -8,9 +8,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-the-codeql-workflow - /code-security/secure-coding/troubleshooting-the-codeql-workflow versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -45,7 +45,7 @@ If an automatic build of code for a compiled language within your project fails, ```yaml jobs: - analyze:{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + analyze:{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write actions: read{% endif %} @@ -133,7 +133,7 @@ If you split your analysis into multiple workflows as described above, we still If your analysis is still too slow to be run during `push` or `pull_request` events, then you may want to only trigger analysis on the `schedule` event. For more information, see "[Events](/actions/learn-github-actions/introduction-to-github-actions#events)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Results differ between analysis platforms If you are analyzing code written in Python, you may see different results depending on whether you run the {% data variables.product.prodname_codeql_workflow %} on Linux, macOS, or Windows. @@ -149,7 +149,7 @@ If the run of a workflow for {% data variables.product.prodname_code_scanning %} ## Error: "Out of disk" or "Out of memory" On very large projects, {% data variables.product.prodname_codeql %} may run out of disk or memory on the runner. -{% if currentVersion == "free-pro-team@latest" %}If you encounter this issue on a hosted {% data variables.product.prodname_actions %} runner, contact {% data variables.contact.contact_support %} so that we can investigate the problem. +{% ifversion fpt %}If you encounter this issue on a hosted {% data variables.product.prodname_actions %} runner, contact {% data variables.contact.contact_support %} so that we can investigate the problem. {% else %}If you encounter this issue, try increasing the memory on the runner.{% endif %} ## Warning: "git checkout HEAD^2 is no longer necessary" diff --git a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs.md b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs.md index 1f5009a1e4..d10534b80c 100644 --- a/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs.md +++ b/content/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs.md @@ -5,9 +5,9 @@ product: '{% data reusables.gated-features.code-scanning %}' permissions: 'If you have write permissions to a repository, you can view the {% data variables.product.prodname_code_scanning %} logs for that repository.' miniTocMaxHeadingLevel: 4 versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Security --- @@ -19,7 +19,7 @@ topics: You can use a variety of tools to set up {% data variables.product.prodname_code_scanning %} in your repository. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#options-for-setting-up-code-scanning)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} +{% ifversion fpt or ghes > 3.1 %} The log and diagnostic information available to you depends on the method you use for {% data variables.product.prodname_code_scanning %} in your repository. You can check the type of {% data variables.product.prodname_code_scanning %} you're using in the **Security** tab of your repository, by using the **Tool** drop-down menu in the alert list. For more information, see "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." ## About analysis and diagnostic information @@ -69,7 +69,7 @@ After setting up {% data variables.product.prodname_code_scanning %} for your re **Note:** If you raised a pull request to add the {% data variables.product.prodname_code_scanning %} workflow to the repository, alerts from that pull request aren't displayed directly on the {% data variables.product.prodname_code_scanning_capc %} page until the pull request is merged. If any alerts were found you can view these, before the pull request is merged, by clicking the **_n_ alerts found** link in the banner on the {% data variables.product.prodname_code_scanning_capc %} page. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} +{% ifversion fpt or ghes > 3.1 %} ![Click the "n alerts found" link](/assets/images/help/repository/code-scanning-alerts-found-link.png) {% else %} ![Click the "n alerts found" link](/assets/images/enterprise/3.1/help/repository/code-scanning-alerts-found-link.png) diff --git a/content/code-security/secure-coding/index.md b/content/code-security/secure-coding/index.md index 20771af9ec..ca20f436fc 100644 --- a/content/code-security/secure-coding/index.md +++ b/content/code-security/secure-coding/index.md @@ -7,9 +7,9 @@ redirect_from: - /github/managing-security-vulnerabilities/finding-security-vulnerabilities-in-your-projects-code - /github/finding-security-vulnerabilities-and-errors-in-your-code versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Advanced Security - Code scanning diff --git a/content/code-security/secure-coding/integrating-with-code-scanning/about-integration-with-code-scanning.md b/content/code-security/secure-coding/integrating-with-code-scanning/about-integration-with-code-scanning.md index 4c311b1338..d451e454de 100644 --- a/content/code-security/secure-coding/integrating-with-code-scanning/about-integration-with-code-scanning.md +++ b/content/code-security/secure-coding/integrating-with-code-scanning/about-integration-with-code-scanning.md @@ -7,9 +7,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/about-integration-with-code-scanning - /code-security/secure-coding/about-integration-with-code-scanning versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: overview topics: - Advanced Security diff --git a/content/code-security/secure-coding/integrating-with-code-scanning/index.md b/content/code-security/secure-coding/integrating-with-code-scanning/index.md index fbb1065f22..b756258695 100644 --- a/content/code-security/secure-coding/integrating-with-code-scanning/index.md +++ b/content/code-security/secure-coding/integrating-with-code-scanning/index.md @@ -7,9 +7,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-results-from-code-scanning - /github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Advanced Security - Code scanning diff --git a/content/code-security/secure-coding/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/content/code-security/secure-coding/integrating-with-code-scanning/sarif-support-for-code-scanning.md index 544b03b58f..6f49a06323 100644 --- a/content/code-security/secure-coding/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/content/code-security/secure-coding/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -9,9 +9,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/sarif-support-for-code-scanning - /code-security/secure-coding/sarif-support-for-code-scanning versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: reference topics: - Advanced Security @@ -31,10 +31,10 @@ To upload a SARIF file from a third-party static code analysis engine, you'll ne If you're using {% data variables.product.prodname_actions %} with the {% data variables.product.prodname_codeql_workflow %} or using the {% data variables.product.prodname_codeql_runner %}, then the {% data variables.product.prodname_code_scanning %} results will automatically use the supported subset of SARIF 2.1.0. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)" or "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} If you're using the {% data variables.product.prodname_codeql_cli %}, then you can specify the version of SARIF to use. For more information, see "[Configuring {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system#analyzing-a-codeql-database)."{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can upload multiple SARIF files for the same tool and commit, and analyze each file using {% data variables.product.prodname_code_scanning %}. You can indicate a "category" for each analysis by specifying a `runAutomationDetails.id` in each file. Only SARIF files with the same category will overwrite each other. For more information about this property, see [`runAutomationDetails` object](#runautomationdetails-object) below. {% endif %} @@ -137,7 +137,7 @@ A location within a programming artifact, such as a file in the repository or a | `region.endLine` | **Required.** The line number of the last character in the region. | `region.endColumn` | **Required.** The column number of the character following the end of the region. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `runAutomationDetails` object The `runAutomationDetails` object contains information that specifies the identity of a run. @@ -234,7 +234,7 @@ This SARIF output file has example values to show the minimum required propertie This SARIF output file has example values to show all supported SARIF properties for {% data variables.product.prodname_code_scanning %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ```json { "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", diff --git a/content/code-security/secure-coding/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/content/code-security/secure-coding/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index 172abe4dd9..8ca9089c8a 100644 --- a/content/code-security/secure-coding/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/content/code-security/secure-coding/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -9,9 +9,9 @@ redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github - /code-security/secure-coding/uploading-a-sarif-file-to-github versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -33,10 +33,10 @@ topics: You can generate SARIF files using many static analysis security testing tools, including {% data variables.product.prodname_codeql %}. The results must use SARIF version 2.1.0. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)." -You can upload the results using {% data variables.product.prodname_actions %}, the {% data variables.product.prodname_code_scanning %} API, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}the {% data variables.product.prodname_codeql_cli %}, {% endif %}or the {% data variables.product.prodname_codeql_runner %}. The best upload method will depend on how you generate the SARIF file, for example, if you use: +You can upload the results using {% data variables.product.prodname_actions %}, the {% data variables.product.prodname_code_scanning %} API, {% ifversion fpt or ghes > 3.0 or ghae-next %}the {% data variables.product.prodname_codeql_cli %}, {% endif %}or the {% data variables.product.prodname_codeql_runner %}. The best upload method will depend on how you generate the SARIF file, for example, if you use: - {% data variables.product.prodname_actions %} to run the {% data variables.product.prodname_codeql %} action, there is no further action required. The {% data variables.product.prodname_codeql %} action uploads the SARIF file automatically when it completes analysis. -- {% data variables.product.prodname_actions %} to run a SARIF-compatible analysis tool, you could update the workflow to include a final step that uploads the results (see below). {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +- {% data variables.product.prodname_actions %} to run a SARIF-compatible analysis tool, you could update the workflow to include a final step that uploads the results (see below). {% ifversion fpt or ghes > 3.0 or ghae-next %} - The {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_code_scanning %} in your CI system, you can use the CLI to upload results to {% data variables.product.prodname_dotcom %} (for more information, see "[Installing {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system)").{% endif %} - The {% data variables.product.prodname_codeql_runner %}, to run {% data variables.product.prodname_code_scanning %} in your CI system, by default the runner automatically uploads results to {% data variables.product.prodname_dotcom %} on completion. If you block the automatic upload, when you are ready to upload results you can use the `upload` command (for more information, see "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)"). - A tool that generates results as an artifact outside of your repository, you can use the {% data variables.product.prodname_code_scanning %} API to upload the file (for more information, see "[Upload an analysis as SARIF data](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data)"). @@ -77,7 +77,7 @@ on: jobs: build: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write{% endif %} steps: @@ -111,7 +111,7 @@ on: jobs: build: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write{% endif %} steps: @@ -132,7 +132,7 @@ jobs: ## Further reading - "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions)" -- "[Viewing your workflow history](/actions/managing-workflow-runs/viewing-workflow-run-history)"{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +- "[Viewing your workflow history](/actions/managing-workflow-runs/viewing-workflow-run-history)"{%- ifversion fpt or ghes > 3.0 or ghae-next %} - "[About {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)"{% else %} - "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/running-codeql-runner-in-your-ci-system)"{% endif %} - "[Upload an analysis as SARIF data](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data)" diff --git a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md index 440c302dcc..fc360a3253 100644 --- a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md +++ b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system.md @@ -4,9 +4,9 @@ shortTitle: Code scanning in your CI intro: 'You can analyze your code with {% data variables.product.prodname_codeql %} in a third-party continuous integration system and upload the results to {% data variables.product.product_location %}. The resulting {% data variables.product.prodname_code_scanning %} alerts are shown alongside any alerts generated within {% data variables.product.product_name %}.' product: '{% data reusables.gated-features.code-scanning %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Advanced Security - Code scanning @@ -31,7 +31,7 @@ redirect_from: You can run {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} within {% data variables.product.product_name %} using {% data variables.product.prodname_actions %}. Alternatively, if you use a third-party continuous integration or continuous delivery/deployment (CI/CD) system, you can run {% data variables.product.prodname_codeql %} analysis in your existing system and upload the results to {% data variables.product.product_location %}. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} You add the {% data variables.product.prodname_codeql_cli %} to your third-party system, then call the tool to analyze code and upload the SARIF results to {% data variables.product.product_name %}. The resulting {% data variables.product.prodname_code_scanning %} alerts are shown alongside any alerts generated within {% data variables.product.product_name %}. @@ -56,7 +56,7 @@ For more information, see "[Installing {% data variables.product.prodname_codeql {% endif %} -{% if currentVersion == "enterprise-server@3.1" %} +{% ifversion ghes = 3.1 %} You add the {% data variables.product.prodname_codeql_cli %} or the {% data variables.product.prodname_codeql_runner %} to your third-party system, then call the tool to analyze code and upload the SARIF results to {% data variables.product.product_name %}. The resulting {% data variables.product.prodname_code_scanning %} alerts are shown alongside any alerts generated within {% data variables.product.product_name %}. {% data reusables.code-scanning.upload-sarif-ghas %} @@ -83,7 +83,7 @@ For more information, see "[Running {% data variables.product.prodname_codeql_ru {% endif %} -{% if currentVersion == "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion ghes = 3.0 or ghae %} {% data reusables.code-scanning.upload-sarif-ghas %} You add the {% data variables.product.prodname_codeql_runner %} to your third-party system, then call the tool to analyze code and upload the SARIF results to {% data variables.product.product_name %}. The resulting {% data variables.product.prodname_code_scanning %} alerts are shown alongside any alerts generated within {% data variables.product.product_name %}. diff --git a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md index d01b655c46..ea5cb66546 100644 --- a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md +++ b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md @@ -5,9 +5,9 @@ intro: 'You can configure your continuous integration system to run the {% data product: '{% data reusables.gated-features.code-scanning %}' miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' - enterprise-server: '>=3.1' - github-ae: 'next' + fpt: '*' + ghes: '>=3.1' + ghae: next type: how_to topics: - Advanced Security @@ -27,7 +27,7 @@ Once you've made the {% data variables.product.prodname_codeql_cli %} available You use three different commands to generate results and upload them to {% data variables.product.product_name %}: -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} 1. `database create` to create a {% data variables.product.prodname_codeql %} database to represent the hierarchical structure of each supported programming language in the repository. 2. ` database analyze` to run queries to analyze each {% data variables.product.prodname_codeql %} database and summarize the results in a SARIF file. @@ -51,7 +51,7 @@ You can display the command-line help for any command using the `--help` 3.1 or ghae-next %} ```shell # Single supported language - create one CodeQL databsae codeql database create <database> --command<build> --language=<language-identifier> @@ -74,15 +74,15 @@ You can display the command-line help for any command using the `--help`` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the name and location of a directory to create for the {% data variables.product.prodname_codeql %} database. The command will fail if you try to overwrite an existing directory. If you also specify `--db-cluster`, this is the parent directory and a subdirectory is created for each language analyzed.| -| `--language` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the identifier for the language to create a database for, one of: `{% data reusables.code-scanning.codeql-languages-keywords %}` (use `javascript` to analyze TypeScript code). {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}When used with `--db-cluster`, the option accepts a comma-separated list, or can be specified more than once.{% endif %} -| `--command` | | Recommended. Use to specify the build command or script that invokes the build process for the codebase. Commands are run from the current folder or, where it is defined, from `--source-root`. Not needed for Python and JavaScript/TypeScript analysis. | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +| `--language` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the identifier for the language to create a database for, one of: `{% data reusables.code-scanning.codeql-languages-keywords %}` (use `javascript` to analyze TypeScript code). {% ifversion fpt or ghes > 3.1 or ghae-next %}When used with `--db-cluster`, the option accepts a comma-separated list, or can be specified more than once.{% endif %} +| `--command` | | Recommended. Use to specify the build command or script that invokes the build process for the codebase. Commands are run from the current folder or, where it is defined, from `--source-root`. Not needed for Python and JavaScript/TypeScript analysis. | {% ifversion fpt or ghes > 3.1 or ghae-next %} | `--db-cluster` | | Optional. Use in multi-language codebases to generate one database for each language specified by `--language`. | `--no-run-unnecessary-builds` | | Recommended. Use to suppress the build command for languages where the {% data variables.product.prodname_codeql_cli %} does not need to monitor the build (for example, Python and JavaScript/TypeScript). {% endif %} | `--source-root` | | Optional. Use if you run the CLI outside the checkout root of the repository. By default, the `database create` command assumes that the current directory is the root directory for the source files, use this option to specify a different location. | For more information, see [Creating {% data variables.product.prodname_codeql %} databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. -### {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}Single language example{% else %}Basic example{% endif %} +### {% ifversion fpt or ghes > 3.1 or ghae-next %}Single language example{% else %}Basic example{% endif %} This example creates a {% data variables.product.prodname_codeql %} database for the repository checked out at `/checkouts/example-repo`. It uses the JavaScript extractor to create a hierarchical representation of the JavaScript and TypeScript code in the repository. The resulting database is stored in `/codeql-dbs/example-repo`. @@ -100,7 +100,7 @@ $ codeql database create /codeql-dbs/example-repo --language=javascript \ > Successfully created database at /codeql-dbs/example-repo. ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ### Multiple language example This example creates two {% data variables.product.prodname_codeql %} databases for the repository checked out at `/checkouts/example-repo-multi`. It uses: @@ -142,7 +142,7 @@ $ --output=<output> <queries> ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} {% note %} **Note:** If you analyze more than one {% data variables.product.prodname_codeql %} database for a single commit, you must specify a SARIF category for each set of results generated by this command. When you upload the results to {% data variables.product.product_name %}, {% data variables.product.prodname_code_scanning %} uses this category to store the results for each language separately. If you forget to do this, each upload overwrites the previous results. @@ -158,22 +158,22 @@ codeql database analyze <database> --format=<format> \ |--------|:--------:|-----| | `` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the path for the directory that contains the {% data variables.product.prodname_codeql %} database to analyze. | | `` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the queries to run. To run the standard queries used for {% data variables.product.prodname_code_scanning %}, use: `-code-scanning.qls` where `` is the short code for the language of the database. To see the other query suites included in the {% data variables.product.prodname_codeql_cli %} bundle, look in `//codeql/qlpacks/codeql-/codeql-suites`. For information about creating your own query suite, see [Creating CodeQL query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. -| `--format` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the format for the results file generated by the command. For upload to {% data variables.product.company_short %} this should be: {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}`sarif-latest`{% else %}`sarifv2.1.0`{% endif %}. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)." -| `--output` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify where to save the SARIF results file.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +| `--format` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the format for the results file generated by the command. For upload to {% data variables.product.company_short %} this should be: {% ifversion fpt or ghae %}`sarif-latest`{% else %}`sarifv2.1.0`{% endif %}. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)." +| `--output` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify where to save the SARIF results file.{% ifversion fpt or ghes > 3.1 or ghae-next %} | `--sarif-category` | {% octicon "question" aria-label="Required with multiple results sets" %} | Optional for single database analysis. Required to define the language when you analyze multiple databases for a single commit in a repository. Specify a category to include in the SARIF results file for this analysis. A category is used to distinguish multiple analyses for the same tool and commit, but performed on different languages or different parts of the code.|{% endif %} | `--threads` | | Optional. Use if you want to use more than one thread to run queries. The default value is `1`. You can specify more threads to speed up query execution. To set the number of threads to the number of logical processors, specify `0`. -| `--verbose` | | Optional. Use to get more detailed information about the analysis process{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} and diagnostic data from the database creation process{% endif %}. +| `--verbose` | | Optional. Use to get more detailed information about the analysis process{% ifversion fpt or ghes > 3.1 or ghae-next %} and diagnostic data from the database creation process{% endif %}. For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/) in the documentation for the {% data variables.product.prodname_codeql_cli %}. ### Basic example -This example analyzes a {% data variables.product.prodname_codeql %} database stored at `/codeql-dbs/example-repo` and saves the results as a SARIF file: `/temp/example-repo-js.sarif`. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}It uses `--sarif-category` to include extra information in the SARIF file that identifies the results as JavaScript. This is essential when you have more than one {% data variables.product.prodname_codeql %} database to analyze for a single commit in a repository.{% endif %} +This example analyzes a {% data variables.product.prodname_codeql %} database stored at `/codeql-dbs/example-repo` and saves the results as a SARIF file: `/temp/example-repo-js.sarif`. {% ifversion fpt or ghes > 3.1 or ghae-next %}It uses `--sarif-category` to include extra information in the SARIF file that identifies the results as JavaScript. This is essential when you have more than one {% data variables.product.prodname_codeql %} database to analyze for a single commit in a repository.{% endif %} ``` $ codeql database analyze /codeql-dbs/example-repo \ - javascript-code-scanning.qls {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}--sarif-category=javascript{% endif %} - --format={% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}sarif-latest{% else %}sarifv2.1.0{% endif %} --output=/temp/example-repo-js.sarif + javascript-code-scanning.qls {% ifversion fpt or ghes > 3.1 or ghae-next %}--sarif-category=javascript{% endif %} + --format={% ifversion fpt or ghae %}sarif-latest{% else %}sarifv2.1.0{% endif %} --output=/temp/example-repo-js.sarif > Running queries. > Compiling query plan for /codeql-home/codeql/qlpacks/ @@ -197,15 +197,15 @@ When you have decided on the most secure and reliable method for your CI server, ```shell echo "$UPLOAD_TOKEN" | codeql github upload-results --repository=<repository-name> \ --ref=<ref> --commit=<commit> --sarif=<file> \ - {% if currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}--github-url=<URL> {% endif %}--github-auth-stdin + {% ifversion ghes > 3.0 or ghae-next %}--github-url=<URL> {% endif %}--github-auth-stdin ``` | Option | Required | Usage | |--------|:--------:|-----| -| `--repository` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the *OWNER/NAME* of the repository to upload data to. The owner must be an organization within an enterprise that has a license for {% data variables.product.prodname_GH_advanced_security %} and {% data variables.product.prodname_GH_advanced_security %} must be enabled for the repository{% if currentVersion == "free-pro-team@latest" %}, unless the repository is public{% endif %}. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." +| `--repository` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the *OWNER/NAME* of the repository to upload data to. The owner must be an organization within an enterprise that has a license for {% data variables.product.prodname_GH_advanced_security %} and {% data variables.product.prodname_GH_advanced_security %} must be enabled for the repository{% ifversion fpt %}, unless the repository is public{% endif %}. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." | `--ref` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the name of the `ref` you checked out and analyzed so that the results can be matched to the correct code. For a branch use: `refs/heads/BRANCH-NAME`, for the head commit of a pull request use `refs/pulls/NUMBER/head`, or for the {% data variables.product.product_name %}-generated merge commit of a pull request use `refs/pulls/NUMBER/merge`. | `--commit` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the full SHA of the commit you analyzed. -| `--sarif` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the SARIF file to load.{% if currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +| `--sarif` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the SARIF file to load.{% ifversion ghes > 3.0 or ghae-next %} | `--github-url` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the URL for {% data variables.product.product_name %}.{% endif %} | `--github-auth-stdin` | | Optional. Use to pass the CLI the {% data variables.product.prodname_github_app %} or personal access token created for authentication with {% data variables.product.company_short %}'s REST API via standard input. This is not needed if the command has access to a `GITHUB_TOKEN` environment variable set with this token. @@ -218,13 +218,13 @@ This example uploads results from the SARIF file `temp/example-repo-js.sarif` to ``` $ echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-repo \ --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \ - --sarif=/temp/example-repo-js.sarif {% if currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}--github-url={% data variables.command_line.git_url_example %} \ + --sarif=/temp/example-repo-js.sarif {% ifversion ghes > 3.0 or ghae-next %}--github-url={% data variables.command_line.git_url_example %} \ {% endif %}--github-auth-stdin ``` There is no output from this command unless the upload was unsuccessful. The command prompt returns when the upload is complete and data processing has begun. On smaller codebases, you should be able to explore the {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.product_name %} shortly afterward. You can see alerts directly in the pull request or on the **Security** tab for branches, depending on the code you checked out. For more information, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)" and "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## Example CI configuration for {% data variables.product.prodname_codeql %} analysis This is an example of the series of commands that you might use to analyze a codebase with two supported languages and then upload the results to {% data variables.product.product_name %}. diff --git a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md index ca41056a84..b2542b4f50 100644 --- a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md +++ b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-runner-in-your-ci-system.md @@ -10,9 +10,9 @@ redirect_from: - /code-security/secure-coding/configuring-codeql-code-scanning-in-your-ci-system - /code-security/secure-coding/configuring-codeql-runner-in-your-ci-system versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -147,7 +147,7 @@ Initializes the {% data variables.product.prodname_codeql_runner %} and creates | Flag | Required | Input value | | ---- |:--------:| ----------- | | `--repository` | ✓ | Name of the repository to initialize. | -| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. |{% if currentVersion ver_lt "enterprise-server@3.1" %} +| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. |{% ifversion ghes < 3.1 %} | `--github-auth` | ✓ | A {% data variables.product.prodname_github_apps %} token or personal access token. |{% else %} | `--github-auth-stdin` | ✓ | Read the {% data variables.product.prodname_github_apps %} token or personal access token from standard input. |{% endif %} | `--languages` | | Comma-separated list of languages to analyze. By default, the {% data variables.product.prodname_codeql_runner %} detects and analyzes all supported languages in the repository. | @@ -182,14 +182,14 @@ Analyzes the code in the {% data variables.product.prodname_codeql %} databases | `--repository` | ✓ | Name of the repository to analyze. | | `--commit` | ✓ | SHA of the commit to analyze. In Git and in Azure DevOps, this corresponds to the value of `git rev-parse HEAD`. In Jenkins, this corresponds to `$GIT_COMMIT`. | | `--ref` | ✓ | Name of the reference to analyze, for example `refs/heads/main` or `refs/pull/42/merge`. In Git or in Jenkins, this corresponds to the value of `git symbolic-ref HEAD`. In Azure DevOps, this corresponds to `$(Build.SourceBranch)`. | -| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. |{% if currentVersion ver_lt "enterprise-server@3.1" %} +| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. |{% ifversion ghes < 3.1 %} | `--github-auth` | ✓ | A {% data variables.product.prodname_github_apps %} token or personal access token. |{% else %} | `--github-auth-stdin` | ✓ | Read the {% data variables.product.prodname_github_apps %} token or personal access token from standard input. |{% endif %} | `--checkout-path` | | The path to the checkout of your repository. The default is the current working directory. | | `--no-upload` | | None. Stops the {% data variables.product.prodname_codeql_runner %} from uploading the results to {% data variables.product.product_name %}. | | `--output-dir` | | Directory where the output SARIF files are stored. The default is in the directory of temporary files. | | `--ram` | | Amount of memory to use when running queries. The default is to use all available memory. | -| `--no-add-snippets` | | None. Excludes code snippets from the SARIF output. |{% if currentVersion == "free-pro-team@latest" %} +| `--no-add-snippets` | | None. Excludes code snippets from the SARIF output. |{% ifversion fpt %} | `--category` | | Category to include in the SARIF results file for this analysis. A category can be used to distinguish multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. This value will appear in the `.automationDetails.id` property in SARIF v2.1.0. |{% endif %} | `--threads` | | Number of threads to use when running queries. The default is to use all available cores. | | `--temp-dir` | | Directory where temporary files are stored. The default is `./codeql-runner`. | @@ -212,7 +212,7 @@ Uploads SARIF files to {% data variables.product.product_name %}. | `--repository` | ✓ | Name of the repository that was analyzed. | | `--commit` | ✓ | SHA of the commit that was analyzed. In Git and in Azure DevOps, this corresponds to the value of `git rev-parse HEAD`. In Jenkins, this corresponds to `$GIT_COMMIT`. | | `--ref` | ✓ | Name of the reference that was analyzed, for example `refs/heads/main` or `refs/pull/42/merge`. In Git or in Jenkins, this corresponds to the value of `git symbolic-ref HEAD`. In Azure DevOps, this corresponds to `$(Build.SourceBranch)`. | -| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. |{% if currentVersion ver_lt "enterprise-server@3.1" %} +| `--github-url` | ✓ | URL of the {% data variables.product.prodname_dotcom %} instance where your repository is hosted. |{% ifversion ghes < 3.1 %} | `--github-auth` | ✓ | A {% data variables.product.prodname_github_apps %} token or personal access token. |{% else %} | `--github-auth-stdin` | ✓ | Read the {% data variables.product.prodname_github_apps %} token or personal access token from standard input. |{% endif %} | `--checkout-path` | | The path to the checkout of your repository. The default is the current working directory. | diff --git a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/index.md b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/index.md index 62c26d7498..3440437046 100644 --- a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/index.md +++ b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/index.md @@ -6,9 +6,9 @@ product: '{% data reusables.gated-features.code-scanning %}' redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security diff --git a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md index 22a6c1ec23..db0f1a8206 100644 --- a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md +++ b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md @@ -5,9 +5,9 @@ intro: 'You can install the {% data variables.product.prodname_codeql_cli %} and product: '{% data reusables.gated-features.code-scanning %}' miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' - enterprise-server: '>=3.1' - github-ae: 'next' + fpt: '*' + ghes: '>=3.1' + ghae: next type: how_to topics: - Advanced Security @@ -49,7 +49,7 @@ You should always use the {% data variables.product.prodname_codeql %} bundle as You need to make the full contents of the {% data variables.product.prodname_codeql_cli %} bundle available to every CI server that you want to run CodeQL {% data variables.product.prodname_code_scanning %} analysis on. For example, you might configure each server to copy the bundle from a central, internal location and extract it. Alternatively, you could use the REST API to get the bundle directly from {% data variables.product.prodname_dotcom %}, ensuring that you benefit from the latest improvements to queries. Updates to the {% data variables.product.prodname_codeql_cli %} are released every 2-3 weeks. For example: ```shell -$ wget https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases/latest/download/codeql-bundle-linux64.tar.gz +$ wget https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases/latest/download/codeql-bundle-linux64.tar.gz $ tar -xvzf ../codeql-bundle-linux64.tar.gz ``` diff --git a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md index 28278f2858..dd2f59fe17 100644 --- a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md +++ b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system.md @@ -9,9 +9,9 @@ redirect_from: - /code-security/secure-coding/running-codeql-code-scanning-in-your-ci-system - /code-security/secure-coding/running-codeql-runner-in-your-ci-system versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security @@ -34,7 +34,7 @@ topics: The {% data variables.product.prodname_codeql_runner %} is a tool you can use to run {% data variables.product.prodname_code_scanning %} on code that you're processing in a third-party continuous integration (CI) system. {% data reusables.code-scanning.about-code-scanning %} For information, see "[About {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/about-code-scanning)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} In many cases it is easier to set up {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} using the {% data variables.product.prodname_codeql_cli %} directly in your CI system. The runner is more complex and less forgiving to set up than the CLI, and is recommended only if you need its capability to analyze multiple compiled languages with a single build, or to integrate with complex build processes. For more information, see "[About CodeQL code scanning in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)". {% endif %} @@ -45,12 +45,12 @@ The {% data variables.product.prodname_codeql_runner %} is a command-line tool t {% note %} **Note:** -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} * The {% data variables.product.prodname_codeql_runner %} uses the {% data variables.product.prodname_codeql %} CLI to analyze code and therefore has the same license conditions. It's free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." {% else %} * The {% data variables.product.prodname_codeql_runner %} is available to customers with an {% data variables.product.prodname_advanced_security %} license. {% endif %} -{% if currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %} +{% ifversion ghes < 3.1 or ghae %} * The {% data variables.product.prodname_codeql_runner %} shouldn't be confused with the {% data variables.product.prodname_codeql %} CLI. The {% data variables.product.prodname_codeql %} CLI is a command-line interface that lets you create {% data variables.product.prodname_codeql %} databases for security research and run {% data variables.product.prodname_codeql %} queries. For more information, see "[{% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/)." {% endif %} @@ -58,7 +58,7 @@ For more information, see "[{% data variables.product.prodname_codeql_cli %}](ht ## Downloading the {% data variables.product.prodname_codeql_runner %} -You can download the {% data variables.product.prodname_codeql_runner %} from https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases. On some operating systems, you may need to change permissions for the downloaded file before you can run it. +You can download the {% data variables.product.prodname_codeql_runner %} from https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases. On some operating systems, you may need to change permissions for the downloaded file before you can run it. On Linux: @@ -80,7 +80,7 @@ On Windows, the `codeql-runner-win.exe` file usually requires no change to permi Once you download the {% data variables.product.prodname_codeql_runner %} and verify that it can be executed, you should make the runner available to each CI server that you intend to use for {% data variables.product.prodname_code_scanning %}. For example, you might configure each server to copy the runner from a central, internal location. Alternatively, you could use the REST API to get the runner directly from {% data variables.product.prodname_dotcom %}, for example: ```shell -wget https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases/latest/download/codeql-runner-linux +wget https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action/releases/latest/download/codeql-runner-linux chmod +x codeql-runner-linux ``` @@ -91,7 +91,7 @@ In addition to this, each CI server also needs: The options for providing access to the {% data variables.product.prodname_codeql %} bundle are: -1. Allow the CI servers access to https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action so that the {% data variables.product.prodname_codeql_runner %} can download the bundle automatically. +1. Allow the CI servers access to https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/github/codeql-action so that the {% data variables.product.prodname_codeql_runner %} can download the bundle automatically. 1. Manually download/extract the bundle, store it with other central resources, and use the `--codeql-path` flag to specify the location of the bundle in calls to initialize the {% data variables.product.prodname_codeql_runner %}. ## Calling the {% data variables.product.prodname_codeql_runner %} @@ -119,7 +119,7 @@ In this example, the server has access to download the {% data variables.product 1. Move into the directory where the repository is checked out. 1. Initialize the {% data variables.product.prodname_codeql_runner %} and create {% data variables.product.prodname_codeql %} databases for the languages detected. -{% if currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes < 3.1 %} ```shell $ /path/to-runner/codeql-runner-linux init --repository octo-org/example-repo --github-url {% data variables.command_line.git_url_example %} --github-auth TOKEN @@ -143,7 +143,7 @@ This example is similar to the previous example, however this time the repositor 1. Check out the repository to analyze. 1. Move into the directory where the repository is checked out. 1. Initialize the {% data variables.product.prodname_codeql_runner %} and create {% data variables.product.prodname_codeql %} databases for the languages detected. -{% if currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes < 3.1 %} ```shell $ /path/to-runner/codeql-runner-linux init --repository octo-org/example-repo-2 --github-url {% data variables.command_line.git_url_example %} --github-auth TOKEN diff --git a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md index 0ad3551124..9b1b88dd6c 100644 --- a/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md +++ b/content/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-runner-in-your-ci-system.md @@ -9,9 +9,9 @@ redirect_from: - /code-security/secure-coding/troubleshooting-codeql-code-scanning-in-your-ci-system - /code-security/secure-coding/troubleshooting-codeql-runner-in-your-ci-system versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Advanced Security diff --git a/content/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md b/content/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md index 005c46e6b1..e70b1522ad 100644 --- a/content/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md +++ b/content/code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities.md @@ -1,9 +1,9 @@ --- title: About coordinated disclosure of security vulnerabilities -intro: 'Vulnerability disclosure is a coordinated effort between security reporters and repository maintainers.' +intro: Vulnerability disclosure is a coordinated effort between security reporters and repository maintainers. miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Security advisories diff --git a/content/code-security/security-advisories/about-github-security-advisories.md b/content/code-security/security-advisories/about-github-security-advisories.md index bf9411c126..8438a306c4 100644 --- a/content/code-security/security-advisories/about-github-security-advisories.md +++ b/content/code-security/security-advisories/about-github-security-advisories.md @@ -6,7 +6,7 @@ redirect_from: - /github/managing-security-vulnerabilities/about-maintainer-security-advisories - /github/managing-security-vulnerabilities/about-github-security-advisories versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Security advisories diff --git a/content/code-security/security-advisories/adding-a-collaborator-to-a-security-advisory.md b/content/code-security/security-advisories/adding-a-collaborator-to-a-security-advisory.md index 743146eee9..922e69adec 100644 --- a/content/code-security/security-advisories/adding-a-collaborator-to-a-security-advisory.md +++ b/content/code-security/security-advisories/adding-a-collaborator-to-a-security-advisory.md @@ -6,7 +6,7 @@ redirect_from: - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-maintainer-security-advisory - /github/managing-security-vulnerabilities/adding-a-collaborator-to-a-security-advisory versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Security advisories diff --git a/content/code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability.md b/content/code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability.md index 67b6c6c5a5..5f0523608e 100644 --- a/content/code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability.md +++ b/content/code-security/security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability.md @@ -5,7 +5,7 @@ redirect_from: - /articles/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability - /github/managing-security-vulnerabilities/collaborating-in-a-temporary-private-fork-to-resolve-a-security-vulnerability versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Security advisories diff --git a/content/code-security/security-advisories/creating-a-security-advisory.md b/content/code-security/security-advisories/creating-a-security-advisory.md index a2abd3df06..e3c57f6f46 100644 --- a/content/code-security/security-advisories/creating-a-security-advisory.md +++ b/content/code-security/security-advisories/creating-a-security-advisory.md @@ -6,7 +6,7 @@ redirect_from: - /github/managing-security-vulnerabilities/creating-a-maintainer-security-advisory - /github/managing-security-vulnerabilities/creating-a-security-advisory versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Security advisories diff --git a/content/code-security/security-advisories/editing-a-security-advisory.md b/content/code-security/security-advisories/editing-a-security-advisory.md index eba7c10903..f569847ea5 100644 --- a/content/code-security/security-advisories/editing-a-security-advisory.md +++ b/content/code-security/security-advisories/editing-a-security-advisory.md @@ -4,7 +4,7 @@ intro: You can edit the metadata and description for a security advisory if you redirect_from: - /github/managing-security-vulnerabilities/editing-a-security-advisory versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Security advisories diff --git a/content/code-security/security-advisories/index.md b/content/code-security/security-advisories/index.md index ba5b199dde..93447c99d5 100644 --- a/content/code-security/security-advisories/index.md +++ b/content/code-security/security-advisories/index.md @@ -6,7 +6,7 @@ redirect_from: - /articles/managing-security-vulnerabilities-in-your-project - /github/managing-security-vulnerabilities/managing-security-vulnerabilities-in-your-project versions: - free-pro-team: '*' + fpt: '*' topics: - Security advisories - Vulnerabilities diff --git a/content/code-security/security-advisories/permission-levels-for-security-advisories.md b/content/code-security/security-advisories/permission-levels-for-security-advisories.md index a28737a683..02b722acfb 100644 --- a/content/code-security/security-advisories/permission-levels-for-security-advisories.md +++ b/content/code-security/security-advisories/permission-levels-for-security-advisories.md @@ -6,7 +6,7 @@ redirect_from: - /github/managing-security-vulnerabilities/permission-levels-for-maintainer-security-advisories - /github/managing-security-vulnerabilities/permission-levels-for-security-advisories versions: - free-pro-team: '*' + fpt: '*' type: reference topics: - Security advisories diff --git a/content/code-security/security-advisories/publishing-a-security-advisory.md b/content/code-security/security-advisories/publishing-a-security-advisory.md index 212bdff663..8010fbc3bc 100644 --- a/content/code-security/security-advisories/publishing-a-security-advisory.md +++ b/content/code-security/security-advisories/publishing-a-security-advisory.md @@ -6,7 +6,7 @@ redirect_from: - /github/managing-security-vulnerabilities/publishing-a-maintainer-security-advisory - /github/managing-security-vulnerabilities/publishing-a-security-advisory versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Security advisories diff --git a/content/code-security/security-advisories/removing-a-collaborator-from-a-security-advisory.md b/content/code-security/security-advisories/removing-a-collaborator-from-a-security-advisory.md index 1a7de992c3..b1dc2603e2 100644 --- a/content/code-security/security-advisories/removing-a-collaborator-from-a-security-advisory.md +++ b/content/code-security/security-advisories/removing-a-collaborator-from-a-security-advisory.md @@ -4,7 +4,7 @@ intro: 'When you remove a collaborator from a security advisory, they lose read redirect_from: - /github/managing-security-vulnerabilities/removing-a-collaborator-from-a-security-advisory versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Security advisories diff --git a/content/code-security/security-advisories/withdrawing-a-security-advisory.md b/content/code-security/security-advisories/withdrawing-a-security-advisory.md index 7e9ba4937f..db2e5233a7 100644 --- a/content/code-security/security-advisories/withdrawing-a-security-advisory.md +++ b/content/code-security/security-advisories/withdrawing-a-security-advisory.md @@ -4,7 +4,7 @@ intro: You can withdraw a security advisory that you've published. redirect_from: - /github/managing-security-vulnerabilities/withdrawing-a-security-advisory versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Security advisories diff --git a/content/code-security/security-overview/exploring-security-alerts.md b/content/code-security/security-overview/exploring-security-alerts.md index ed78b1cfcb..6f56766128 100644 --- a/content/code-security/security-overview/exploring-security-alerts.md +++ b/content/code-security/security-overview/exploring-security-alerts.md @@ -3,8 +3,8 @@ title: Exploring security alerts intro: 'You can view, filter, and sort security alerts for repositories owned by your organization or team in one place.' product: '{% data reusables.gated-features.security-center %}' versions: - free-pro-team: '*' - github-ae: 'next' + fpt: '*' + ghae: next type: how_to topics: - Security overview diff --git a/content/code-security/security-overview/index.md b/content/code-security/security-overview/index.md index 121d861380..b20a70f5c3 100644 --- a/content/code-security/security-overview/index.md +++ b/content/code-security/security-overview/index.md @@ -4,8 +4,8 @@ shortTitle: Security overview intro: 'View, sort, and filter the security alerts from across your organization in one place.' product: '{% data reusables.gated-features.security-center %}' versions: - free-pro-team: '*' - github-ae: 'next' + fpt: '*' + ghae: next topics: - Security overview - Advanced Security diff --git a/content/code-security/supply-chain-security/index.md b/content/code-security/supply-chain-security/index.md index 26f02658df..35d491cbc0 100644 --- a/content/code-security/supply-chain-security/index.md +++ b/content/code-security/supply-chain-security/index.md @@ -6,8 +6,8 @@ redirect_from: - /categories/managing-security-vulnerabilities - /github/managing-security-vulnerabilities versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' topics: - Dependabot - Dependencies diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates.md index cc2f336ab3..8cb4f21934 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates.md @@ -8,7 +8,7 @@ redirect_from: - /github/administering-a-repository/about-dependabot-version-updates - /code-security/supply-chain-security/about-dependabot-version-updates versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Dependabot diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md index 26b7a72de1..b13c446680 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates.md @@ -7,7 +7,7 @@ redirect_from: - /code-security/supply-chain-security/configuration-options-for-dependency-updates miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' type: reference topics: - Dependabot diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates.md index 3db6428871..1c7e8ebb15 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates.md @@ -6,7 +6,7 @@ redirect_from: - /github/administering-a-repository/customizing-dependency-updates - /code-security/supply-chain-security/customizing-dependency-updates versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Dependabot diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates.md index 0bd1e86b3c..2bcf46f3d3 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates.md @@ -6,7 +6,7 @@ redirect_from: - /github/administering-a-repository/enabling-and-disabling-version-updates - /code-security/supply-chain-security/enabling-and-disabling-version-updates versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Dependabot diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/index.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/index.md index 0d9fda6298..acef6b9389 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/index.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/index.md @@ -4,7 +4,7 @@ intro: '{% data variables.product.prodname_dependabot %} can maintain your repos redirect_from: - /github/administering-a-repository/keeping-your-dependencies-updated-automatically versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories - Dependabot diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot.md index b78fb5d1fa..00797233ff 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot.md @@ -6,7 +6,7 @@ redirect_from: - /github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot - /code-security/supply-chain-security/keeping-your-actions-up-to-date-with-dependabot versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Repositories diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates.md index 55177a5c35..67378e1baa 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates.md @@ -5,7 +5,7 @@ redirect_from: - /github/administering-a-repository/listing-dependencies-configured-for-version-updates - /code-security/supply-chain-security/listing-dependencies-configured-for-version-updates versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Repositories diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md index 07e3dfe2f5..f5c5a6e56b 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot.md @@ -5,7 +5,7 @@ redirect_from: - /github/administering-a-repository/managing-encrypted-secrets-for-dependabot - /code-security/supply-chain-security/managing-encrypted-secrets-for-dependabot versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Dependabot diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates.md index 268c34c5b8..1ac0a3dadd 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates.md @@ -5,7 +5,7 @@ redirect_from: - /github/administering-a-repository/managing-pull-requests-for-dependency-updates - /code-security/supply-chain-security/managing-pull-requests-for-dependency-updates versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Repositories diff --git a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/upgrading-from-dependabotcom-to-github-native-dependabot.md b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/upgrading-from-dependabotcom-to-github-native-dependabot.md index 364b2bc79c..49a998040b 100644 --- a/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/upgrading-from-dependabotcom-to-github-native-dependabot.md +++ b/content/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/upgrading-from-dependabotcom-to-github-native-dependabot.md @@ -2,7 +2,7 @@ title: Upgrading from Dependabot.com to GitHub-native Dependabot intro: You can upgrade to GitHub-native Dependabot by merging a pull request that will allow your dependencies to continue being updated. versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Repositories diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md index 58b1aae515..fb0cb83cad 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md @@ -7,8 +7,8 @@ redirect_from: - /github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies - /code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' type: overview topics: - Dependabot @@ -30,10 +30,10 @@ When your code depends on a package that has a security vulnerability, this vuln {% data variables.product.prodname_dependabot %} detects vulnerable dependencies and sends {% data variables.product.prodname_dependabot_alerts %} when: -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - A new vulnerability is added to the {% data variables.product.prodname_advisory_database %}. For more information, see "[Browsing security vulnerabilities in the {% data variables.product.prodname_advisory_database %}](/github/managing-security-vulnerabilities/browsing-security-vulnerabilities-in-the-github-advisory-database)" and "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)."{% else %} - New advisory data is synchronized to {% data variables.product.prodname_ghe_server %} each hour from {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.security-advisory.link-browsing-advisory-db %}{% endif %} -- The dependency graph for a repository changes. For example, when a contributor pushes a commit to change the packages or versions it depends on{% if currentVersion == "free-pro-team@latest" %}, or when the code of one of the dependencies changes{% endif %}. For more information, see "[About the dependency graph](/code-security/supply-chain-security/about-the-dependency-graph)." +- The dependency graph for a repository changes. For example, when a contributor pushes a commit to change the packages or versions it depends on{% ifversion fpt %}, or when the code of one of the dependencies changes{% endif %}. For more information, see "[About the dependency graph](/code-security/supply-chain-security/about-the-dependency-graph)." {% data reusables.repositories.dependency-review %} @@ -49,7 +49,7 @@ For a list of the ecosystems that {% data variables.product.product_name %} can {% data reusables.repositories.enable-security-alerts %} -{% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_dotcom %} detects vulnerable dependencies in _public_ repositories and generates {% data variables.product.prodname_dependabot_alerts %} by default. Owners of private repositories, or people with admin access, can enable {% data variables.product.prodname_dependabot_alerts %} by enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} for their repositories. +{% ifversion fpt %}{% data variables.product.prodname_dotcom %} detects vulnerable dependencies in _public_ repositories and generates {% data variables.product.prodname_dependabot_alerts %} by default. Owners of private repositories, or people with admin access, can enable {% data variables.product.prodname_dependabot_alerts %} by enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} for their repositories. You can also enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories owned by your user account or organization. For more information, see "[Managing security and analysis settings for your user account](/github/setting-up-and-managing-your-github-user-account/managing-security-and-analysis-settings-for-your-user-account)" or "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." @@ -60,7 +60,7 @@ For information about permission requirements for actions related to {% data var When {% data variables.product.product_name %} identifies a vulnerable dependency, we generate a {% data variables.product.prodname_dependabot %} alert and display it on the Security tab for the repository. The alert includes a link to the affected file in the project, and information about a fixed version. {% data variables.product.product_name %} also notifies the maintainers of affected repositories about the new alert according to their notification preferences. For more information, see "[Configuring notifications for vulnerable dependencies](/code-security/supply-chain-security/configuring-notifications-for-vulnerable-dependencies)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} For repositories where {% data variables.product.prodname_dependabot_security_updates %} are enabled, the alert may also contain a link to a pull request to update the manifest or lock file to the minimum version that resolves the vulnerability. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)." {% endif %} @@ -72,16 +72,16 @@ For repositories where {% data variables.product.prodname_dependabot_security_up ## Access to {% data variables.product.prodname_dependabot %} alerts -You can see all of the alerts that affect a particular project{% if currentVersion == "free-pro-team@latest" %} on the repository's Security tab or{% endif %} in the repository's dependency graph. For more information, see "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)." +You can see all of the alerts that affect a particular project{% ifversion fpt %} on the repository's Security tab or{% endif %} in the repository's dependency graph. For more information, see "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)." -By default, we notify people with admin permissions in the affected repositories about new {% data variables.product.prodname_dependabot_alerts %}. {% if currentVersion == "free-pro-team@latest" %}{% data variables.product.product_name %} never publicly discloses identified vulnerabilities for any repository. You can also make {% data variables.product.prodname_dependabot_alerts %} visible to additional people or teams working repositories that you own or have admin permissions for. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." +By default, we notify people with admin permissions in the affected repositories about new {% data variables.product.prodname_dependabot_alerts %}. {% ifversion fpt %}{% data variables.product.product_name %} never publicly discloses identified vulnerabilities for any repository. You can also make {% data variables.product.prodname_dependabot_alerts %} visible to additional people or teams working repositories that you own or have admin permissions for. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." {% endif %} {% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %} For more information, see "[Configuring notifications for vulnerable dependencies](/code-security/supply-chain-security/configuring-notifications-for-vulnerable-dependencies)." You can also see all the {% data variables.product.prodname_dependabot_alerts %} that correspond to a particular vulnerability in the {% data variables.product.prodname_advisory_database %}. {% data reusables.security-advisory.link-browsing-advisory-db %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading - "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)" diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates.md index b79900e55f..19773c195a 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates.md @@ -7,7 +7,7 @@ redirect_from: - /github/managing-security-vulnerabilities/about-dependabot-security-updates - /code-security/supply-chain-security/about-dependabot-security-updates versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Dependabot diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-managing-vulnerable-dependencies.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-managing-vulnerable-dependencies.md index 468cac26e8..2bf111e923 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-managing-vulnerable-dependencies.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-managing-vulnerable-dependencies.md @@ -5,7 +5,7 @@ redirect_from: - /github/managing-security-vulnerabilities/about-managing-vulnerable-dependencies - /code-security/supply-chain-security/about-managing-vulnerable-dependencies versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Dependabot diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database.md index cdcacc0963..f0f5102312 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/browsing-security-vulnerabilities-in-the-github-advisory-database.md @@ -6,7 +6,7 @@ redirect_from: - /github/managing-security-vulnerabilities/browsing-security-vulnerabilities-in-the-github-advisory-database - /code-security/supply-chain-security/browsing-security-vulnerabilities-in-the-github-advisory-database versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Security advisories diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates.md index f8f5edd7d8..c055ced8db 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates.md @@ -10,7 +10,7 @@ redirect_from: - /github/managing-security-vulnerabilities/configuring-dependabot-security-updates - /code-security/supply-chain-security/configuring-dependabot-security-updates versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Dependabot diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md index 09f4f1b126..96f13d3628 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md @@ -6,8 +6,8 @@ redirect_from: - /github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies - /code-security/supply-chain-security/configuring-notifications-for-vulnerable-dependencies versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' type: how_to topics: - Dependabot @@ -21,16 +21,16 @@ topics: ## About notifications for vulnerable dependencies -When {% data variables.product.prodname_dependabot %} detects vulnerable dependencies in your repositories, we generate a {% data variables.product.prodname_dependabot %} alert and display it on the Security tab for the repository. {% data variables.product.product_name %} notifies the maintainers of affected repositories about the new alert according to their notification preferences.{% if currentVersion == "free-pro-team@latest" %} {% data variables.product.prodname_dependabot %} is enabled by default on all public repositories. For {% data variables.product.prodname_dependabot_alerts %}, by default, you will receive {% data variables.product.prodname_dependabot_alerts %} by email, grouped by the specific vulnerability. +When {% data variables.product.prodname_dependabot %} detects vulnerable dependencies in your repositories, we generate a {% data variables.product.prodname_dependabot %} alert and display it on the Security tab for the repository. {% data variables.product.product_name %} notifies the maintainers of affected repositories about the new alert according to their notification preferences.{% ifversion fpt %} {% data variables.product.prodname_dependabot %} is enabled by default on all public repositories. For {% data variables.product.prodname_dependabot_alerts %}, by default, you will receive {% data variables.product.prodname_dependabot_alerts %} by email, grouped by the specific vulnerability. {% endif %} -{% if currentVersion == "free-pro-team@latest" %}If you're an organization owner, you can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories in your organization with one click. You can also set whether the detection of vulnerable dependencies will be enabled or disabled for newly-created repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-new-repositories-when-they-are-added)." +{% ifversion fpt %}If you're an organization owner, you can enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories in your organization with one click. You can also set whether the detection of vulnerable dependencies will be enabled or disabled for newly-created repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization#enabling-or-disabling-a-feature-for-all-new-repositories-when-they-are-added)." {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.20" %} +{% ifversion ghes %} By default, if your site administrator has configured email for notifications on your enterprise, you will receive {% data variables.product.prodname_dependabot_alerts %} by email.{% endif %} -{% if currentVersion ver_gt "enterprise-server@2.21" %}Site administrators can also enable {% data variables.product.prodname_dependabot_alerts %} without notifications. For more information, see "[Enabling {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} +{% ifversion ghes > 2.21 %}Site administrators can also enable {% data variables.product.prodname_dependabot_alerts %} without notifications. For more information, see "[Enabling {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} ## Configuring notifications for {% data variables.product.prodname_dependabot_alerts %} diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/index.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/index.md index d1ebfc41d2..66fe57a92c 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/index.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/index.md @@ -1,6 +1,6 @@ --- title: Managing vulnerabilities in your project's dependencies -intro: 'You can track your repository''s dependencies and receive {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} when {% data variables.product.product_name %} detects vulnerable dependencies.' +intro: 'You can track your repository''s dependencies and receive {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} when {% data variables.product.product_name %} detects vulnerable dependencies.' redirect_from: - /articles/updating-your-project-s-dependencies/ - /articles/updating-your-projects-dependencies/ @@ -8,8 +8,8 @@ redirect_from: - /articles/managing-vulnerabilities-in-your-projects-dependencies - /github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' topics: - Repositories - Dependabot diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors.md index 1330a7cd4f..37d8c80d0d 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors.md @@ -7,7 +7,7 @@ redirect_from: - /github/managing-security-vulnerabilities/troubleshooting-dependabot-errors - /code-security/supply-chain-security/troubleshooting-dependabot-errors versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Dependabot diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies.md index a1d456e3ac..ed8ca457f7 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies.md @@ -6,8 +6,8 @@ redirect_from: - /github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies - /code-security/supply-chain-security/troubleshooting-the-detection-of-vulnerable-dependencies versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' type: how_to topics: - Dependabot @@ -31,15 +31,15 @@ The results of dependency detection reported by {% data variables.product.produc * {% data variables.product.prodname_advisory_database %} is one of the data sources that {% data variables.product.prodname_dotcom %} uses to identify vulnerable dependencies. It's a free, curated database of vulnerability information for common package ecosystems on {% data variables.product.prodname_dotcom %}. It includes both data reported directly to {% data variables.product.prodname_dotcom %} from {% data variables.product.prodname_security_advisories %}, as well as official feeds and community sources. This data is reviewed and curated by {% data variables.product.prodname_dotcom %} to ensure that false or unactionable information is not shared with the development community. {% data reusables.security-advisory.link-browsing-advisory-db %} * The dependency graph parses all known package manifest files in a user’s repository. For example, for npm it will parse the _package-lock.json_ file. It constructs a graph of all of the repository’s dependencies and public dependents. This happens when you enable the dependency graph and when anyone pushes to the default branch, and it includes commits that makes changes to a supported manifest format. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." * {% data variables.product.prodname_dependabot %} scans any push, to the default branch, that contains a manifest file. When a new vulnerability record is added, it scans all existing repositories and generates an alert for each vulnerable repository. {% data variables.product.prodname_dependabot_alerts %} are aggregated at the repository level, rather than creating one alert per vulnerability. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)." -* {% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_dependabot_security_updates %} are triggered when you receive an alert about a vulnerable dependency in your repository. Where possible, {% data variables.product.prodname_dependabot %} creates a pull request in your repository to upgrade the vulnerable dependency to the minimum possible secure version needed to avoid the vulnerability. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)." +* {% ifversion fpt %}{% data variables.product.prodname_dependabot_security_updates %} are triggered when you receive an alert about a vulnerable dependency in your repository. Where possible, {% data variables.product.prodname_dependabot %} creates a pull request in your repository to upgrade the vulnerable dependency to the minimum possible secure version needed to avoid the vulnerability. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)." - {% endif %}{% data variables.product.prodname_dependabot %} doesn't scan repositories for vulnerable dependencies on a schedule, but rather when something changes. For example, a scan is triggered when a new dependency is added ({% data variables.product.prodname_dotcom %} checks for this on every push), or when a new vulnerability is added to the advisory database{% if currentVersion ver_gt "enterprise-server@2.22" %} and synchronized to {% data variables.product.prodname_ghe_server %}{% endif %}. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies#detection-of-vulnerable-dependencies)." + {% endif %}{% data variables.product.prodname_dependabot %} doesn't scan repositories for vulnerable dependencies on a schedule, but rather when something changes. For example, a scan is triggered when a new dependency is added ({% data variables.product.prodname_dotcom %} checks for this on every push), or when a new vulnerability is added to the advisory database{% ifversion ghes > 2.22 %} and synchronized to {% data variables.product.prodname_ghe_server %}{% endif %}. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies#detection-of-vulnerable-dependencies)." ## Why don't I get vulnerability alerts for some ecosystems? -{% data variables.product.prodname_dotcom %} limits its support for vulnerability alerts to a set of ecosystems where we can provide high-quality, actionable data. Curated vulnerabilities in the {% data variables.product.prodname_advisory_database %}, the dependency graph, {% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_dependabot %} security updates, {% endif %}and {% data variables.product.prodname_dependabot %} alerts are provided for several ecosystems, including Java’s Maven, JavaScript’s npm and Yarn, .NET’s NuGet, Python’s pip, Ruby's RubyGems, and PHP’s Composer. We'll continue to add support for more ecosystems over time. For an overview of the package ecosystems that we support, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)." +{% data variables.product.prodname_dotcom %} limits its support for vulnerability alerts to a set of ecosystems where we can provide high-quality, actionable data. Curated vulnerabilities in the {% data variables.product.prodname_advisory_database %}, the dependency graph, {% ifversion fpt %}{% data variables.product.prodname_dependabot %} security updates, {% endif %}and {% data variables.product.prodname_dependabot %} alerts are provided for several ecosystems, including Java’s Maven, JavaScript’s npm and Yarn, .NET’s NuGet, Python’s pip, Ruby's RubyGems, and PHP’s Composer. We'll continue to add support for more ecosystems over time. For an overview of the package ecosystems that we support, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)." -It's worth noting that {% data variables.product.prodname_dotcom %} Security Advisories may exist for other ecosystems. The information in a security advisory is provided by the maintainers of a particular repository. This data is not curated in the same way as information for the supported ecosystems. {% if currentVersion == "free-pro-team@latest" %}For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)."{% endif %} +It's worth noting that {% data variables.product.prodname_dotcom %} Security Advisories may exist for other ecosystems. The information in a security advisory is provided by the maintainers of a particular repository. This data is not curated in the same way as information for the supported ecosystems. {% ifversion fpt %}For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)."{% endif %} **Check**: Does the uncaught vulnerability apply to an unsupported ecosystem? @@ -47,7 +47,7 @@ It's worth noting that {% data variables.product.prodname_dotcom %} Security Adv The dependency graph includes information on dependencies that are explicitly declared in your environment. That is, dependencies that are specified in a manifest or a lockfile. The dependency graph generally also includes transitive dependencies, even when they aren't specified in a lockfile, by looking at the dependencies of the dependencies in a manifest file. -{% data variables.product.prodname_dependabot_alerts %} advise you about dependencies you should update, including transitive dependencies, where the version can be determined from a manifest or a lockfile. {% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_dependabot_security_updates %} only suggest a change where {% data variables.product.prodname_dependabot %} can directly "fix" the dependency, that is, when these are: +{% data variables.product.prodname_dependabot_alerts %} advise you about dependencies you should update, including transitive dependencies, where the version can be determined from a manifest or a lockfile. {% ifversion fpt %}{% data variables.product.prodname_dependabot_security_updates %} only suggest a change where {% data variables.product.prodname_dependabot %} can directly "fix" the dependency, that is, when these are: * Direct dependencies explicitly declared in a manifest or lockfile * Transitive dependencies declared in a lockfile{% endif %} @@ -95,7 +95,7 @@ Some third-party tools use uncurated CVE data that isn't checked or filtered by Since {% data variables.product.prodname_dependabot %} uses curated data in the {% data variables.product.prodname_advisory_database %}, the volume of alerts may be lower, but the alerts you do receive will be accurate and relevant. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Does each dependency vulnerability generate a separate alert? When a dependency has multiple vulnerabilities, only one aggregated alert is generated for that dependency, instead of one alert per vulnerability. @@ -115,5 +115,5 @@ When you click to display the alert details, you can see how many vulnerabilitie - "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)" - "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)" -- "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)"{% if currentVersion == "free-pro-team@latest" %} +- "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)"{% ifversion fpt %} - "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)"{% endif %} diff --git a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository.md b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository.md index b86485074b..73b600b2ed 100644 --- a/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository.md +++ b/content/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository.md @@ -8,8 +8,8 @@ redirect_from: permissions: Repository administrators and organization owners can view and update dependencies. shortTitle: Viewing and updating vulnerable dependencies versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' type: how_to topics: - Dependabot @@ -19,9 +19,9 @@ topics: - Pull requests - Repositories --- -Your repository's {% data variables.product.prodname_dependabot %} alerts tab lists all open and closed {% data variables.product.prodname_dependabot_alerts %}{% if currentVersion == "free-pro-team@latest" %} and corresponding {% data variables.product.prodname_dependabot_security_updates %}{% endif %}. You can sort the list of alerts using the drop-down menu, and you can click into specific alerts for more details. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)." +Your repository's {% data variables.product.prodname_dependabot %} alerts tab lists all open and closed {% data variables.product.prodname_dependabot_alerts %}{% ifversion fpt %} and corresponding {% data variables.product.prodname_dependabot_security_updates %}{% endif %}. You can sort the list of alerts using the drop-down menu, and you can click into specific alerts for more details. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can enable automatic security updates for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)." {% data reusables.repositories.dependency-review %} @@ -33,7 +33,7 @@ You can enable automatic security updates for any repository that uses {% data v ## Viewing and updating vulnerable dependencies -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-dependabot-alerts %} @@ -46,7 +46,7 @@ You can enable automatic security updates for any repository that uses {% data v 1. Optionally, if the alert is being fixed, if it's incorrect, or located in unused code, use the "Dismiss" drop-down, and click a reason for dismissing the alert. ![Choosing reason for dismissing the alert via the "Dismiss" drop-down](/assets/images/help/repository/dependabot-alert-dismiss-drop-down.png) -{% elsif currentVersion ver_gt "enterprise-server@3.0" %} +{% elsif ghes > 3.0 %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} {% data reusables.repositories.sidebar-dependabot-alerts %} @@ -69,8 +69,8 @@ You can enable automatic security updates for any repository that uses {% data v ## Further reading -- "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)"{% if currentVersion == "free-pro-team@latest" %} +- "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)"{% ifversion fpt %} - "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)"{% endif %} - "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" -- "[Troubleshooting the detection of vulnerable dependencies](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)"{% if currentVersion == "free-pro-team@latest" %} +- "[Troubleshooting the detection of vulnerable dependencies](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)"{% ifversion fpt %} - "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)"{% endif %} diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review.md index 9bfe6f0355..ebb61d3a9d 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review.md @@ -2,7 +2,7 @@ title: About dependency review intro: 'Dependency review lets you catch vulnerable dependencies before you introduce them to your environment, and provides information on license, dependents, and age of dependencies.' versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Advanced Security diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md index 75ca8badb2..ec4b122964 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph.md @@ -5,8 +5,8 @@ redirect_from: - /github/visualizing-repository-data-with-graphs/about-the-dependency-graph - /code-security/supply-chain-security/about-the-dependency-graph versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' type: overview topics: - Dependency graph @@ -18,20 +18,20 @@ topics: ## Dependency graph availability -The dependency graph is available for every{% if currentVersion == "free-pro-team@latest" %} public{% endif %} repository that defines dependencies in a supported package ecosystem using a supported file format.{% if currentVersion == "free-pro-team@latest" %} Repository administrators can also set up the dependency graph for private repositories.{% endif %} +The dependency graph is available for every{% ifversion fpt %} public{% endif %} repository that defines dependencies in a supported package ecosystem using a supported file format.{% ifversion fpt %} Repository administrators can also set up the dependency graph for private repositories.{% endif %} {% data reusables.repositories.enable-security-alerts %} ## About the dependency graph -The dependency graph is a summary of the manifest and lock files stored in a repository. For each repository, it shows{% if currentVersion == "free-pro-team@latest" %}: +The dependency graph is a summary of the manifest and lock files stored in a repository. For each repository, it shows{% ifversion fpt %}: - Dependencies, the ecosystems and packages it depends on - Dependents, the repositories and packages that depend on it{% else %} dependencies, that is, the ecosystems and packages it depends on. {% data variables.product.prodname_ghe_server %} does not calculate information about dependents, the repositories and packages that depend on a repository.{% endif %} -When you push a commit to {% data variables.product.product_name %} that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated.{% if currentVersion == "free-pro-team@latest" %} In addition, the graph is updated when anyone pushes a change to the repository of one of your dependencies.{% endif %} For information on the supported ecosystems and manifest files, see "[Supported package ecosystems](#supported-package-ecosystems)" below. +When you push a commit to {% data variables.product.product_name %} that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated.{% ifversion fpt %} In addition, the graph is updated when anyone pushes a change to the repository of one of your dependencies.{% endif %} For information on the supported ecosystems and manifest files, see "[Supported package ecosystems](#supported-package-ecosystems)" below. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} When you create a pull request containing changes to dependencies that targets the default branch, {% data variables.product.prodname_dotcom %} uses the dependency graph to add dependency reviews to the pull request. These indicate whether the dependencies contain vulnerabilities and, if so, the version of the dependency in which the vulnerability was fixed. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." {% endif %} @@ -42,9 +42,9 @@ The dependency graph includes all the dependencies of a repository that are deta - Direct dependencies, that are explicitly defined in a manifest or lock file - Indirect dependencies of these direct dependencies, also known as transitive dependencies or sub-dependencies -The dependency graph identifies indirect dependencies{% if currentVersion == "free-pro-team@latest" %} either explicitly from a lock file or by checking the dependencies of your direct dependencies. For the most reliable graph, you should use lock files (or their equivalent) because they define exactly which versions of the direct and indirect dependencies you currently use. If you use lock files, you also ensure that all contributors to the repository are using the same versions, which will make it easier for you to test and debug code{% else %} from the lock files{% endif %}. +The dependency graph identifies indirect dependencies{% ifversion fpt %} either explicitly from a lock file or by checking the dependencies of your direct dependencies. For the most reliable graph, you should use lock files (or their equivalent) because they define exactly which versions of the direct and indirect dependencies you currently use. If you use lock files, you also ensure that all contributors to the repository are using the same versions, which will make it easier for you to test and debug code{% else %} from the lock files{% endif %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Dependents included For public repositories, only public repositories that depend on it or on packages that it publishes are reported. This information is not reported for private repositories.{% endif %} @@ -53,22 +53,22 @@ For public repositories, only public repositories that depend on it or on packag You can use the dependency graph to: -- Explore the repositories your code depends on{% if currentVersion == "free-pro-team@latest" %}, and those that depend on it{% endif %}. For more information, see "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)." {% if currentVersion == "free-pro-team@latest" %} +- Explore the repositories your code depends on{% ifversion fpt %}, and those that depend on it{% endif %}. For more information, see "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)." {% ifversion fpt %} - View a summary of the dependencies used in your organization's repositories in a single dashboard. For more information, see "[Viewing insights for your organization](/articles/viewing-insights-for-your-organization#viewing-organization-dependency-insights)."{% endif %} -- View and update vulnerable dependencies for your repository. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."{% if currentVersion == "free-pro-team@latest" %} +- View and update vulnerable dependencies for your repository. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."{% ifversion fpt %} - See information about vulnerable dependencies in pull requests. For more information, see "[Reviewing dependency changes in a pull request](/github/collaborating-with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request)."{% endif %} ## Enabling the dependency graph -{% if currentVersion == "free-pro-team@latest" %}To generate a dependency graph, {% data variables.product.product_name %} needs read-only access to the dependency manifest and lock files for a repository. The dependency graph is automatically generated for all public repositories and you can choose to enable it for private repositories. For information about enabling or disabling it for private repositories, see "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)."{% endif %} +{% ifversion fpt %}To generate a dependency graph, {% data variables.product.product_name %} needs read-only access to the dependency manifest and lock files for a repository. The dependency graph is automatically generated for all public repositories and you can choose to enable it for private repositories. For information about enabling or disabling it for private repositories, see "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)."{% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %}If the dependency graph is not available in your system, your site administrator can enable the dependency graph and {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} +{% ifversion ghes > 2.21 %}If the dependency graph is not available in your system, your site administrator can enable the dependency graph and {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} -When the dependency graph is first enabled, any manifest and lock files for supported ecosystems are parsed immediately. The graph is usually populated within minutes but this may take longer for repositories with many dependencies. Once enabled, the graph is automatically updated with every push to the repository{% if currentVersion == "free-pro-team@latest" %} and every push to other repositories in the graph{% endif %}. +When the dependency graph is first enabled, any manifest and lock files for supported ecosystems are parsed immediately. The graph is usually populated within minutes but this may take longer for repositories with many dependencies. Once enabled, the graph is automatically updated with every push to the repository{% ifversion fpt %} and every push to other repositories in the graph{% endif %}. ## Supported package ecosystems -The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.{% if currentVersion == "free-pro-team@latest" %} Indirect dependencies that are inferred from a manifest file (or equivalent) are excluded from the checks for vulnerable dependencies.{% endif %} +The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.{% ifversion fpt %} Indirect dependencies that are inferred from a manifest file (or equivalent) are excluded from the checks for vulnerable dependencies.{% endif %} | Package manager | Languages | Recommended formats | All supported formats | | --- | --- | --- | ---| @@ -89,7 +89,7 @@ The recommended formats explicitly define which versions are used for all direct ## Further reading - "[Dependency graph](https://en.wikipedia.org/wiki/Dependency_graph)" on Wikipedia -- "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)"{% if currentVersion == "free-pro-team@latest" %} +- "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository)"{% ifversion fpt %} - "[Viewing insights for your organization](/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization)"{% endif %} - "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)" - "[Troubleshooting the detection of vulnerable dependencies](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)" diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md index d1968966d9..7bb3d7d694 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository.md @@ -1,6 +1,6 @@ --- title: Exploring the dependencies of a repository -intro: 'You can use the dependency graph to see the packages your project depends on{% if currentVersion == "free-pro-team@latest" %} and the repositories that depend on it{% endif %}. In addition, you can see any vulnerabilities detected in its dependencies.' +intro: 'You can use the dependency graph to see the packages your project depends on{% ifversion fpt %} and the repositories that depend on it{% endif %}. In addition, you can see any vulnerabilities detected in its dependencies.' redirect_from: - /articles/listing-the-packages-that-a-repository-depends-on - /github/visualizing-repository-data-with-graphs/listing-the-packages-that-a-repository-depends-on @@ -10,8 +10,8 @@ redirect_from: - /github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository - /code-security/supply-chain-security/exploring-the-dependencies-of-a-repository versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' type: how_to topics: - Dependency graph @@ -24,17 +24,17 @@ topics: {% data reusables.repositories.enable-security-alerts %} -The dependency graph shows the dependencies{% if currentVersion == "free-pro-team@latest" %} and dependents{% endif %} of your repository. For information about the detection of dependencies and which ecosystems are supported, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." +The dependency graph shows the dependencies{% ifversion fpt %} and dependents{% endif %} of your repository. For information about the detection of dependencies and which ecosystems are supported, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.accessing-repository-graphs %} -{% data reusables.repositories.click-dependency-graph %}{% if currentVersion == "free-pro-team@latest" %} +{% data reusables.repositories.click-dependency-graph %}{% ifversion fpt %} 4. Optionally, under "Dependency graph", click **Dependents**. ![Dependents tab on the dependency graph page](/assets/images/help/graphs/dependency-graph-dependents-tab.png){% endif %} ### Dependencies view -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Dependencies are grouped by ecosystem. You can expand a dependency to view its dependencies. For dependencies on public repositories hosted on {% data variables.product.product_name %}, you can also click a dependency to view the repository. Dependencies on private repositories, private packages, or unrecognized files are shown in plain text. If vulnerabilities have been detected in the repository, these are shown at the top of the view for users with access to {% data variables.product.prodname_dependabot_alerts %}. @@ -43,7 +43,7 @@ If vulnerabilities have been detected in the repository, these are shown at the {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} Any direct and indirect dependencies that are specified in the repository's manifest or lock files are listed, grouped by ecosystem. If vulnerabilities have been detected in the repository, these are shown at the top of the view for users with access to {% data variables.product.prodname_dependabot_alerts %}. ![Dependencies graph](/assets/images/help/graphs/dependencies_graph_server.png) @@ -56,7 +56,7 @@ Any direct and indirect dependencies that are specified in the repository's mani {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Dependents view For public repositories, the dependents view shows how the repository is used by other repositories. To show only the repositories that contain a library in a package manager, click **NUMBER Packages** immediately above the list of dependent repositories. The dependent counts are approximate and may not always match the dependents listed. @@ -101,7 +101,7 @@ The "Used by" section represents a single package from the repository. If you ha If your dependency graph is empty, there may be a problem with the file containing your dependencies. Check the file to ensure that it's correctly formatted for the file type. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If the file is correctly formatted, then check its size. The dependency graph ignores individual manifest and lock files that are over 0.5 Mb, unless you are a {% data variables.product.prodname_enterprise %} user. It processes up to 20 manifest or lock files per repository by default, so you can split dependencies into smaller files in subdirectories of the repository.{% endif %} If a manifest or lock file is not processed, its dependencies are omitted from the dependency graph and they can't be checked for vulnerable dependencies. @@ -109,7 +109,7 @@ If a manifest or lock file is not processed, its dependencies are omitted from t ## Further reading - "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)" -- "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)"{% if currentVersion == "free-pro-team@latest" %} +- "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)"{% ifversion fpt %} - "[Viewing insights for your organization](/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization)" - "[Understanding how {% data variables.product.product_name %} uses and protects your data](/github/understanding-how-github-uses-and-protects-your-data)" {% endif %} diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md index ba14e2dac5..7131cdce4a 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/index.md @@ -1,8 +1,8 @@ --- title: Understanding your software supply chain versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' topics: - Dependency graph - Dependencies diff --git a/content/codespaces/about-codespaces.md b/content/codespaces/about-codespaces.md index d710040aeb..6140206281 100644 --- a/content/codespaces/about-codespaces.md +++ b/content/codespaces/about-codespaces.md @@ -6,7 +6,7 @@ redirect_from: - /github/developing-online-with-codespaces/about-codespaces - /codespaces/getting-started-with-codespaces/about-codespaces versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Codespaces diff --git a/content/codespaces/codespaces-reference/about-billing-for-codespaces.md b/content/codespaces/codespaces-reference/about-billing-for-codespaces.md index 8f326e87b4..23301025a5 100644 --- a/content/codespaces/codespaces-reference/about-billing-for-codespaces.md +++ b/content/codespaces/codespaces-reference/about-billing-for-codespaces.md @@ -2,11 +2,11 @@ title: About billing for Codespaces intro: 'When {% data variables.product.prodname_codespaces %} becomes generally available, you will be billed for storage and compute usage.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /github/developing-online-with-codespaces/about-billing-for-codespaces - /codespaces/getting-started-with-codespaces/about-billing-for-codespaces -type: reference +type: reference topics: - Codespaces --- diff --git a/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md b/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md index 75be9e6f73..b54056489f 100644 --- a/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md +++ b/content/codespaces/codespaces-reference/allowing-your-codespace-to-access-a-private-image-registry.md @@ -2,7 +2,7 @@ title: Allowing your codespace to access a private image registry intro: 'You can use secrets to allow {% data variables.product.prodname_codespaces %} to access a private image registry' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces --- diff --git a/content/codespaces/codespaces-reference/index.md b/content/codespaces/codespaces-reference/index.md index 1c4e188306..b45992af33 100644 --- a/content/codespaces/codespaces-reference/index.md +++ b/content/codespaces/codespaces-reference/index.md @@ -2,7 +2,7 @@ title: Reference intro: 'This section contains references that will allow you to be successful with {% data variables.product.prodname_codespaces %}' versions: - free-pro-team: '*' + fpt: '*' children: - /about-billing-for-codespaces - /troubleshooting-your-codespace diff --git a/content/codespaces/codespaces-reference/troubleshooting-your-codespace.md b/content/codespaces/codespaces-reference/troubleshooting-your-codespace.md index fb53462841..47bfdcc213 100644 --- a/content/codespaces/codespaces-reference/troubleshooting-your-codespace.md +++ b/content/codespaces/codespaces-reference/troubleshooting-your-codespace.md @@ -6,7 +6,7 @@ redirect_from: - /github/developing-online-with-codespaces/troubleshooting-your-codespace - /codespaces/working-with-your-codespace/troubleshooting-your-codespace versions: - free-pro-team: '*' + fpt: '*' type: reference topics: - Codespaces diff --git a/content/codespaces/codespaces-reference/using-the-command-palette-in-codespaces.md b/content/codespaces/codespaces-reference/using-the-command-palette-in-codespaces.md index 18f6006ca0..782c202144 100644 --- a/content/codespaces/codespaces-reference/using-the-command-palette-in-codespaces.md +++ b/content/codespaces/codespaces-reference/using-the-command-palette-in-codespaces.md @@ -2,8 +2,8 @@ title: Using the Command Palette in Codespaces intro: 'You can use the Command Palette feature of {% data variables.product.prodname_vscode %} to access many commands in Codespaces.' versions: - free-pro-team: '*' -type: reference + fpt: '*' +type: reference topics: - Codespaces - Visual Studio Code diff --git a/content/codespaces/developing-in-codespaces/creating-a-codespace.md b/content/codespaces/developing-in-codespaces/creating-a-codespace.md index 43d0881052..3562867c5e 100644 --- a/content/codespaces/developing-in-codespaces/creating-a-codespace.md +++ b/content/codespaces/developing-in-codespaces/creating-a-codespace.md @@ -6,7 +6,7 @@ redirect_from: - /github/developing-online-with-github-codespaces/creating-a-codespace - /github/developing-online-with-codespaces/creating-a-codespace versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/developing-in-codespaces/deleting-a-codespace.md b/content/codespaces/developing-in-codespaces/deleting-a-codespace.md index 15dc77890c..563c823301 100644 --- a/content/codespaces/developing-in-codespaces/deleting-a-codespace.md +++ b/content/codespaces/developing-in-codespaces/deleting-a-codespace.md @@ -6,7 +6,7 @@ redirect_from: - /github/developing-online-with-github-codespaces/deleting-a-codespace - /github/developing-online-with-codespaces/deleting-a-codespace versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces @@ -34,4 +34,4 @@ topics: ## Deleting a codespace in {% data variables.product.prodname_vscode %} -For information on deleting a codespace in {% data variables.product.prodname_vscode %}, see "[Using Codespaces in Visual Studio Code](/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code#deleting-a-codespace-in-visual-studio-code)." \ No newline at end of file +For information on deleting a codespace in {% data variables.product.prodname_vscode %}, see "[Using Codespaces in Visual Studio Code](/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code#deleting-a-codespace-in-visual-studio-code)." diff --git a/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md b/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md index c35aa84adb..f33f49df5d 100644 --- a/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md +++ b/content/codespaces/developing-in-codespaces/developing-in-a-codespace.md @@ -6,7 +6,7 @@ redirect_from: - /github/developing-online-with-github-codespaces/developing-in-a-codespace - /github/developing-online-with-codespaces/developing-in-a-codespace versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md b/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md index d1f6e58424..a9230579ba 100644 --- a/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md +++ b/content/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace.md @@ -2,7 +2,7 @@ title: Forwarding ports in your codespace intro: '{% data reusables.codespaces.about-port-forwarding %}' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /github/developing-online-with-codespaces/forwarding-ports-in-your-codespace type: how_to diff --git a/content/codespaces/developing-in-codespaces/index.md b/content/codespaces/developing-in-codespaces/index.md index 54ad210be0..d3ad82c2f7 100644 --- a/content/codespaces/developing-in-codespaces/index.md +++ b/content/codespaces/developing-in-codespaces/index.md @@ -2,7 +2,7 @@ title: Developing in a codespace intro: 'Create a codespace to get started with developing your project inside a dedicated cloud environment. You can use forwarded ports to run your application and even use codespaces inside {% data variables.product.prodname_vscode %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces children: diff --git a/content/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code.md b/content/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code.md index 049dfcb09f..df7b9bfe56 100644 --- a/content/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code.md +++ b/content/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code.md @@ -6,7 +6,7 @@ redirect_from: - /github/developing-online-with-codespaces/connecting-to-your-codespace-from-visual-studio-code - /github/developing-online-with-codespaces/using-codespaces-in-visual-studio versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md b/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md index 8ffe5e6a7c..1ffc12413d 100644 --- a/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md +++ b/content/codespaces/developing-in-codespaces/using-source-control-in-your-codespace.md @@ -1,8 +1,8 @@ --- title: Using source control in your codespace -intro: 'After making changes to a file in your codespace you can quickly commit the changes and push your update to the remote repository.' +intro: After making changes to a file in your codespace you can quickly commit the changes and push your update to the remote repository. versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project.md b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project.md index 3d65037322..4660cd35f4 100644 --- a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project.md +++ b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-dotnet-project.md @@ -4,7 +4,7 @@ shortTitle: Getting started with your C# (.NET) project allowTitleToDifferFromFilename: true intro: 'Get started with your C# (.NET) project in {% data variables.product.prodname_codespaces %} by creating a custom dev container.' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces --- diff --git a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces.md b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces.md index 44f895750c..942f3dcd71 100644 --- a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces.md +++ b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-java-project-in-codespaces.md @@ -3,7 +3,7 @@ title: Getting started with your Java project in Codespaces shortTitle: Getting started with your Java project intro: 'Get started with your Java project in {% data variables.product.prodname_codespaces %} by creating a custom dev container.' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces --- diff --git a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces.md b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces.md index 12c2b737f3..806c9c3891 100644 --- a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces.md +++ b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces.md @@ -3,7 +3,7 @@ title: Getting started with your Node.js project in Codespaces shortTitle: Getting started with your Node.js project intro: 'Get started with your JavaScript, Node.js, or TypeScript project in {% data variables.product.prodname_codespaces %} by creating a custom dev container.' versions: - free-pro-team: '*' + fpt: '*' type: tutorial topics: - Codespaces diff --git a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md index 6362bcb0d5..af13d2f113 100644 --- a/content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md +++ b/content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md @@ -3,7 +3,7 @@ title: Getting started with your Python project in Codespaces shortTitle: Getting started with your Python project intro: 'Get started with your Python project in {% data variables.product.prodname_codespaces %} by creating a custom dev container.' versions: - free-pro-team: '*' + fpt: '*' type: tutorial topics: - Codespaces diff --git a/content/codespaces/getting-started-with-codespaces/index.md b/content/codespaces/getting-started-with-codespaces/index.md index fa43881f93..271b81b83a 100644 --- a/content/codespaces/getting-started-with-codespaces/index.md +++ b/content/codespaces/getting-started-with-codespaces/index.md @@ -2,7 +2,7 @@ title: 'Getting Started with {% data variables.product.prodname_codespaces %}' intro: 'Learn how to get started with {% data variables.product.prodname_codespaces %}, including set up and configuration for specific languages.' versions: - free-pro-team: '*' + fpt: '*' children: - /getting-started-with-your-nodejs-project-in-codespaces - /getting-started-with-your-dotnet-project diff --git a/content/codespaces/guides.md b/content/codespaces/guides.md index 44305d86a5..61553fa89e 100644 --- a/content/codespaces/guides.md +++ b/content/codespaces/guides.md @@ -1,11 +1,11 @@ --- title: Codespaces guides shortTitle: Guides -intro: Learn how to make the most of GitHub {% data reusables.gated-features.codespaces %} +intro: 'Learn how to make the most of GitHub {% data reusables.gated-features.codespaces %}' allowTitleToDifferFromFilename: true layout: product-sublanding versions: - free-pro-team: '*' + fpt: '*' includeGuides: - /codespaces/quickstart - /codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces @@ -24,4 +24,5 @@ includeGuides: - /codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces - /codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization - /codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces ---- \ No newline at end of file +--- + diff --git a/content/codespaces/index.md b/content/codespaces/index.md index fa61d4eff1..ca7ed70d4f 100644 --- a/content/codespaces/index.md +++ b/content/codespaces/index.md @@ -30,7 +30,7 @@ redirect_from: layout: product-landing examples_source: data/product-examples/codespaces/code-examples.yml versions: - free-pro-team: '*' + fpt: '*' children: - /about-codespaces - /quickstart @@ -42,3 +42,4 @@ children: - /codespaces-reference - /guides --- + diff --git a/content/codespaces/managing-codespaces-for-your-organization/index.md b/content/codespaces/managing-codespaces-for-your-organization/index.md index 37002cfcb9..53092f5ae3 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/index.md +++ b/content/codespaces/managing-codespaces-for-your-organization/index.md @@ -2,7 +2,7 @@ title: Managing Codespaces for your organization intro: 'You can manage and review how users in your organization can use {% data variables.product.prodname_github_codespaces %}.' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces children: diff --git a/content/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces.md index 8be45caf40..d2349d13c4 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces.md +++ b/content/codespaces/managing-codespaces-for-your-organization/managing-access-and-security-for-your-organizations-codespaces.md @@ -1,10 +1,10 @@ --- title: Managing access and security for your organization's codespaces shortTitle: Managing access and security for your organization -intro: You can manage the repositories in your organization that {% data variables.product.prodname_codespaces %} can access. -permissions: To manage access and security for Codespaces for an organization, you must be an organization owner. +intro: 'You can manage the repositories in your organization that {% data variables.product.prodname_codespaces %} can access.' +permissions: 'To manage access and security for Codespaces for an organization, you must be an organization owner.' versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces.md index 2595f2a8a1..bcb8e227cd 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces.md +++ b/content/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces.md @@ -2,9 +2,9 @@ title: Managing encrypted secrets for your repository and organization for Codespaces shortTitle: Managing secrets for your repository and organization intro: 'Encrypted secrets allow you to store sensitive information in your organization, repository, or {% data variables.product.prodname_codespaces %}.' -permissions: To manage secrets for {% data variables.product.prodname_codespaces %} for an organization, you must be an organization owner. +permissions: 'To manage secrets for {% data variables.product.prodname_codespaces %} for an organization, you must be an organization owner.' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces --- diff --git a/content/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization.md b/content/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization.md index 18df2500a2..32449a1501 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization.md +++ b/content/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization.md @@ -1,9 +1,9 @@ --- title: Managing user permissions for your organization -intro: You can control which users in your organization can use {% data variables.product.prodname_codespaces %}. -permissions: To manage user permissions for {% data variables.product.prodname_codespaces %} for an organization, you must be an organization owner. +intro: 'You can control which users in your organization can use {% data variables.product.prodname_codespaces %}.' +permissions: 'To manage user permissions for {% data variables.product.prodname_codespaces %} for an organization, you must be an organization owner.' versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces.md b/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces.md index dfa2003abd..7aceb0e87e 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces.md +++ b/content/codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces.md @@ -1,9 +1,9 @@ --- title: Reviewing your organization's audit logs for Codespaces -shortTitle: Reviewing your organization's audit logs -intro: You can use the audit log to review all actions related to {% data variables.product.prodname_codespaces %}. +shortTitle: Reviewing your organization's audit logs +intro: 'You can use the audit log to review all actions related to {% data variables.product.prodname_codespaces %}.' versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/managing-your-codespaces/index.md b/content/codespaces/managing-your-codespaces/index.md index e1d7e525de..a4a7144ee3 100644 --- a/content/codespaces/managing-your-codespaces/index.md +++ b/content/codespaces/managing-your-codespaces/index.md @@ -2,7 +2,7 @@ title: Managing your codespaces intro: 'You can use {% data variables.product.prodname_github_codespaces %} settings to manage information that your codespace might need.' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces redirect_from: diff --git a/content/codespaces/managing-your-codespaces/managing-access-and-security-for-your-codespaces.md b/content/codespaces/managing-your-codespaces/managing-access-and-security-for-your-codespaces.md index b94f2dbabb..658afbb846 100644 --- a/content/codespaces/managing-your-codespaces/managing-access-and-security-for-your-codespaces.md +++ b/content/codespaces/managing-your-codespaces/managing-access-and-security-for-your-codespaces.md @@ -1,8 +1,8 @@ --- title: Managing access and security for your codespaces -intro: You can manage the repositories that {% data variables.product.prodname_codespaces %} can access. +intro: 'You can manage the repositories that {% data variables.product.prodname_codespaces %} can access.' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces --- diff --git a/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md b/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md index 49126adfa4..73692e1faf 100644 --- a/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md +++ b/content/codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces.md @@ -2,7 +2,7 @@ title: Managing encrypted secrets for your codespaces intro: 'You can store sensitive information, like tokens, that you want to access in your codespaces via environment variables.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces - /codespaces/working-with-your-codespace/managing-encrypted-secrets-for-codespaces @@ -76,4 +76,4 @@ You can update the value of an existing secret, and you can change which reposit 1. Under "Codespaces secrets", to the right of the secret you want to delete, click **Delete**. !["Delete" button](/assets/images/help/settings/codespaces-secret-delete-button.png) 1. Read the warning, then click **OK**. - ![Confirmation to delete secret](/assets/images/help/settings/codespaces-secret-delete-warning.png) \ No newline at end of file + ![Confirmation to delete secret](/assets/images/help/settings/codespaces-secret-delete-warning.png) diff --git a/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-codespaces.md b/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-codespaces.md index 303dbd2875..1f045b4c81 100644 --- a/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-codespaces.md +++ b/content/codespaces/managing-your-codespaces/managing-gpg-verification-for-codespaces.md @@ -2,7 +2,7 @@ title: Managing GPG verification for Codespaces intro: 'You can allow {% data variables.product.company_short %} to automatically use GPG to sign commits you make in your codespaces, so other people can be confident that the changes come from a trusted source.' versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md b/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md index 2d1a8681dc..084a884cfb 100644 --- a/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md +++ b/content/codespaces/managing-your-codespaces/reviewing-your-security-logs-for-codespaces.md @@ -1,9 +1,9 @@ --- title: Reviewing your security logs for Codespaces -shortTitle: Reviewing your security logs -intro: You can use the security log to review all actions related to {% data variables.product.prodname_codespaces %}. +shortTitle: Reviewing your security logs +intro: 'You can use the security log to review all actions related to {% data variables.product.prodname_codespaces %}.' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces - Developer diff --git a/content/codespaces/quickstart.md b/content/codespaces/quickstart.md index 39e1a09a96..5ae687f151 100644 --- a/content/codespaces/quickstart.md +++ b/content/codespaces/quickstart.md @@ -3,7 +3,7 @@ title: Quickstart for GitHub Codespaces intro: 'Try out {% data variables.product.prodname_codespaces %} in 5 minutes or less.' allowTitleToDifferFromFilename: true versions: - free-pro-team: '*' + fpt: '*' type: quick_start topics: - Codespaces @@ -81,4 +81,4 @@ This example guides you through creating a dotfiles repository for your codespac You've successfully created, personalized, and run your first application within a codespace but there's so much more to explore! Here are some helpful resources for taking your next steps with {% data variables.product.prodname_codespaces %}. - "[Getting Started guides](/codespaces/getting-started-with-codespaces)" for using {% data variables.product.prodname_codespaces %} with specific languages - - [Create a custom configuration](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project) to configure {% data variables.product.prodname_codespaces %} for your project. \ No newline at end of file + - [Create a custom configuration](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project) to configure {% data variables.product.prodname_codespaces %} for your project. diff --git a/content/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project.md b/content/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project.md index 6d3d9b870c..875dd42c8b 100644 --- a/content/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project.md +++ b/content/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project.md @@ -1,12 +1,12 @@ --- title: Configuring Codespaces for your project -intro: You can use a `devcontainer.json` file to define a {% data variables.product.prodname_codespaces %} environment for your repository. +intro: 'You can use a `devcontainer.json` file to define a {% data variables.product.prodname_codespaces %} environment for your repository.' permissions: People with write permissions to a repository can create or edit the codespace configuration. redirect_from: - /github/developing-online-with-github-codespaces/configuring-github-codespaces-for-your-project - /github/developing-online-with-codespaces/configuring-codespaces-for-your-project versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/codespaces/setting-up-your-codespace/index.md b/content/codespaces/setting-up-your-codespace/index.md index 41fcbb4c78..61f431a2a9 100644 --- a/content/codespaces/setting-up-your-codespace/index.md +++ b/content/codespaces/setting-up-your-codespace/index.md @@ -2,7 +2,7 @@ title: Setting up your codespace intro: '{% data variables.product.prodname_codespaces %} is a dedicated environment for you. You can configure your codespace with a dev container to install your dependencies or you can add a dotfile to personalize the user settings.' versions: - free-pro-team: '*' + fpt: '*' topics: - Codespaces children: diff --git a/content/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account.md b/content/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account.md index 3bff89a66c..725c2204eb 100644 --- a/content/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account.md +++ b/content/codespaces/setting-up-your-codespace/personalizing-codespaces-for-your-account.md @@ -6,7 +6,7 @@ redirect_from: - /github/developing-online-with-github-codespaces/personalizing-github-codespaces-for-your-account - /github/developing-online-with-codespaces/personalizing-codespaces-for-your-account versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Codespaces diff --git a/content/communities/documenting-your-project-with-wikis/about-wikis.md b/content/communities/documenting-your-project-with-wikis/about-wikis.md index 508b7e770d..55ece8954e 100644 --- a/content/communities/documenting-your-project-with-wikis/about-wikis.md +++ b/content/communities/documenting-your-project-with-wikis/about-wikis.md @@ -7,9 +7,9 @@ redirect_from: - /github/building-a-strong-community/about-wikis product: '{% data reusables.gated-features.wikis %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- @@ -18,9 +18,9 @@ Every {% data variables.product.product_name %} repository comes equipped with a With wikis, you can write content just like everywhere else on {% data variables.product.product_name %}. For more information, see "[Getting started with writing and formatting on {% data variables.product.prodname_dotcom %}](/articles/getting-started-with-writing-and-formatting-on-github)." We use [our open-source Markup library](https://github.com/github/markup) to convert different formats into HTML, so you can choose to write in Markdown or any other supported format. -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}If you create a wiki in a public repository, the wiki is available to {% if enterpriseServerVersions contains currentVersion %}anyone with access to {% data variables.product.product_location %}{% else %}the public{% endif %}. {% endif %}If you create a wiki in an internal or private repository, {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}people{% elsif currentVersion == "github-ae@latest" %}enterprise members{% endif %} with access to the repository can also access the wiki. For more information, see "[Setting repository visibility](/articles/setting-repository-visibility)." +{% ifversion fpt or ghes %}If you create a wiki in a public repository, the wiki is available to {% ifversion ghes %}anyone with access to {% data variables.product.product_location %}{% else %}the public{% endif %}. {% endif %}If you create a wiki in an internal or private repository, {% ifversion fpt or ghes %}people{% elsif ghae %}enterprise members{% endif %} with access to the repository can also access the wiki. For more information, see "[Setting repository visibility](/articles/setting-repository-visibility)." -You can edit wikis directly on {% data variables.product.product_name %}, or you can edit wiki files locally. By default, only people with write access to your repository can make changes to wikis, although you can allow everyone on {% data variables.product.product_location %} to contribute to a wiki in {% if currentVersion == "github-ae@latest" %}an internal{% else %}a public{% endif %} repository. For more information, see "[Changing access permissions for wikis](/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis)". +You can edit wikis directly on {% data variables.product.product_name %}, or you can edit wiki files locally. By default, only people with write access to your repository can make changes to wikis, although you can allow everyone on {% data variables.product.product_location %} to contribute to a wiki in {% ifversion ghae %}an internal{% else %}a public{% endif %} repository. For more information, see "[Changing access permissions for wikis](/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis)". {% note %} diff --git a/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md b/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md index 6a821896c9..73118dcbfd 100644 --- a/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md +++ b/content/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages.md @@ -10,9 +10,9 @@ redirect_from: - /github/building-a-strong-community/adding-or-editing-wiki-pages product: '{% data reusables.gated-features.wikis %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis.md b/content/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis.md index 7ce67b5922..fea02af47f 100644 --- a/content/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis.md +++ b/content/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis.md @@ -6,9 +6,9 @@ redirect_from: - /articles/changing-access-permissions-for-wikis - /github/building-a-strong-community/changing-access-permissions-for-wikis versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md b/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md index 49871c413c..a269bf9ae4 100644 --- a/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md +++ b/content/communities/documenting-your-project-with-wikis/creating-a-footer-or-sidebar-for-your-wiki.md @@ -8,9 +8,9 @@ redirect_from: - /github/building-a-strong-community/creating-a-footer-or-sidebar-for-your-wiki product: '{% data reusables.gated-features.wikis %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/communities/documenting-your-project-with-wikis/disabling-wikis.md b/content/communities/documenting-your-project-with-wikis/disabling-wikis.md index bd3df33aa0..a3cca99761 100644 --- a/content/communities/documenting-your-project-with-wikis/disabling-wikis.md +++ b/content/communities/documenting-your-project-with-wikis/disabling-wikis.md @@ -6,9 +6,9 @@ redirect_from: - /articles/disabling-wikis - /github/building-a-strong-community/disabling-wikis versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md b/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md index 2e41519467..63a14459dc 100644 --- a/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md +++ b/content/communities/documenting-your-project-with-wikis/editing-wiki-content.md @@ -13,9 +13,9 @@ redirect_from: - /github/building-a-strong-community/editing-wiki-content product: '{% data reusables.gated-features.wikis %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/communities/documenting-your-project-with-wikis/index.md b/content/communities/documenting-your-project-with-wikis/index.md index 5c58716cf4..02dc4e048d 100644 --- a/content/communities/documenting-your-project-with-wikis/index.md +++ b/content/communities/documenting-your-project-with-wikis/index.md @@ -9,9 +9,9 @@ redirect_from: - /github/building-a-strong-community/documenting-your-project-with-wikis product: '{% data reusables.gated-features.wikis %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community children: diff --git a/content/communities/documenting-your-project-with-wikis/viewing-a-wikis-history-of-changes.md b/content/communities/documenting-your-project-with-wikis/viewing-a-wikis-history-of-changes.md index c8d5de5850..6122e85007 100644 --- a/content/communities/documenting-your-project-with-wikis/viewing-a-wikis-history-of-changes.md +++ b/content/communities/documenting-your-project-with-wikis/viewing-a-wikis-history-of-changes.md @@ -7,9 +7,9 @@ redirect_from: - /articles/viewing-a-wikis-history-of-changes - /github/building-a-strong-community/viewing-a-wikis-history-of-changes versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/communities/index.md b/content/communities/index.md index d6dd1200e6..ba506ebbe6 100644 --- a/content/communities/index.md +++ b/content/communities/index.md @@ -5,9 +5,9 @@ redirect_from: - /categories/building-a-strong-community - /github/building-a-strong-community versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community children: diff --git a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md index a38031f4e5..ec1813f0b7 100644 --- a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md +++ b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization.md @@ -5,7 +5,7 @@ redirect_from: - /articles/blocking-a-user-from-your-organization - /github/building-a-strong-community/blocking-a-user-from-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md index 244bdb400a..b5c1cf2275 100644 --- a/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md +++ b/content/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-personal-account.md @@ -5,7 +5,7 @@ redirect_from: - /articles/blocking-a-user-from-your-personal-account - /github/building-a-strong-community/blocking-a-user-from-your-personal-account versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/maintaining-your-safety-on-github/index.md b/content/communities/maintaining-your-safety-on-github/index.md index 460170a104..598f06c7f0 100644 --- a/content/communities/maintaining-your-safety-on-github/index.md +++ b/content/communities/maintaining-your-safety-on-github/index.md @@ -9,7 +9,7 @@ redirect_from: - /articles/encouraging-positive-contributions-to-your-project - /github/building-a-strong-community/maintaining-your-safety-on-github versions: - free-pro-team: '*' + fpt: '*' topics: - Community children: diff --git a/content/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam.md b/content/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam.md index 12ebd2d49c..c087aa8fc3 100644 --- a/content/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam.md +++ b/content/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam.md @@ -5,7 +5,7 @@ redirect_from: - /articles/reporting-abuse-or-spam - /github/building-a-strong-community/reporting-abuse-or-spam versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- @@ -62,7 +62,7 @@ If reported content is enabled for a public repository, you can also report cont - "[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)" - "[Using templates to encourage useful issues and pull requests](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)" -- "[Managing disruptive comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments)"{% if currentVersion == "free-pro-team@latest" %} +- "[Managing disruptive comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments)"{% ifversion fpt %} - "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github)" - "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)"{% endif %} - "[Tracking changes in a comment](/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment)" diff --git a/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md b/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md index d0f1350132..294e9f8d89 100644 --- a/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md +++ b/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization.md @@ -5,7 +5,7 @@ redirect_from: - /articles/unblocking-a-user-from-your-organization - /github/building-a-strong-community/unblocking-a-user-from-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account.md b/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account.md index 802cfe9310..934c203de1 100644 --- a/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account.md +++ b/content/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-personal-account.md @@ -5,7 +5,7 @@ redirect_from: - /articles/unblocking-a-user-from-your-personal-account - /github/building-a-strong-community/unblocking-a-user-from-your-personal-account versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization.md b/content/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization.md index 6bbea0763a..06e87941d9 100644 --- a/content/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization.md +++ b/content/communities/maintaining-your-safety-on-github/viewing-users-who-are-blocked-from-your-organization.md @@ -5,7 +5,7 @@ redirect_from: - /articles/viewing-users-who-are-blocked-from-your-organization - /github/building-a-strong-community/viewing-users-who-are-blocked-from-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/maintaining-your-safety-on-github/viewing-users-youve-blocked-from-your-personal-account.md b/content/communities/maintaining-your-safety-on-github/viewing-users-youve-blocked-from-your-personal-account.md index 927adbeff9..02df10dfa4 100644 --- a/content/communities/maintaining-your-safety-on-github/viewing-users-youve-blocked-from-your-personal-account.md +++ b/content/communities/maintaining-your-safety-on-github/viewing-users-youve-blocked-from-your-personal-account.md @@ -6,7 +6,7 @@ redirect_from: - /articles/viewing-users-youve-blocked-from-your-personal-account - /github/building-a-strong-community/viewing-users-youve-blocked-from-your-personal-account versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/moderating-comments-and-conversations/index.md b/content/communities/moderating-comments-and-conversations/index.md index 704a6271f4..e14ace44f3 100644 --- a/content/communities/moderating-comments-and-conversations/index.md +++ b/content/communities/moderating-comments-and-conversations/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/moderating-comments-and-conversations - /github/building-a-strong-community/moderating-comments-and-conversations versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community children: diff --git a/content/communities/moderating-comments-and-conversations/limiting-interactions-for-your-user-account.md b/content/communities/moderating-comments-and-conversations/limiting-interactions-for-your-user-account.md index 6710e6fb5f..703c9967f1 100644 --- a/content/communities/moderating-comments-and-conversations/limiting-interactions-for-your-user-account.md +++ b/content/communities/moderating-comments-and-conversations/limiting-interactions-for-your-user-account.md @@ -2,7 +2,7 @@ title: Limiting interactions for your user account intro: You can temporarily enforce a period of limited activity for certain users in all public repositories owned by your user account. versions: - free-pro-team: '*' + fpt: '*' permissions: Anyone can limit interactions for their own user account. redirect_from: - /github/building-a-strong-community/limiting-interactions-for-your-user-account diff --git a/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md b/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md index c04b5777da..b0b12d360d 100644 --- a/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md +++ b/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/limiting-interactions-in-your-organization - /github/building-a-strong-community/limiting-interactions-in-your-organization versions: - free-pro-team: '*' + fpt: '*' permissions: Organization owners can limit interactions in an organization. topics: - Community diff --git a/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md b/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md index 5030ee676e..f2ec0d4c59 100644 --- a/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md +++ b/content/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository.md @@ -6,7 +6,7 @@ redirect_from: - /articles/limiting-interactions-in-your-repository - /github/building-a-strong-community/limiting-interactions-in-your-repository versions: - free-pro-team: '*' + fpt: '*' permissions: People with admin permissions to a repository can temporarily limit interactions in that repository. topics: - Community diff --git a/content/communities/moderating-comments-and-conversations/locking-conversations.md b/content/communities/moderating-comments-and-conversations/locking-conversations.md index 07c0abd7e1..23bc646c2d 100644 --- a/content/communities/moderating-comments-and-conversations/locking-conversations.md +++ b/content/communities/moderating-comments-and-conversations/locking-conversations.md @@ -5,14 +5,14 @@ redirect_from: - /articles/locking-conversations - /github/building-a-strong-community/locking-conversations versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- -It's appropriate to lock a conversation when the entire conversation is not constructive or violates your community's code of conduct{% if currentVersion == "free-pro-team@latest" %} or GitHub's [Community Guidelines](/articles/github-community-guidelines){% endif %}. When you lock a conversation, you can also specify a reason, which is publicly visible. +It's appropriate to lock a conversation when the entire conversation is not constructive or violates your community's code of conduct{% ifversion fpt %} or GitHub's [Community Guidelines](/articles/github-community-guidelines){% endif %}. When you lock a conversation, you can also specify a reason, which is publicly visible. Locking a conversation creates a timeline event that is visible to anyone with read access to the repository. However, the username of the person who locked the conversation is only visible to people with write access to the repository. For anyone without write access, the timeline event is anonymized. @@ -36,7 +36,7 @@ To search for locked conversations in a repository that is not archived, you can - "[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)" - "[Using templates to encourage useful issues and pull requests](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)" -- "[Managing disruptive comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments)"{% if currentVersion == "free-pro-team@latest" %} +- "[Managing disruptive comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments)"{% ifversion fpt %} - "[Maintaining your safety on {% data variables.product.prodname_dotcom %}](/communities/maintaining-your-safety-on-github)" - "[Reporting abuse or spam](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)" - "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)" diff --git a/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md b/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md index e955e5549f..0d1fe6105d 100644 --- a/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md +++ b/content/communities/moderating-comments-and-conversations/managing-disruptive-comments.md @@ -1,15 +1,15 @@ --- title: Managing disruptive comments -intro: 'You can {% if currentVersion == "free-pro-team@latest" %}hide, edit,{% else %}edit{% endif %} or delete comments on issues, pull requests, and commits.' +intro: 'You can {% ifversion fpt %}hide, edit,{% else %}edit{% endif %} or delete comments on issues, pull requests, and commits.' redirect_from: - /articles/editing-a-comment/ - /articles/deleting-a-comment/ - /articles/managing-disruptive-comments - /github/building-a-strong-community/managing-disruptive-comments versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- @@ -26,7 +26,7 @@ If a comment is off-topic, outdated, or resolved, you may want to hide a comment 2. In the upper-right corner of the comment, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, then click **Hide**. ![The horizontal kebab icon and comment moderation menu showing the edit, hide, delete options](/assets/images/help/repository/comment-menu.png) 3. Using the "Choose a reason" drop-down menu, click a reason to hide the comment. Then click, **Hide comment**. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} ![Choose reason for hiding comment drop-down menu](/assets/images/help/repository/choose-reason-for-hiding-comment.png) {% else %} ![Choose reason for hiding comment drop-down menu](/assets/images/help/repository/choose-reason-for-hiding-comment-ghe.png) @@ -46,7 +46,7 @@ Anyone with write access to a repository can unhide comments on issues, pull req Anyone with write access to a repository can edit comments on issues, pull requests, and commits. -It's appropriate to edit a comment and remove content that doesn't contribute to the conversation and violates your community's code of conduct{% if currentVersion == "free-pro-team@latest" %} or GitHub's [Community Guidelines](/articles/github-community-guidelines){% endif %}. +It's appropriate to edit a comment and remove content that doesn't contribute to the conversation and violates your community's code of conduct{% ifversion fpt %} or GitHub's [Community Guidelines](/articles/github-community-guidelines){% endif %}. When you edit a comment, note the location that the content was removed from and optionally, the reason for removing it. @@ -69,7 +69,7 @@ Comment authors and anyone with write access to a repository can also delete sen Anyone with write access to a repository can delete comments on issues, pull requests, and commits. Organization owners, team maintainers, and the comment author can also delete a comment on a team page. -Deleting a comment is your last resort as a moderator. It's appropriate to delete a comment if the entire comment adds no constructive content to a conversation and violates your community's code of conduct{% if currentVersion == "free-pro-team@latest" %} or GitHub's [Community Guidelines](/articles/github-community-guidelines){% endif %}. +Deleting a comment is your last resort as a moderator. It's appropriate to delete a comment if the entire comment adds no constructive content to a conversation and violates your community's code of conduct{% ifversion fpt %} or GitHub's [Community Guidelines](/articles/github-community-guidelines){% endif %}. Deleting a comment creates a timeline event that is visible to anyone with read access to the repository. However, the username of the person who deleted the comment is only visible to people with write access to the repository. For anyone without write access, the timeline event is anonymized. diff --git a/content/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository.md b/content/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository.md index 60cb738d32..ddda17ea94 100644 --- a/content/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository.md +++ b/content/communities/moderating-comments-and-conversations/managing-how-contributors-report-abuse-in-your-organizations-repository.md @@ -2,7 +2,7 @@ title: Managing how contributors report abuse in your organization's repository intro: You can allow contributors to report disruptive behavior directly to repository maintainers. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /github/building-a-strong-community/managing-how-contributors-report-abuse-in-your-organizations-repository topics: diff --git a/content/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository.md b/content/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository.md index 671e04efa3..39c97e8752 100644 --- a/content/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository.md +++ b/content/communities/moderating-comments-and-conversations/managing-reported-content-in-your-organizations-repository.md @@ -2,7 +2,7 @@ title: Managing reported content in your organization's repository intro: 'After a contributor reports disruptive content in a repository, repository maintainers can view and manage the report.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /github/building-a-strong-community/managing-reported-content-in-your-organizations-repository topics: diff --git a/content/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment.md b/content/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment.md index dc0c4283ab..3efbb2891e 100644 --- a/content/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment.md +++ b/content/communities/moderating-comments-and-conversations/tracking-changes-in-a-comment.md @@ -5,9 +5,9 @@ redirect_from: - /articles/tracking-changes-in-a-comment - /github/building-a-strong-community/tracking-changes-in-a-comment versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- @@ -33,5 +33,5 @@ When you delete sensitive information from the comment's edit history, the perso ## Further reading -{% if currentVersion == "free-pro-team@latest" %}- "[Reporting abuse or spam](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)"{% endif %} +{% ifversion fpt %}- "[Reporting abuse or spam](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)"{% endif %} - "[Editing a comment](/articles/editing-a-comment)" diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation.md b/content/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation.md index e0db99a5d2..5772a86d79 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/about-community-management-and-moderation.md @@ -2,7 +2,7 @@ title: About community management and moderation intro: '{% data variables.product.prodname_dotcom %} offers tools that help repository maintainers establish and enforce standards of behavior in their communities on {% data variables.product.prodname_dotcom_the_website %}.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /github/building-a-strong-community/about-community-management-and-moderation topics: diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md b/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md index e0f704c16c..2ee48c29ad 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-community-profiles-for-public-repositories - /github/building-a-strong-community/about-community-profiles-for-public-repositories versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/accessing-a-projects-community-profile.md b/content/communities/setting-up-your-project-for-healthy-contributions/accessing-a-projects-community-profile.md index f771c06474..bac1e4b2e4 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/accessing-a-projects-community-profile.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/accessing-a-projects-community-profile.md @@ -6,7 +6,7 @@ redirect_from: - /articles/accessing-a-projects-community-profile - /github/building-a-strong-community/accessing-a-projects-community-profile versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project.md b/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project.md index e0082a052f..f249ccf711 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project.md @@ -5,7 +5,7 @@ redirect_from: - /articles/adding-a-code-of-conduct-to-your-project - /github/building-a-strong-community/adding-a-code-of-conduct-to-your-project versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository.md b/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository.md index b21e7a7901..c69074cd26 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository.md @@ -5,8 +5,8 @@ redirect_from: - /articles/adding-a-license-to-a-repository - /github/building-a-strong-community/adding-a-license-to-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Community --- @@ -19,7 +19,7 @@ Open source licenses enable others to freely use, change, and distribute the pro ## Including an open source license in your repository -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} 3. In the file name field, type *LICENSE* or *LICENSE.md* (with all caps). @@ -38,7 +38,7 @@ Open source licenses enable others to freely use, change, and distribute the pro {% endif %} -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.files.add-file %} diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/adding-support-resources-to-your-project.md b/content/communities/setting-up-your-project-for-healthy-contributions/adding-support-resources-to-your-project.md index 97bd1cfe31..c498c74e18 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/adding-support-resources-to-your-project.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/adding-support-resources-to-your-project.md @@ -5,9 +5,9 @@ redirect_from: - /articles/adding-support-resources-to-your-project - /github/building-a-strong-community/adding-support-resources-to-your-project versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- @@ -15,7 +15,7 @@ To direct people to specific support resources, you can add a SUPPORT file to yo ![Support guidelines](/assets/images/help/issues/support_guidelines_in_issue.png) -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} You can create default support resources for your organization or user account. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file.md b/content/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file.md index 7e9a89043e..1721d8af77 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file.md @@ -6,35 +6,35 @@ redirect_from: - /github/building-a-strong-community/creating-a-default-community-health-file-for-your-organization - /github/building-a-strong-community/creating-a-default-community-health-file versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Community --- ## About default community health files -You can add default community health files to the root of a public repository called `.github` that is owned by an organization{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} or user account{% endif %}. +You can add default community health files to the root of a public repository called `.github` that is owned by an organization{% ifversion fpt or ghae or ghes %} or user account{% endif %}. {% data variables.product.product_name %} will use and display default files for any repository owned by the account that does not have its own file of that type in any of the following places: - the root of the repository - the `.github` folder - the `docs` folder -For example, anyone who creates an issue or pull request in a repository that does not have its own CONTRIBUTING file will see a link to the default CONTRIBUTING file. If a repository has any files in its own `.github/ISSUE_TEMPLATE` folder{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %}, including issue templates or a *config.yml* file,{% endif %} none of the contents of the default `.github/ISSUE_TEMPLATE` folder will be used. +For example, anyone who creates an issue or pull request in a repository that does not have its own CONTRIBUTING file will see a link to the default CONTRIBUTING file. If a repository has any files in its own `.github/ISSUE_TEMPLATE` folder{% ifversion fpt or ghae or ghes %}, including issue templates or a *config.yml* file,{% endif %} none of the contents of the default `.github/ISSUE_TEMPLATE` folder will be used. Default files are not included in clones, packages, or downloads of individual repositories because they are stored only in the `.github` repository. ## Supported file types -You can create defaults in your organization{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} or user account{% endif %} for the following community health files: +You can create defaults in your organization{% ifversion fpt or ghae or ghes %} or user account{% endif %} for the following community health files: Community health file | Description ---- | ---{% if currentVersion == "free-pro-team@latest" %} +--- | ---{% ifversion fpt %} *CODE_OF_CONDUCT.md* | A CODE_OF_CONDUCT file defines standards for how to engage in a community. For more information, see "[Adding a code of conduct to your project](/articles/adding-a-code-of-conduct-to-your-project/)."{% endif %} -*CONTRIBUTING.md* | A CONTRIBUTING file communicates how people should contribute to your project. For more information, see "[Setting guidelines for repository contributors](/articles/setting-guidelines-for-repository-contributors/)."{% if currentVersion == "free-pro-team@latest" %} +*CONTRIBUTING.md* | A CONTRIBUTING file communicates how people should contribute to your project. For more information, see "[Setting guidelines for repository contributors](/articles/setting-guidelines-for-repository-contributors/)."{% ifversion fpt %} *FUNDING.yml* | A FUNDING file displays a sponsor button in your repository to increase the visibility of funding options for your open source project. For more information, see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)."{% endif %} -Issue and pull request templates{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} and *config.yml*{% endif %} | Issue and pull request templates customize and standardize the information you'd like contributors to include when they open issues and pull requests in your repository. For more information, see "[About issue and pull request templates](/articles/about-issue-and-pull-request-templates/)."{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +Issue and pull request templates{% ifversion fpt or ghae or ghes %} and *config.yml*{% endif %} | Issue and pull request templates customize and standardize the information you'd like contributors to include when they open issues and pull requests in your repository. For more information, see "[About issue and pull request templates](/articles/about-issue-and-pull-request-templates/)."{% ifversion fpt or ghes > 3.0 %} *SECURITY.md* | A SECURITY file gives instructions for how to report a security vulnerability in your project. For more information, see "[Adding a security policy to your repository](/code-security/getting-started/adding-a-security-policy-to-your-repository)."{% endif %} *SUPPORT.md* | A SUPPORT file lets people know about ways to get help with your project. For more information, see "[Adding support resources to your project](/articles/adding-support-resources-to-your-project/)." @@ -43,7 +43,7 @@ You cannot create a default license file. License files must be added to individ ## Creating a repository for default files {% data reusables.repositories.create_new %} -2. Use the **Owner** drop-down menu, and select the organization{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} or user account{% endif %} you want to create default files for. +2. Use the **Owner** drop-down menu, and select the organization{% ifversion fpt or ghae or ghes %} or user account{% endif %} you want to create default files for. ![Owner drop-down menu](/assets/images/help/repository/create-repository-owner.png) 3. Type **.github** as the name for your repository, and an optional description. ![Create repository field](/assets/images/help/repository/default-file-repository-name.png) @@ -51,4 +51,4 @@ You cannot create a default license file. License files must be added to individ ![Radio buttons to select private or public status](/assets/images/help/repository/create-repository-public-private.png) {% data reusables.repositories.initialize-with-readme %} {% data reusables.repositories.create-repo %} -7. In the repository, create one of the supported community health files. Issue templates{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} and their configuration file{% endif %} must be in a folder called `.github/ISSUE_TEMPLATE`. All other supported files must be in the root of the repository. For more information, see "[Creating new files](/articles/creating-new-files/)." +7. In the repository, create one of the supported community health files. Issue templates{% ifversion fpt or ghae or ghes %} and their configuration file{% endif %} must be in a folder called `.github/ISSUE_TEMPLATE`. All other supported files must be in the root of the repository. For more information, see "[Creating new files](/articles/creating-new-files/)." diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels.md b/content/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels.md index e9c145f904..a93d89bae2 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels.md @@ -6,7 +6,7 @@ redirect_from: - /articles/helping-new-contributors-find-your-project-with-labels - /github/building-a-strong-community/encouraging-helpful-contributions-to-your-project-with-labels versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/index.md b/content/communities/setting-up-your-project-for-healthy-contributions/index.md index a90cbda741..5c4cde1c79 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/index.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/index.md @@ -7,9 +7,9 @@ redirect_from: - /articles/setting-up-your-project-for-healthy-contributions - /github/building-a-strong-community/setting-up-your-project-for-healthy-contributions versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community children: diff --git a/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md b/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md index fb848a1e47..b4b73ffde1 100644 --- a/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md +++ b/content/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.md @@ -2,9 +2,9 @@ title: Setting guidelines for repository contributors intro: You can create guidelines to communicate how people should contribute to your project. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' redirect_from: - /articles/how-do-i-set-up-guidelines-for-contributors/ - /articles/setting-guidelines-for-repository-contributors @@ -23,9 +23,9 @@ For contributors, the guidelines help them verify that they're submitting well-f For both owners and contributors, contribution guidelines save time and hassle caused by improperly created pull requests or issues that have to be rejected and re-submitted. -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} -You can create default contribution guidelines for your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} or user account{% endif %}. For more information, see "[Creating a default community health file](//communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." +You can create default contribution guidelines for your organization{% ifversion fpt or ghes %} or user account{% endif %}. For more information, see "[Creating a default community health file](//communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." {% endif %} @@ -61,6 +61,6 @@ If you're stumped, here are some good examples of contribution guidelines: - The Open Government [contribution guidelines](https://github.com/opengovernment/opengovernment/blob/master/CONTRIBUTING.md). ## Further reading -- The Open Source Guides' section "[Starting an Open Source Project](https://opensource.guide/starting-a-project/)"{% if currentVersion == "free-pro-team@latest" %} -- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %}{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +- The Open Source Guides' section "[Starting an Open Source Project](https://opensource.guide/starting-a-project/)"{% ifversion fpt %} +- [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %}{% ifversion fpt or ghes %} - "[Adding a license to a repository](/articles/adding-a-license-to-a-repository)"{% endif %} diff --git a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates.md b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates.md index 7ed087651f..f0b02aeb3f 100644 --- a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates.md +++ b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates.md @@ -5,16 +5,16 @@ redirect_from: - /articles/about-issue-and-pull-request-templates - /github/building-a-strong-community/about-issue-and-pull-request-templates versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- After you create issue and pull request templates in your repository, contributors can use the templates to open issues or describe the proposed changes in their pull requests according to the repository's contributing guidelines. For more information about adding contributing guidelines to a repository, see "[Setting guidelines for repository contributors](/articles/setting-guidelines-for-repository-contributors)." -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} You can create default issue and pull request templates for your organization or user account. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." @@ -22,25 +22,25 @@ You can create default issue and pull request templates for your organization or ## Issue templates -When you create issue templates for your repository using the issue template builder{% if currentVersion == "free-pro-team@latest" %} or with issue forms{% endif %}, contributors can select the appropriate template when they open new issues in the repository. +When you create issue templates for your repository using the issue template builder{% ifversion fpt %} or with issue forms{% endif %}, contributors can select the appropriate template when they open new issues in the repository. ![New issue page showing issue template choices](/assets/images/help/issues/new-issue-page-with-multiple-templates.png) -Issue templates are helpful when you want to provide guidance for opening issues while allowing contributors to specify the content of their issues. {% if currentVersion == "free-pro-team@latest" %} If you want contributors to provide specific, structured information when they open issues, issue forms help ensure that you receive your desired information.{% endif %} +Issue templates are helpful when you want to provide guidance for opening issues while allowing contributors to specify the content of their issues. {% ifversion fpt %} If you want contributors to provide specific, structured information when they open issues, issue forms help ensure that you receive your desired information.{% endif %} Using the template builder, you can specify a title and description for each template, add the template content, and either commit the template to the default branch or open a pull request in the repository. The template builder automatically adds the YAML front matter markup that is required for the template to show on the new issue page. For more information, see "[Configuring issue templates for your repository](/articles/configuring-issue-templates-for-your-repository)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} With issue forms, you can create templates that have web form fields using the {% data variables.product.prodname_dotcom %} form schema. When a contributor opens an issue using an issue form, the form inputs are converted to a standard markdown issue comment. You can specify different input types and set inputs as required to help contributors open actionable issues in your repository. For more information, see "[Configuring issue templates for your repository](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms)" and "[Syntax for issue forms](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms)." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% data reusables.repositories.issue-template-config %} For more information, see "[Configuring issue templates for your repository](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser)." {% endif %} -Issue templates are stored on the repository's default branch, in a hidden `.github/ISSUE_TEMPLATE` directory. If you create a template in another branch, it will not be available for collaborators to use. Issue template filenames are not case sensitive, and need a *.md* extension.{% if currentVersion == "free-pro-team@latest" %} Issue templates created with issue forms need a *.yml* extension.{% endif %} {% data reusables.repositories.valid-community-issues %} +Issue templates are stored on the repository's default branch, in a hidden `.github/ISSUE_TEMPLATE` directory. If you create a template in another branch, it will not be available for collaborators to use. Issue template filenames are not case sensitive, and need a *.md* extension.{% ifversion fpt %} Issue templates created with issue forms need a *.yml* extension.{% endif %} {% data reusables.repositories.valid-community-issues %} -It is possible to manually create a single issue template in Markdown using the legacy issue template workflow, and project contributors will automatically see the template's contents in the issue body. However, we recommend using the upgraded multiple issue template builder{% if currentVersion == "free-pro-team@latest" %} or issue forms{% endif %} to create issue templates. For more information about the legacy workflow, see "[Manually creating a single issue template for your repository](/articles/manually-creating-a-single-issue-template-for-your-repository)." +It is possible to manually create a single issue template in Markdown using the legacy issue template workflow, and project contributors will automatically see the template's contents in the issue body. However, we recommend using the upgraded multiple issue template builder{% ifversion fpt %} or issue forms{% endif %} to create issue templates. For more information about the legacy workflow, see "[Manually creating a single issue template for your repository](/articles/manually-creating-a-single-issue-template-for-your-repository)." {% data reusables.repositories.security-guidelines %} diff --git a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository.md b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository.md index ef274dd06b..972d479684 100644 --- a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository.md +++ b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository.md @@ -6,20 +6,20 @@ redirect_from: - /articles/configuring-issue-templates-for-your-repository - /github/building-a-strong-community/configuring-issue-templates-for-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} {% data reusables.repositories.default-issue-templates %} {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} ## Creating issue templates @@ -45,7 +45,7 @@ topics: ![Issue template commit to main or open pull request choice](/assets/images/help/repository/issue-template-commit-to-master-or-open-pull-request.png) 11. Click **Commit changes**. Once these changes are merged into the default branch, the template will be available for contributors to use when they open new issues in the repository. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Creating issue forms @@ -69,7 +69,7 @@ Here is the rendered version of the issue form. {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} ## Configuring the template chooser {% data reusables.repositories.issue-template-config %} diff --git a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository.md b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository.md index 205067c8bd..39e39b6baa 100644 --- a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository.md +++ b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository.md @@ -5,9 +5,9 @@ redirect_from: - /articles/creating-a-pull-request-template-for-your-repository - /github/building-a-strong-community/creating-a-pull-request-template-for-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- @@ -16,9 +16,9 @@ For more information, see "[About issue and pull request templates](/articles/ab You can create a *PULL_REQUEST_TEMPLATE/* subdirectory in any of the supported folders to contain multiple pull request templates, and use the `template` query parameter to specify the template that will fill the pull request body. For more information, see "[About automation for issues and pull requests with query parameters](/articles/about-automation-for-issues-and-pull-requests-with-query-parameters)." -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} -You can create default pull request templates for your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} or user account{% endif %}. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." +You can create default pull request templates for your organization{% ifversion fpt or ghes %} or user account{% endif %}. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." {% endif %} diff --git a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md index fd03437084..f9b515e090 100644 --- a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md +++ b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/index.md @@ -8,9 +8,9 @@ redirect_from: - /articles/using-issue-and-pull-request-templates - /github/building-a-strong-community/using-templates-to-encourage-useful-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community children: diff --git a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md index 515d3ed2b7..673a3f4fe1 100644 --- a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md +++ b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/manually-creating-a-single-issue-template-for-your-repository.md @@ -6,9 +6,9 @@ redirect_from: - /articles/manually-creating-a-single-issue-template-for-your-repository - /github/building-a-strong-community/manually-creating-a-single-issue-template-for-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- @@ -36,13 +36,13 @@ assignees: octocat {% endnote %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.repositories.valid-community-issues %} {% endif %} -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} {% data reusables.repositories.default-issue-templates %} diff --git a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md index 11c4d8694d..5190ea83c3 100644 --- a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md +++ b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema.md @@ -1,8 +1,8 @@ --- title: Syntax for GitHub's form schema -intro: "You can use {% data variables.product.company_short %}'s form schema to configure forms for supported features." +intro: 'You can use {% data variables.product.company_short %}''s form schema to configure forms for supported features.' versions: - free-pro-team: '*' + fpt: '*' miniTocMaxHeadingLevel: 3 topics: - Community diff --git a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms.md b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms.md index 8315702276..3aa88b6962 100644 --- a/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms.md +++ b/content/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms.md @@ -1,9 +1,9 @@ --- title: Syntax for issue forms -intro: You can define different input types, validations, default assignees, and default labels for your issue forms. +intro: 'You can define different input types, validations, default assignees, and default labels for your issue forms.' product: 'Issue forms are available in beta for public repositories on {% data variables.product.prodname_dotcom_the_website %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Community --- @@ -162,4 +162,4 @@ body: ## Further reading -- [YAML](https://yaml.org/) \ No newline at end of file +- [YAML](https://yaml.org/) diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-a-repository-from-your-local-computer-to-github-desktop.md b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-a-repository-from-your-local-computer-to-github-desktop.md index 247e888cb4..398c627b81 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-a-repository-from-your-local-computer-to-github-desktop.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-a-repository-from-your-local-computer-to-github-desktop.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/contributing-to-projects/adding-a-repository-from-your-local-computer-to-github-desktop - /desktop/contributing-and-collaborating-using-github-desktop/adding-a-repository-from-your-local-computer-to-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- {% tip %} diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-an-existing-project-to-github-using-github-desktop.md b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-an-existing-project-to-github-using-github-desktop.md index 770e161b49..666620d62e 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-an-existing-project-to-github-using-github-desktop.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/adding-an-existing-project-to-github-using-github-desktop.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/contributing-to-projects/adding-an-existing-project-to-github-using-github-desktop - /desktop/contributing-and-collaborating-using-github-desktop/adding-an-existing-project-to-github-using-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- {% mac %} diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop.md b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop.md index 02cbb5bee2..72fdd6872d 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/contributing-to-projects/cloning-a-repository-from-github-to-github-desktop - /desktop/contributing-and-collaborating-using-github-desktop/cloning-a-repository-from-github-to-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- {% tip %} diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop.md b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop.md index 045a9086a4..96c250629a 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/cloning-and-forking-repositories-from-github-desktop.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/contributing-to-projects/cloning-and-forking-repositories-from-github-desktop - /desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- ## About local repositories Repositories on {% data variables.product.prodname_dotcom %} are remote repositories. You can clone or fork a repository with {% data variables.product.prodname_desktop %} to create a local repository on your computer. diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/index.md b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/index.md index 5ca42675a5..23b8400ece 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/index.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/adding-and-cloning-repositories/index.md @@ -4,7 +4,7 @@ intro: 'Add existing repositories from your local computer to {% data variables. redirect_from: - /desktop/contributing-to-projects/adding-and-cloning-repositories versions: - free-pro-team: '*' + fpt: '*' children: - /adding-a-repository-from-your-local-computer-to-github-desktop - /adding-an-existing-project-to-github-using-github-desktop diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/index.md b/content/desktop/contributing-and-collaborating-using-github-desktop/index.md index e3307b650b..a98d16ff30 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/index.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/index.md @@ -5,7 +5,7 @@ intro: 'Use GitHub Desktop to manage your projects, create meaningful commits, a redirect_from: - /desktop/contributing-to-projects versions: - free-pro-team: '*' + fpt: '*' children: - /adding-and-cloning-repositories - /making-changes-in-a-branch diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/index.md b/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/index.md index f8680be9fb..f8d09393aa 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/index.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/index.md @@ -2,7 +2,7 @@ title: Keeping your local repository in sync with GitHub intro: 'You can keep your local repository in sync with your remote repository as you make changes to either one. In Git, a *remote* is the server where your code is stored. In your case, that server is a repository on {% data variables.product.prodname_dotcom %} or {% data variables.product.prodname_enterprise %}.' versions: - free-pro-team: '*' + fpt: '*' children: - /syncing-your-branch --- diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/syncing-your-branch.md b/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/syncing-your-branch.md index a1035d82c4..a76fa9f395 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/syncing-your-branch.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/keeping-your-local-repository-in-sync-with-github/syncing-your-branch.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/contributing-to-projects/syncing-your-branch - /desktop/contributing-and-collaborating-using-github-desktop/syncing-your-branch versions: - free-pro-team: '*' + fpt: '*' --- ## About branch synchronization diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project.md b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project.md index 835c4caf3c..d3c5e83fcb 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/committing-and-reviewing-changes-to-your-project.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project - /desktop/contributing-and-collaborating-using-github-desktop/committing-and-reviewing-changes-to-your-project versions: - free-pro-team: '*' + fpt: '*' --- ## About commits diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/index.md b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/index.md index a08d2cc919..adc3a09344 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/index.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/index.md @@ -4,7 +4,7 @@ intro: 'Use your favorite text editor, such as [Atom](https://atom.io/), to make redirect_from: - /desktop/contributing-to-projects/making-changes-in-a-branch versions: - free-pro-team: '*' + fpt: '*' children: - /managing-branches - /committing-and-reviewing-changes-to-your-project diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md index 033e28d1d4..ad8cfb8618 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/managing-branches.md @@ -7,7 +7,7 @@ redirect_from: - /desktop/contributing-to-projects/managing-branches - /desktop/contributing-and-collaborating-using-github-desktop/managing-branches versions: - free-pro-team: '*' + fpt: '*' --- ## About managing branches You can use branches to safely experiment with changes to your project. Branches isolate your development work from other branches in the repository. For example, you could use a branch to develop a new feature or fix a bug. diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github.md b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github.md index 8602267ec1..e8381f393e 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/pushing-changes-to-github.md @@ -7,7 +7,7 @@ redirect_from: - /desktop/contributing-to-projects/pushing-changes-to-github - /desktop/contributing-and-collaborating-using-github-desktop/pushing-changes-to-github versions: - free-pro-team: '*' + fpt: '*' --- ## About pushing changes to {% data variables.product.prodname_dotcom %} diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/stashing-changes.md b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/stashing-changes.md index 1d4db63e4d..8b343bf5d3 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/stashing-changes.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/stashing-changes.md @@ -2,7 +2,7 @@ title: Stashing changes intro: You can temporarily save your changes without committing them to a branch by stashing the changes. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /desktop/contributing-and-collaborating-using-github-desktop/stashing-changes --- diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/viewing-the-branch-history.md b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/viewing-the-branch-history.md index 8b1fef42e9..0a126f7930 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/viewing-the-branch-history.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/making-changes-in-a-branch/viewing-the-branch-history.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/contributing-to-projects/viewing-the-branch-history - /desktop/contributing-and-collaborating-using-github-desktop/viewing-the-branch-history versions: - free-pro-team: '*' + fpt: '*' --- Each commit shows: diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/amending-a-commit.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/amending-a-commit.md index 58bad2bef5..4556ac8412 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/amending-a-commit.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/amending-a-commit.md @@ -2,7 +2,7 @@ title: Amending a commit intro: 'You can use {% data variables.product.prodname_desktop %} to amend your last commit.' versions: - free-pro-team: '*' + fpt: '*' --- ## About amending a commit diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/cherry-picking-a-commit.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/cherry-picking-a-commit.md index 59e05f0dd8..fb10d4c9cd 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/cherry-picking-a-commit.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/cherry-picking-a-commit.md @@ -2,7 +2,7 @@ title: Cherry-picking a commit intro: You can pick a specific commit on one branch and copy the commit to another branch. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /desktop/contributing-and-collaborating-using-github-desktop/cherry-picking-a-commit --- diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/index.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/index.md index b0dcda3b62..b9158d0f62 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/index.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/index.md @@ -2,7 +2,7 @@ title: Managing commits intro: 'You can use {% data variables.product.prodname_desktop %} to amend, cherry-pick, reorder, revert, and squash commits.' versions: - free-pro-team: '*' + fpt: '*' children: - /reverting-a-commit - /cherry-picking-a-commit @@ -11,3 +11,4 @@ children: - /amending-a-commit - /managing-tags --- + diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags.md index 086924d4c4..6313f29388 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/contributing-to-projects/managing-tags - /desktop/contributing-and-collaborating-using-github-desktop/managing-tags versions: - free-pro-team: '*' + fpt: '*' --- ## About tags in {% data variables.product.prodname_desktop %} diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reordering-commits.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reordering-commits.md index 94ef5aa108..583a483c76 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reordering-commits.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reordering-commits.md @@ -1,8 +1,8 @@ --- title: Reordering commits -intro: "You can use {% data variables.product.prodname_desktop %} to reorder commits in your branch's history." +intro: 'You can use {% data variables.product.prodname_desktop %} to reorder commits in your branch''s history.' versions: - free-pro-team: '*' + fpt: '*' --- ## About reordering a commit diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit.md index b95862daed..0f900dd7d8 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/reverting-a-commit.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/contributing-to-projects/reverting-a-commit - /desktop/contributing-and-collaborating-using-github-desktop/reverting-a-commit versions: - free-pro-team: '*' + fpt: '*' --- When you revert to a previous commit, the revert is also a commit. The original commit also remains in the repository's history. diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md index fcc1591713..25aa8bdc8b 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/squashing-commits.md @@ -1,8 +1,8 @@ --- title: Squashing commits -intro: "You can use {% data variables.product.prodname_desktop %} to squash commits in your branch's history." +intro: 'You can use {% data variables.product.prodname_desktop %} to squash commits in your branch''s history.' versions: - free-pro-team: '*' + fpt: '*' --- ## About squashing a commit diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/changing-a-remotes-url-from-github-desktop.md b/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/changing-a-remotes-url-from-github-desktop.md index d2901137fb..35c5928e74 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/changing-a-remotes-url-from-github-desktop.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/changing-a-remotes-url-from-github-desktop.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/contributing-to-projects/changing-a-remote-s-url-from-github-desktop - /desktop/contributing-and-collaborating-using-github-desktop/changing-a-remotes-url-from-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- {% mac %} diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md b/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md index 064a3e6785..9dc1d0b79b 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request.md @@ -7,7 +7,7 @@ redirect_from: - /desktop/contributing-to-projects/creating-a-pull-request - /desktop/contributing-and-collaborating-using-github-desktop/creating-an-issue-or-pull-request versions: - free-pro-team: '*' + fpt: '*' --- ## About issues and pull requests diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/index.md b/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/index.md index 9c08c681a1..c0460db75b 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/index.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/index.md @@ -4,7 +4,7 @@ intro: 'As you make changes to your project locally, you can keep them up-to-dat redirect_from: - /desktop/contributing-to-projects/working-with-your-remote-repository-on-github-or-github-enterprise versions: - free-pro-team: '*' + fpt: '*' children: - /creating-an-issue-or-pull-request - /viewing-a-pull-request-in-github-desktop diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-a-pull-request-in-github-desktop.md b/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-a-pull-request-in-github-desktop.md index f133170d21..cbbd24efa4 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-a-pull-request-in-github-desktop.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/working-with-your-remote-repository-on-github-or-github-enterprise/viewing-a-pull-request-in-github-desktop.md @@ -7,7 +7,7 @@ redirect_from: - /desktop/contributing-and-collaborating-using-github-desktop/accessing-a-pull-request-locally - /desktop/contributing-and-collaborating-using-github-desktop/viewing-a-pull-request-in-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- ## About pull requests in {% data variables.product.prodname_desktop %} You can view pull requests that you or your collaborators have proposed in {% data variables.product.prodname_desktop %}. Pull requests let you propose changes to projects, provide feedback and reviews, and merge changes into projects. For more information, see "[About pull requests](/github/collaborating-with-issues-and-pull-requests/about-pull-requests)." diff --git a/content/desktop/index.md b/content/desktop/index.md index ac8781c861..99267953cd 100644 --- a/content/desktop/index.md +++ b/content/desktop/index.md @@ -3,7 +3,7 @@ title: GitHub Desktop Documentation shortTitle: GitHub Desktop intro: Step-by-step guides to set up and use GitHub Desktop to manage your project work. versions: - free-pro-team: '*' + fpt: '*' children: - /installing-and-configuring-github-desktop - /contributing-and-collaborating-using-github-desktop diff --git a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/about-git-large-file-storage-and-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/about-git-large-file-storage-and-github-desktop.md index 6f76c516e5..054bcb4e45 100644 --- a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/about-git-large-file-storage-and-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/about-git-large-file-storage-and-github-desktop.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/about-git-large-file-storage-and-github-desktop - /desktop/installing-and-configuring-github-desktop/about-git-large-file-storage-and-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- When you install {% data variables.product.prodname_desktop %}, {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) is installed, too. {% data variables.large_files.product_name_short %} lets you push files to {% data variables.product.prodname_dotcom %} that exceed the normal limit of {% data variables.large_files.max_github_size %}. For more information about {% data variables.large_files.product_name_short %}, see "[About {% data variables.large_files.product_name_long %}](/github/managing-large-files/about-git-large-file-storage)." diff --git a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor.md b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor.md index d6754af5d7..9224e2b9ea 100644 --- a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor.md +++ b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-a-default-editor.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/configuring-a-default-editor - /desktop/installing-and-configuring-github-desktop/configuring-a-default-editor versions: - free-pro-team: '*' + fpt: '*' --- ## Supported editors diff --git a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-basic-settings.md b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-basic-settings.md index 646746a608..fe77568268 100644 --- a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-basic-settings.md +++ b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-basic-settings.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/configuring-basic-settings - /desktop/installing-and-configuring-github-desktop/configuring-basic-settings versions: - free-pro-team: '*' + fpt: '*' --- {% mac %} diff --git a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop.md index 1a47fa879e..7be89fbe02 100644 --- a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/configuring-git-for-github-desktop.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/configuring-git-for-github-desktop - /desktop/installing-and-configuring-github-desktop/configuring-git-for-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- {% data variables.product.prodname_desktop %} uses the email address you set in your local Git configuration to connect commits with your account on {% data variables.product.product_name %}. diff --git a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/index.md b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/index.md index a49fd09aee..3e88d79986 100644 --- a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/index.md +++ b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/index.md @@ -4,7 +4,7 @@ intro: 'Set up Git, connect your default editor, and customize settings to align redirect_from: - /desktop/getting-started-with-github-desktop/configuring-and-customizing-github-desktop versions: - free-pro-team: '*' + fpt: '*' children: - /configuring-git-for-github-desktop - /configuring-basic-settings diff --git a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/setting-a-theme-for-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/setting-a-theme-for-github-desktop.md index f8c85cbdd7..4b0152d703 100644 --- a/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/setting-a-theme-for-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/configuring-and-customizing-github-desktop/setting-a-theme-for-github-desktop.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/setting-a-theme-for-github-desktop - /desktop/installing-and-configuring-github-desktop/setting-a-theme-for-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- {% mac %} diff --git a/content/desktop/installing-and-configuring-github-desktop/index.md b/content/desktop/installing-and-configuring-github-desktop/index.md index 354cea19ae..a9c4dcdd19 100644 --- a/content/desktop/installing-and-configuring-github-desktop/index.md +++ b/content/desktop/installing-and-configuring-github-desktop/index.md @@ -5,7 +5,7 @@ intro: 'Get {% data variables.product.prodname_desktop %} set up to manage your redirect_from: - /desktop/getting-started-with-github-desktop versions: - free-pro-team: '*' + fpt: '*' children: - /overview - /installing-and-authenticating-to-github-desktop diff --git a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/about-connections-to-github.md b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/about-connections-to-github.md index dd756e2cf6..836e59a4f9 100644 --- a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/about-connections-to-github.md +++ b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/about-connections-to-github.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/about-connections-to-github - /desktop/installing-and-configuring-github-desktop/about-connections-to-github versions: - free-pro-team: '*' + fpt: '*' --- {% data variables.product.prodname_desktop %} connects to {% data variables.product.prodname_dotcom %} when you pull from, push to, clone, and fork remote repositories. To connect to {% data variables.product.prodname_dotcom %} from {% data variables.product.prodname_desktop %}, you must authenticate your account. For more information, see "[Authenticating to {% data variables.product.prodname_dotcom %}](/desktop/getting-started-with-github-desktop/authenticating-to-github)." diff --git a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github.md b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github.md index 3256d611eb..4f29d30234 100644 --- a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github.md +++ b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/authenticating-to-github.md @@ -7,7 +7,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/authenticating-to-github - /desktop/installing-and-configuring-github-desktop/authenticating-to-github versions: - free-pro-team: '*' + fpt: '*' --- ## About authentication diff --git a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/index.md b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/index.md index bde6624993..6a5e7eecb1 100644 --- a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/index.md +++ b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/index.md @@ -4,7 +4,7 @@ intro: Install GitHub Desktop and connect your GitHub or GitHub Enterprise accou redirect_from: - /desktop/getting-started-with-github-desktop/installing-and-authenticating-to-github-desktop versions: - free-pro-team: '*' + fpt: '*' children: - /setting-up-github-desktop - /installing-github-desktop diff --git a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop.md index e9a3122d5f..a64e3a686c 100644 --- a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/installing-github-desktop - /desktop/installing-and-configuring-github-desktop/installing-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- ## About {% data variables.product.prodname_desktop %} installation diff --git a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop.md index f4c27d7792..609af94809 100644 --- a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/setting-up-github-desktop - /desktop/installing-and-configuring-github-desktop/setting-up-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- ## Part 1: Installing {% data variables.product.prodname_desktop %} diff --git a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop.md index 152baf47d1..cc15fdc329 100644 --- a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/uninstalling-github-desktop.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/uninstalling-github-desktop - /desktop/installing-and-configuring-github-desktop/uninstalling-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- {% mac %} diff --git a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/updating-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/updating-github-desktop.md index 2c05752492..4c9a0b6946 100644 --- a/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/updating-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/installing-and-authenticating-to-github-desktop/updating-github-desktop.md @@ -5,7 +5,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/updating-github-desktop - /desktop/installing-and-configuring-github-desktop/updating-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- {% mac %} diff --git a/content/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop.md index 9820a1ac44..d22489d472 100644 --- a/content/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/overview/creating-your-first-repository-using-github-desktop.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/creating-your-first-repository-using-github-desktop - /desktop/installing-and-configuring-github-desktop/creating-your-first-repository-using-github-desktop versions: - free-pro-team: '*' + fpt: '*' --- ## Introduction {% data variables.product.prodname_desktop %} extends and simplifies your {% data variables.product.prodname_dotcom_the_website %} workflow, using a visual interface instead of text commands on the command line. By the end of this guide, you'll have used {% data variables.product.prodname_desktop %} to create a repository, make changes to the repository, and publish the changes to {% data variables.product.product_name %}. diff --git a/content/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop.md b/content/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop.md index 9fca959d36..d98b297110 100644 --- a/content/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop.md +++ b/content/desktop/installing-and-configuring-github-desktop/overview/getting-started-with-github-desktop.md @@ -3,7 +3,7 @@ title: Getting started with GitHub Desktop intro: 'Learn how to set up, authenticate, and configure {% data variables.product.prodname_desktop %} to allow you to contribute to projects directly from your machine.' miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop --- diff --git a/content/desktop/installing-and-configuring-github-desktop/overview/index.md b/content/desktop/installing-and-configuring-github-desktop/overview/index.md index 02191e735f..79e17725d8 100644 --- a/content/desktop/installing-and-configuring-github-desktop/overview/index.md +++ b/content/desktop/installing-and-configuring-github-desktop/overview/index.md @@ -4,7 +4,7 @@ intro: Learn about GitHub Desktop and quickly create your first repository. redirect_from: - /desktop/getting-started-with-github-desktop/overview versions: - free-pro-team: '*' + fpt: '*' children: - /getting-started-with-github-desktop - /creating-your-first-repository-using-github-desktop diff --git a/content/desktop/installing-and-configuring-github-desktop/overview/keyboard-shortcuts.md b/content/desktop/installing-and-configuring-github-desktop/overview/keyboard-shortcuts.md index 4e8ce90ca6..ae127fcf00 100644 --- a/content/desktop/installing-and-configuring-github-desktop/overview/keyboard-shortcuts.md +++ b/content/desktop/installing-and-configuring-github-desktop/overview/keyboard-shortcuts.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/keyboard-shortcuts - /desktop/installing-and-configuring-github-desktop/keyboard-shortcuts versions: - free-pro-team: '*' + fpt: '*' --- {% mac %} diff --git a/content/desktop/installing-and-configuring-github-desktop/overview/launching-github-desktop-from-the-command-line.md b/content/desktop/installing-and-configuring-github-desktop/overview/launching-github-desktop-from-the-command-line.md index d19cbbad8c..c0f1fec257 100644 --- a/content/desktop/installing-and-configuring-github-desktop/overview/launching-github-desktop-from-the-command-line.md +++ b/content/desktop/installing-and-configuring-github-desktop/overview/launching-github-desktop-from-the-command-line.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/launching-github-desktop-from-the-command-line - /desktop/installing-and-configuring-github-desktop/launching-github-desktop-from-the-command-line versions: - free-pro-team: '*' + fpt: '*' --- {% mac %} diff --git a/content/desktop/installing-and-configuring-github-desktop/overview/supported-operating-systems.md b/content/desktop/installing-and-configuring-github-desktop/overview/supported-operating-systems.md index a60e75bcf7..bbba25e513 100644 --- a/content/desktop/installing-and-configuring-github-desktop/overview/supported-operating-systems.md +++ b/content/desktop/installing-and-configuring-github-desktop/overview/supported-operating-systems.md @@ -6,7 +6,7 @@ redirect_from: - /desktop/getting-started-with-github-desktop/supported-operating-systems - /desktop/installing-and-configuring-github-desktop/supported-operating-systems versions: - free-pro-team: '*' + fpt: '*' --- ## About supported operating systems diff --git a/content/developers/apps/building-github-apps/authenticating-with-github-apps.md b/content/developers/apps/building-github-apps/authenticating-with-github-apps.md index 8430600e70..3f7ed42cb2 100644 --- a/content/developers/apps/building-github-apps/authenticating-with-github-apps.md +++ b/content/developers/apps/building-github-apps/authenticating-with-github-apps.md @@ -7,13 +7,13 @@ redirect_from: - /apps/building-github-apps/authenticating-with-github-apps - /developers/apps/authenticating-with-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} {% data reusables.pre-release-program.machine-man-preview %} {% data reusables.pre-release-program.api-preview-warning %} {% endif %} @@ -41,7 +41,7 @@ To generate a private key: {% endnote %} ## Verifying private keys -{% data variables.product.product_name %} generates a fingerprint for each private and public key pair using the {% if currentVersion ver_lt "enterprise-server@2.23" %}SHA-1{% else %}SHA-256{% endif %} hash function. You can verify that your private key matches the public key stored on {% data variables.product.product_name %} by generating the fingerprint of your private key and comparing it to the fingerprint shown on {% data variables.product.product_name %}. +{% data variables.product.product_name %} generates a fingerprint for each private and public key pair using the {% ifversion ghes < 3.0 %}SHA-1{% else %}SHA-256{% endif %} hash function. You can verify that your private key matches the public key stored on {% data variables.product.product_name %} by generating the fingerprint of your private key and comparing it to the fingerprint shown on {% data variables.product.product_name %}. To verify a private key: @@ -49,7 +49,7 @@ To verify a private key: ![Private key fingerprint](/assets/images/github-apps/github_apps_private_key_fingerprint.png) 2. Generate the fingerprint of your private key (PEM) locally by using the following command: ```shell - $ openssl rsa -in PATH_TO_PEM_FILE -pubout -outform DER | openssl {% if currentVersion ver_lt "enterprise-server@2.23" %}sha1 -c{% else %}sha256 -binary | openssl base64{% endif %} + $ openssl rsa -in PATH_TO_PEM_FILE -pubout -outform DER | openssl {% ifversion ghes < 3.0 %}sha1 -c{% else %}sha256 -binary | openssl base64{% endif %} ``` 3. Compare the results of the locally generated fingerprint to the fingerprint you see in {% data variables.product.product_name %}. @@ -97,7 +97,7 @@ Use your {% data variables.product.prodname_github_app %}'s identifier (`YOUR_AP After creating the JWT, set it in the `Header` of the API request: -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} ```shell $ curl -i -H "Authorization: Bearer YOUR_JWT" -H "Accept: application/vnd.github.machine-man-preview+json" {% data variables.product.api_url_pre %}/app ``` @@ -132,7 +132,7 @@ By default, installation access tokens are scoped to all the repositories that a To list the installations for an authenticated app, include the JWT [generated above](#jwt-payload) in the Authorization header in the API request: -{% if currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} ```shell $ curl -i -X GET \ -H "Authorization: Bearer YOUR_JWT" \ @@ -152,7 +152,7 @@ The response will include a list of installations where each installation's `id` To create an installation access token, include the JWT [generated above](#jwt-payload) in the Authorization header in the API request and replace `:installation_id` with the installation's `id`: -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} ```shell $ curl -i -X POST \ -H "Authorization: Bearer YOUR_JWT" \ @@ -172,7 +172,7 @@ The response will include your installation access token, the expiration date, t To authenticate with an installation access token, include it in the Authorization header in the API request: -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} ```shell $ curl -i \ -H "Authorization: token YOUR_INSTALLATION_ACCESS_TOKEN" \ diff --git a/content/developers/apps/building-github-apps/creating-a-custom-badge-for-your-github-app.md b/content/developers/apps/building-github-apps/creating-a-custom-badge-for-your-github-app.md index 50ffd10b33..bc8af8a0c6 100644 --- a/content/developers/apps/building-github-apps/creating-a-custom-badge-for-your-github-app.md +++ b/content/developers/apps/building-github-apps/creating-a-custom-badge-for-your-github-app.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-github-apps/creating-custom-badges-for-github-apps - /developers/apps/creating-a-custom-badge-for-your-github-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -18,9 +18,9 @@ An identicon badge looks something like this: After you create a GitHub App, you can customize your app's badge by uploading a logo and selecting a background color. A badge is a square logo image inside of a circular badge. You can choose a background color for the badge, which can visually distinguish your app. -Your logo should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend an image size of at least 200px x 200px. {% if currentVersion == "free-pro-team@latest" %}See "[Tips for logo and badge images](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#guidelines-for-logos)" for more guidance on customizing badges.{% endif %} +Your logo should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend an image size of at least 200px x 200px. {% ifversion fpt %}See "[Tips for logo and badge images](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#guidelines-for-logos)" for more guidance on customizing badges.{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can change a custom badge for a GitHub App that already has an approved Marketplace listing by navigating to https://github.com/marketplace/manage. @@ -36,10 +36,10 @@ To create a custom badge: ![Upload a logo](/assets/images/github-apps/github_apps_upload_logo.png) 6. Crop your picture. When you're done, click **Set new avatar**. ![Crop and set logo ](/assets/images/github-apps/github_apps_crop_and_set_avatar.png) -7. In "Badge background color", type the [hexadecimal color code](http://www.color-hex.com/) of the background color for your badge. {% if currentVersion == "free-pro-team@latest" %}**Note:** The "Badge background color" input field will only appear after you upload an application logo.{% endif %} +7. In "Badge background color", type the [hexadecimal color code](http://www.color-hex.com/) of the background color for your badge. {% ifversion fpt %}**Note:** The "Badge background color" input field will only appear after you upload an application logo.{% endif %} ![Badge background color](/assets/images/github-apps/github_apps_badge_background_color.png) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Next steps diff --git a/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md b/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md index dfe3589e7f..1df9a8642d 100644 --- a/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md +++ b/content/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-github-apps/creating-github-apps-from-a-manifest - /developers/apps/creating-a-github-app-from-a-manifest versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -58,7 +58,7 @@ The person creating the app will be redirected to a GitHub page with an input fi `name` | `string` | The name of the GitHub App. `url` | `string` | **Required.** The homepage of your GitHub App. `hook_attributes` | `object` | The configuration of the GitHub App's webhook. -`redirect_url` | `string` | The full URL to redirect to after a user initiates the creation of a GitHub App from a manifest.{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.0" %} +`redirect_url` | `string` | The full URL to redirect to after a user initiates the creation of a GitHub App from a manifest.{% ifversion fpt or ghae-next or ghes > 3.0 %} `callback_urls` | `array of strings` | A full URL to redirect to after someone authorizes an installation. You can provide up to 10 callback URLs.{% else %} `callback_url` | `string` | A full URL to redirect to after someone authorizes an installation.{% endif %} `description` | `string` | A description of the GitHub App. @@ -98,7 +98,7 @@ This example uses a form on a web page with a button that triggers the `POST` re "url": "https://example.com/github/events", }, "redirect_url": "https://example.com/redirect", - {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.0" %}"callback_urls": [ + {% ifversion fpt or ghae-next or ghes > 3.0 %}"callback_urls": [ "https://example.com/callback" ],{% else %}"callback_url": "https://example.com/callback",{% endif %} "public": true, @@ -133,7 +133,7 @@ This example uses a form on a web page with a button that triggers the `POST` re "url": "https://example.com/github/events", }, "redirect_url": "https://example.com/redirect", - {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.0" %}"callback_urls": [ + {% ifversion fpt or ghae-next or ghes > 3.0 %}"callback_urls": [ "https://example.com/callback" ],{% else %}"callback_url": "https://example.com/callback",{% endif %} "public": true, diff --git a/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md b/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md index d3201bf53d..5743b6657e 100644 --- a/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md +++ b/content/developers/apps/building-github-apps/creating-a-github-app-using-url-parameters.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-github-apps/creating-github-apps-using-url-parameters - /developers/apps/creating-a-github-app-using-url-parameters versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -20,13 +20,13 @@ You can add query parameters to these URLs to preselect the configuration of a { The person creating the app can edit the preselected values from the {% data variables.product.prodname_github_app %} registration page, before submitting the app. If you do not include required parameters in the URL query string, like `name`, the person creating the app will need to input a value before submitting the app. -{% if currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" %} +{% ifversion ghes > 3.1 or fpt or ghae-next %} For apps that require a secret to secure their webhook, the secret's value must be set in the form by the person creating the app, not by using query parameters. For more information, see "[Securing your webhooks](/developers/webhooks-and-events/webhooks/securing-your-webhooks)." {% endif %} The following URL creates a new public app called `octocat-github-app` with a preconfigured description and callback URL. This URL also selects read and write permissions for `checks`, subscribes to the `check_run` and `check_suite` webhook events, and selects the option to request user authorization (OAuth) during installation: -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghae-next or ghes > 3.0 %} ```text {% data variables.product.oauth_host_code %}/settings/apps/new?name=octocat-github-app&description=An%20Octocat%20App&callback_urls[]=https://example.com&request_oauth_on_install=true&public=true&checks=write&events[]=check_run&events[]=check_suite @@ -48,7 +48,7 @@ The complete list of available query parameters, permissions, and events is list -----|------|------------- `name` | `string` | The name of the {% data variables.product.prodname_github_app %}. Give your app a clear and succinct name. Your app cannot have the same name as an existing GitHub user, unless it is your own user or organization name. A slugged version of your app's name will be shown in the user interface when your integration takes an action. `description` | `string` | A description of the {% data variables.product.prodname_github_app %}. -`url` | `string` | The full URL of your {% data variables.product.prodname_github_app %}'s website homepage.{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.0" %} +`url` | `string` | The full URL of your {% data variables.product.prodname_github_app %}'s website homepage.{% ifversion fpt or ghae-next or ghes > 3.0 %} `callback_urls` | `array of strings` | A full URL to redirect to after someone authorizes an installation. You can provide up to 10 callback URLs. These URLs are used if your app needs to identify and authorize user-to-server requests. For example, `callback_urls[]=https://example.com&callback_urls[]=https://example-2.com`.{% else %} `callback_url` | `string` | The full URL to redirect to after someone authorizes an installation. This URL is used if your app needs to identify and authorize user-to-server requests.{% endif %} `request_oauth_on_install` | `boolean` | If your app authorizes users using the OAuth flow, you can set this option to `true` to allow people to authorize the app when they install it, saving a step. If you select this option, the `setup_url` becomes unavailable and users will be redirected to your `callback_url` after installing the app. @@ -56,10 +56,10 @@ The complete list of available query parameters, permissions, and events is list `setup_on_update` | `boolean` | Set to `true` to redirect people to the setup URL when installations have been updated, for example, after repositories are added or removed. `public` | `boolean` | Set to `true` when your {% data variables.product.prodname_github_app %} is available to the public or `false` when it is only accessible to the owner of the app. `webhook_url` | `string` | The full URL that you would like to send webhook event payloads to. -{% if currentVersion ver_lt "enterprise-server@3.2" or currentVersion == "github-ae@latest" %}`webhook_secret` | `string` | You can specify a secret to secure your webhooks. See "[Securing your webhooks](/webhooks/securing/)" for more details. +{% ifversion ghes < 3.2 or ghae %}`webhook_secret` | `string` | You can specify a secret to secure your webhooks. See "[Securing your webhooks](/webhooks/securing/)" for more details. {% endif %}`events` | `array of strings` | Webhook events. Some webhook events require `read` or `write` permissions for a resource before you can select the event when registering a new {% data variables.product.prodname_github_app %}. See the "[{% data variables.product.prodname_github_app %} webhook events](#github-app-webhook-events)" section for available events and their required permissions. You can select multiple events in a query string. For example, `events[]=public&events[]=label`. `domain` | `string` | The URL of a content reference. -`single_file_name` | `string` | This is a narrowly-scoped permission that allows the app to access a single file in any repository. When you set the `single_file` permission to `read` or `write`, this field provides the path to the single file your {% data variables.product.prodname_github_app %} will manage. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} If you need to manage multiple files, see `single_file_paths` below. {% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +`single_file_name` | `string` | This is a narrowly-scoped permission that allows the app to access a single file in any repository. When you set the `single_file` permission to `read` or `write`, this field provides the path to the single file your {% data variables.product.prodname_github_app %} will manage. {% ifversion fpt or ghes > 2.22 %} If you need to manage multiple files, see `single_file_paths` below. {% endif %}{% ifversion fpt or ghes > 2.22 %} `single_file_paths` | `array of strings` | This allows the app to access up ten specified files in a repository. When you set the `single_file` permission to `read` or `write`, this array can store the paths for up to ten files that your {% data variables.product.prodname_github_app %} will manage. These files all receive the same permission set by `single_file`, and do not have separate individual permissions. When two or more files are configured, the API returns `multiple_single_files=true`, otherwise it returns `multiple_single_files=false`.{% endif %} ## {% data variables.product.prodname_github_app %} permissions @@ -68,35 +68,35 @@ You can select permissions in a query string using the permission name in the fo Permission | Description ---------- | ----------- -[`administration`](/rest/reference/permissions-required-for-github-apps/#permission-on-administration) | Grants access to various endpoints for organization and repository administration. Can be one of: `none`, `read`, or `write`.{% if currentVersion == "free-pro-team@latest" %} +[`administration`](/rest/reference/permissions-required-for-github-apps/#permission-on-administration) | Grants access to various endpoints for organization and repository administration. Can be one of: `none`, `read`, or `write`.{% ifversion fpt %} [`blocking`](/rest/reference/permissions-required-for-github-apps/#permission-on-blocking) | Grants access to the [Blocking Users API](/rest/reference/users#blocking). Can be one of: `none`, `read`, or `write`.{% endif %} [`checks`](/rest/reference/permissions-required-for-github-apps/#permission-on-checks) | Grants access to the [Checks API](/rest/reference/checks). Can be one of: `none`, `read`, or `write`. `content_references` | Grants access to the "[Create a content attachment](/rest/reference/apps#create-a-content-attachment)" endpoint. Can be one of: `none`, `read`, or `write`. [`contents`](/rest/reference/permissions-required-for-github-apps/#permission-on-contents) | Grants access to various endpoints that allow you to modify repository contents. Can be one of: `none`, `read`, or `write`. -[`deployments`](/rest/reference/permissions-required-for-github-apps/#permission-on-deployments) | Grants access to the [Deployments API](/rest/reference/repos#deployments). Can be one of: `none`, `read`, or `write`.{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +[`deployments`](/rest/reference/permissions-required-for-github-apps/#permission-on-deployments) | Grants access to the [Deployments API](/rest/reference/repos#deployments). Can be one of: `none`, `read`, or `write`.{% ifversion fpt or ghes %} [`emails`](/rest/reference/permissions-required-for-github-apps/#permission-on-emails) | Grants access to the [Emails API](/rest/reference/users#emails). Can be one of: `none`, `read`, or `write`.{% endif %} [`followers`](/rest/reference/permissions-required-for-github-apps/#permission-on-followers) | Grants access to the [Followers API](/rest/reference/users#followers). Can be one of: `none`, `read`, or `write`. [`gpg_keys`](/rest/reference/permissions-required-for-github-apps/#permission-on-gpg-keys) | Grants access to the [GPG Keys API](/rest/reference/users#gpg-keys). Can be one of: `none`, `read`, or `write`. [`issues`](/rest/reference/permissions-required-for-github-apps/#permission-on-issues) | Grants access to the [Issues API](/rest/reference/issues). Can be one of: `none`, `read`, or `write`. [`keys`](/rest/reference/permissions-required-for-github-apps/#permission-on-keys) | Grants access to the [Public Keys API](/rest/reference/users#keys). Can be one of: `none`, `read`, or `write`. -[`members`](/rest/reference/permissions-required-for-github-apps/#permission-on-members) | Grants access to manage an organization's members. Can be one of: `none`, `read`, or `write`.{% if currentVersion == "free-pro-team@latest" %} +[`members`](/rest/reference/permissions-required-for-github-apps/#permission-on-members) | Grants access to manage an organization's members. Can be one of: `none`, `read`, or `write`.{% ifversion fpt %} [`metadata`](/rest/reference/permissions-required-for-github-apps/#metadata-permissions) | Grants access to read-only endpoints that do not leak sensitive data. Can be `read` or `none`. Defaults to `read` when you set any permission, or defaults to `none` when you don't specify any permissions for the {% data variables.product.prodname_github_app %}. [`organization_administration`](/rest/reference/permissions-required-for-github-apps/#permission-on-organization-administration) | Grants access to "[Update an organization](/rest/reference/orgs#update-an-organization)" endpoint and the [Organization Interaction Restrictions API](/rest/reference/interactions#set-interaction-restrictions-for-an-organization). Can be one of: `none`, `read`, or `write`.{% endif %} [`organization_hooks`](/rest/reference/permissions-required-for-github-apps/#permission-on-organization-hooks) | Grants access to the [Organization Webhooks API](/rest/reference/orgs#webhooks/). Can be one of: `none`, `read`, or `write`. `organization_plan` | Grants access to get information about an organization's plan using the "[Get an organization](/rest/reference/orgs#get-an-organization)" endpoint. Can be one of: `none` or `read`. -[`organization_projects`](/rest/reference/permissions-required-for-github-apps/#permission-on-organization-projects) | Grants access to the [Projects API](/rest/reference/projects). Can be one of: `none`, `read`, `write`, or `admin`.{% if currentVersion == "free-pro-team@latest" %} +[`organization_projects`](/rest/reference/permissions-required-for-github-apps/#permission-on-organization-projects) | Grants access to the [Projects API](/rest/reference/projects). Can be one of: `none`, `read`, `write`, or `admin`.{% ifversion fpt %} [`organization_user_blocking`](/rest/reference/permissions-required-for-github-apps/#permission-on-organization-projects) | Grants access to the [Blocking Organization Users API](/rest/reference/orgs#blocking). Can be one of: `none`, `read`, or `write`.{% endif %} [`pages`](/rest/reference/permissions-required-for-github-apps/#permission-on-pages) | Grants access to the [Pages API](/rest/reference/repos#pages). Can be one of: `none`, `read`, or `write`. `plan` | Grants access to get information about a user's GitHub plan using the "[Get a user](/rest/reference/users#get-a-user)" endpoint. Can be one of: `none` or `read`. [`pull_requests`](/rest/reference/permissions-required-for-github-apps/#permission-on-pull-requests) | Grants access to various pull request endpoints. Can be one of: `none`, `read`, or `write`. [`repository_hooks`](/rest/reference/permissions-required-for-github-apps/#permission-on-repository-hooks) | Grants access to the [Repository Webhooks API](/rest/reference/repos#hooks). Can be one of: `none`, `read`, or `write`. -[`repository_projects`](/rest/reference/permissions-required-for-github-apps/#permission-on-repository-projects) | Grants access to the [Projects API](/rest/reference/projects). Can be one of: `none`, `read`, `write`, or `admin`.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} -[`secret_scanning_alerts`](/rest/reference/permissions-required-for-github-apps/#permission-on-secret-scanning-alerts) | Grants access to the [Secret scanning API](/rest/reference/secret-scanning). Can be one of: `none`, `read`, or `write`.{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +[`repository_projects`](/rest/reference/permissions-required-for-github-apps/#permission-on-repository-projects) | Grants access to the [Projects API](/rest/reference/projects). Can be one of: `none`, `read`, `write`, or `admin`.{% ifversion fpt or ghes > 3.0 %} +[`secret_scanning_alerts`](/rest/reference/permissions-required-for-github-apps/#permission-on-secret-scanning-alerts) | Grants access to the [Secret scanning API](/rest/reference/secret-scanning). Can be one of: `none`, `read`, or `write`.{% endif %}{% ifversion fpt or ghes > 2.21 %} [`security_events`](/rest/reference/permissions-required-for-github-apps/#permission-on-security-events) | Grants access to the [Code scanning API](/rest/reference/code-scanning/). Can be one of: `none`, `read`, or `write`.{% endif %} [`single_file`](/rest/reference/permissions-required-for-github-apps/#permission-on-single-file) | Grants access to the [Contents API](/rest/reference/repos#contents). Can be one of: `none`, `read`, or `write`. [`starring`](/rest/reference/permissions-required-for-github-apps/#permission-on-starring) | Grants access to the [Starring API](/rest/reference/activity#starring). Can be one of: `none`, `read`, or `write`. [`statuses`](/rest/reference/permissions-required-for-github-apps/#permission-on-statuses) | Grants access to the [Statuses API](/rest/reference/repos#statuses). Can be one of: `none`, `read`, or `write`. -[`team_discussions`](/rest/reference/permissions-required-for-github-apps/#permission-on-team-discussions) | Grants access to the [Team Discussions API](/rest/reference/teams#discussions) and the [Team Discussion Comments API](/rest/reference/teams#discussion-comments). Can be one of: `none`, `read`, or `write`.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@1.19" %} +[`team_discussions`](/rest/reference/permissions-required-for-github-apps/#permission-on-team-discussions) | Grants access to the [Team Discussions API](/rest/reference/teams#discussions) and the [Team Discussion Comments API](/rest/reference/teams#discussion-comments). Can be one of: `none`, `read`, or `write`.{% ifversion fpt or ghes %} `vulnerability_alerts`| Grants access to receive security alerts for vulnerable dependencies in a repository. See "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies/)" to learn more. Can be one of: `none` or `read`.{% endif %} `watching` | Grants access to list and change repositories a user is subscribed to. Can be one of: `none`, `read`, or `write`. @@ -119,7 +119,7 @@ Webhook event name | Required permission | Description [`label`](/webhooks/event-payloads/#label) | `metadata` | {% data reusables.webhooks.label_short_desc %} [`member`](/webhooks/event-payloads/#member) | `members` | {% data reusables.webhooks.member_short_desc %} [`membership`](/webhooks/event-payloads/#membership) | `members` | {% data reusables.webhooks.membership_short_desc %} -[`milestone`](/webhooks/event-payloads/#milestone) | `pull_request` | {% data reusables.webhooks.milestone_short_desc %}{% if currentVersion == "free-pro-team@latest" %} +[`milestone`](/webhooks/event-payloads/#milestone) | `pull_request` | {% data reusables.webhooks.milestone_short_desc %}{% ifversion fpt %} [`org_block`](/webhooks/event-payloads/#org_block) | `organization_administration` | {% data reusables.webhooks.org_block_short_desc %}{% endif %} [`organization`](/webhooks/event-payloads/#organization) | `members` | {% data reusables.webhooks.organization_short_desc %} [`page_build`](/webhooks/event-payloads/#page_build) | `pages` | {% data reusables.webhooks.page_build_short_desc %} @@ -132,7 +132,7 @@ Webhook event name | Required permission | Description [`pull_request_review_comment`](/webhooks/event-payloads/#pull_request_review_comment) | `pull_request` | {% data reusables.webhooks.pull_request_review_comment_short_desc %} [`push`](/webhooks/event-payloads/#push) | `contents` | {% data reusables.webhooks.push_short_desc %} [`release`](/webhooks/event-payloads/#release) | `contents` | {% data reusables.webhooks.release_short_desc %} -[`repository`](/webhooks/event-payloads/#repository) |`metadata` | {% data reusables.webhooks.repository_short_desc %}{% if currentVersion == "free-pro-team@latest"%} +[`repository`](/webhooks/event-payloads/#repository) |`metadata` | {% data reusables.webhooks.repository_short_desc %}{% ifversion fpt %} [`repository_dispatch`](/webhooks/event-payloads/#repository_dispatch) | `contents` | Allows integrators using GitHub Actions to trigger custom events.{% endif %} [`status`](/webhooks/event-payloads/#status) | `statuses` | {% data reusables.webhooks.status_short_desc %} [`team`](/webhooks/event-payloads/#team) | `members` | {% data reusables.webhooks.team_short_desc %} diff --git a/content/developers/apps/building-github-apps/creating-a-github-app.md b/content/developers/apps/building-github-apps/creating-a-github-app.md index 06a7ffad96..3edbd99a1c 100644 --- a/content/developers/apps/building-github-apps/creating-a-github-app.md +++ b/content/developers/apps/building-github-apps/creating-a-github-app.md @@ -7,15 +7,15 @@ redirect_from: - /apps/building-github-apps/creating-a-github-app - /developers/apps/creating-a-github-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- -{% if currentVersion == "free-pro-team@latest" %}To learn how to use GitHub App Manifests, which allow people to create preconfigured GitHub Apps, see "[Creating GitHub Apps from a manifest](/apps/building-github-apps/creating-github-apps-from-a-manifest/)."{% endif %} +{% ifversion fpt %}To learn how to use GitHub App Manifests, which allow people to create preconfigured GitHub Apps, see "[Creating GitHub Apps from a manifest](/apps/building-github-apps/creating-github-apps-from-a-manifest/)."{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** {% data reusables.apps.maximum-github-apps-allowed %} @@ -37,7 +37,7 @@ topics: ![Field for a description of your GitHub App](/assets/images/github-apps/github_apps_description.png) 1. In "Homepage URL", type the full URL to your app's website. ![Field for the homepage URL of your GitHub App](/assets/images/github-apps/github_apps_homepage_url.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} 1. In "Callback URL", type the full URL to redirect to after a user authorizes the installation. This URL is used if your app needs to identify and authorize user-to-server requests. You can use **Add callback URL** to provide additional callback URLs, up to a maximum of 10. @@ -48,7 +48,7 @@ topics: ![Field for the user authorization callback URL of your GitHub App](/assets/images/github-apps/github_apps_user_authorization.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} 1. By default, to improve your app's security, your app will use expiring user authorization tokens. To opt-out of using expiring user tokens, you must deselect "Expire user authorization tokens". To learn more about setting up a refresh token flow and the benefits of expiring user tokens, see "[Refreshing user-to-server access tokens](/apps/building-github-apps/refreshing-user-to-server-access-tokens/)." ![Option to opt-in to expiring user tokens during GitHub Apps setup](/assets/images/github-apps/expire-user-tokens-selection.png) {% endif %} diff --git a/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md b/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md index 3c7d4a1e34..25d27f174b 100644 --- a/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md +++ b/content/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps.md @@ -7,9 +7,9 @@ redirect_from: - /apps/building-github-apps/identifying-and-authorizing-users-for-github-apps - /developers/apps/identifying-and-authorizing-users-for-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -23,7 +23,7 @@ When your GitHub App acts on behalf of a user, it performs user-to-server reques To authorize users for standard apps that run in the browser, use the [web application flow](#web-application-flow). -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} To authorize users for headless apps without direct access to the browser, such as CLI tools or Git credential managers, use the [device flow](#device-flow). The device flow uses the OAuth 2.0 [Device Authorization Grant](https://tools.ietf.org/html/rfc8628). {% endif %} @@ -48,7 +48,7 @@ When your GitHub App specifies a `login` parameter, it prompts users with a spec Name | Type | Description -----|------|------------ `client_id` | `string` | **Required.** The client ID for your GitHub App. You can find this in your [GitHub App settings](https://github.com/settings/apps) when you select your app. **Note:** The app ID and client ID are not the same, and are not interchangeable. -`redirect_uri` | `string` | The URL in your application where users will be sent after authorization. This must be an exact match to {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} one of the URLs you provided as a **Callback URL** {% else %} the URL you provided in the **User authorization callback URL** field{% endif %} when setting up your GitHub App and can't contain any additional parameters. +`redirect_uri` | `string` | The URL in your application where users will be sent after authorization. This must be an exact match to {% ifversion fpt or ghes > 3.0 %} one of the URLs you provided as a **Callback URL** {% else %} the URL you provided in the **User authorization callback URL** field{% endif %} when setting up your GitHub App and can't contain any additional parameters. `state` | `string` | This should contain a random string to protect against forgery attacks and could contain any other arbitrary data. `login` | `string` | Suggests a specific account to use for signing in and authorizing the app. `allow_signup` | `string` | Whether or not unauthenticated users will be offered an option to sign up for {% data variables.product.prodname_dotcom %} during the OAuth flow. The default is `true`. Use `false` when a policy prohibits signups. @@ -69,7 +69,7 @@ If the user accepts your request, GitHub redirects back to your site with a temp {% endnote %} -Exchange this `code` for an access token. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} When expiring tokens are enabled, the access token expires in 8 hours and the refresh token expires in 6 months. Every time you refresh the token, you get a new refresh token. For more information, see "[Refreshing user-to-server access tokens](/developers/apps/refreshing-user-to-server-access-tokens)." +Exchange this `code` for an access token. {% ifversion fpt or ghes > 2.21 or ghae %} When expiring tokens are enabled, the access token expires in 8 hours and the refresh token expires in 6 months. Every time you refresh the token, you get a new refresh token. For more information, see "[Refreshing user-to-server access tokens](/developers/apps/refreshing-user-to-server-access-tokens)." Expiring user tokens are currently an optional feature and subject to change. To opt-in to the user-to-server token expiration feature, see "[Activating optional features for apps](/developers/apps/activating-optional-features-for-apps)."{% endif %} @@ -82,20 +82,20 @@ Name | Type | Description `client_id` | `string` | **Required.** The client ID for your GitHub App. `client_secret` | `string` | **Required.** The client secret for your GitHub App. `code` | `string` | **Required.** The code you received as a response to Step 1. -`redirect_uri` | `string` | The URL in your application where users will be sent after authorization. This must be an exact match to {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} one of the URLs you provided as a **Callback URL** {% else %} the URL you provided in the **User authorization callback URL** field{% endif %} when setting up your GitHub App and can't contain any additional parameters. +`redirect_uri` | `string` | The URL in your application where users will be sent after authorization. This must be an exact match to {% ifversion fpt or ghes > 3.0 %} one of the URLs you provided as a **Callback URL** {% else %} the URL you provided in the **User authorization callback URL** field{% endif %} when setting up your GitHub App and can't contain any additional parameters. `state` | `string` | The unguessable random string you provided in Step 1. #### Response -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} By default, the response takes the following form. The response parameters `expires_in`, `refresh_token`, and `refresh_token_expires_in` are only returned when you enable expiring user-to-server access tokens. ```json { - "access_token": "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghu_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}", + "access_token": "{% ifversion fpt or ghes > 3.1 or ghae-next %}ghu_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}", "expires_in": 28800, - "refresh_token": "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498{% else %}r1.c1b4a2e77838347a7e420ce178f2e7c6912e1692{% endif %}", + "refresh_token": "{% ifversion fpt or ghes > 3.1 or ghae-next %}ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498{% else %}r1.c1b4a2e77838347a7e420ce178f2e7c6912e1692{% endif %}", "refresh_token_expires_in": 15811200, "scope": "", "token_type": "bearer" @@ -105,7 +105,7 @@ By default, the response takes the following form. The response parameters `expi By default, the response takes the following form: - access_token={% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghu_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}&token_type=bearer + access_token={% ifversion fpt or ghes > 3.1 or ghae-next %}ghu_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}&token_type=bearer {% endif %} @@ -122,10 +122,10 @@ For example, in curl you can set the Authorization header like this: curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} ## Device flow -{% if currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes < 3.1 %} {% note %} **Note:** The device flow is in public beta and subject to change. @@ -141,7 +141,7 @@ For more information about authorizing users using the device flow, see "[Author ## Check which installation's resources a user can access -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} {% data reusables.pre-release-program.machine-man-preview %} {% data reusables.pre-release-program.api-preview-warning %} {% endif %} @@ -178,7 +178,7 @@ While most of your API interaction should occur using your server-to-server inst ### Supported endpoints -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Actions Runners * [List runner applications for a repository](/rest/reference/actions#list-runner-applications-for-a-repository) @@ -212,7 +212,7 @@ While most of your API interaction should occur using your server-to-server inst * [Delete an organization secret](/rest/reference/actions#delete-an-organization-secret) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Artifacts * [List artifacts for a repository](/rest/reference/actions#list-artifacts-for-a-repository) @@ -254,7 +254,7 @@ While most of your API interaction should occur using your server-to-server inst * [List deployments](/rest/reference/repos#list-deployments) * [Create a deployment](/rest/reference/repos#create-a-deployment) -* [Get a deployment](/rest/reference/repos#get-a-deployment){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +* [Get a deployment](/rest/reference/repos#get-a-deployment){% ifversion fpt or ghes or ghae %} * [Delete a deployment](/rest/reference/repos#delete-a-deployment){% endif %} #### Events @@ -302,7 +302,7 @@ While most of your API interaction should occur using your server-to-server inst * [List repositories accessible to the user access token](/rest/reference/apps#list-repositories-accessible-to-the-user-access-token) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Interaction Limits * [Get interaction restrictions for an organization](/rest/reference/interactions#get-interaction-restrictions-for-an-organization) @@ -347,7 +347,7 @@ While most of your API interaction should occur using your server-to-server inst * [Lock an issue](/rest/reference/issues#lock-an-issue) * [Unlock an issue](/rest/reference/issues#unlock-an-issue) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Jobs * [Get a job for a workflow run](/rest/reference/actions#get-a-job-for-a-workflow-run) @@ -400,7 +400,7 @@ While most of your API interaction should occur using your server-to-server inst * [Delete an organization webhook](/rest/reference/orgs#webhooks/#delete-an-organization-webhook) * [Ping an organization webhook](/rest/reference/orgs#webhooks/#ping-an-organization-webhook) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Organization Invitations * [List pending organization invitations](/rest/reference/orgs#list-pending-organization-invitations) @@ -427,7 +427,7 @@ While most of your API interaction should occur using your server-to-server inst * [Convert an organization member to outside collaborator](/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator) * [Remove outside collaborator from an organization](/rest/reference/orgs#remove-outside-collaborator-from-an-organization) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} #### Organization Pre Receive Hooks * [List pre-receive hooks for an organization](/enterprise/user/rest/reference/enterprise-admin#list-pre-receive-hooks-for-an-organization) @@ -436,7 +436,7 @@ While most of your API interaction should occur using your server-to-server inst * [Remove pre-receive hook enforcement for an organization](/enterprise/user/rest/reference/enterprise-admin#remove-pre-receive-hook-enforcement-for-an-organization) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} #### Organization Team Projects * [List team projects](/rest/reference/teams#list-team-projects) @@ -452,7 +452,7 @@ While most of your API interaction should occur using your server-to-server inst * [Add or update team repository permissions](/rest/reference/teams#add-or-update-team-repository-permissions) * [Remove a repository from a team](/rest/reference/teams#remove-a-repository-from-a-team) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Organization Team Sync * [List idp groups for a team](/rest/reference/teams#list-idp-groups-for-a-team) @@ -467,7 +467,7 @@ While most of your API interaction should occur using your server-to-server inst * [Get a team by name](/rest/reference/teams#get-a-team-by-name) * [Update a team](/rest/reference/teams#update-a-team) * [Delete a team](/rest/reference/teams#delete-a-team) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} * [List pending team invitations](/rest/reference/teams#list-pending-team-invitations) {% endif %} * [List team members](/rest/reference/teams#list-team-members) @@ -488,14 +488,14 @@ While most of your API interaction should occur using your server-to-server inst * [List organizations for the authenticated user](/rest/reference/orgs#list-organizations-for-the-authenticated-user) * [List organizations for a user](/rest/reference/orgs#list-organizations-for-a-user) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Organizations Credential Authorizations * [List SAML SSO authorizations for an organization](/rest/reference/orgs#list-saml-sso-authorizations-for-an-organization) * [Remove a SAML SSO authorization for an organization](/rest/reference/orgs#remove-a-saml-sso-authorization-for-an-organization) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Organizations Scim * [List SCIM provisioned identities](/rest/reference/scim#list-scim-provisioned-identities) @@ -506,7 +506,7 @@ While most of your API interaction should occur using your server-to-server inst * [Delete a SCIM user from an organization](/rest/reference/scim#delete-a-scim-user-from-an-organization) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Source Imports * [Get an import status](/rest/reference/migrations#get-an-import-status) @@ -589,7 +589,7 @@ While most of your API interaction should occur using your server-to-server inst #### Reactions -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}* [Delete a reaction](/rest/reference/reactions#delete-a-reaction-legacy){% else %}* [Delete a reaction](/rest/reference/reactions#delete-a-reaction){% endif %} +{% ifversion fpt or ghes or ghae %}* [Delete a reaction](/rest/reference/reactions#delete-a-reaction-legacy){% else %}* [Delete a reaction](/rest/reference/reactions#delete-a-reaction){% endif %} * [List reactions for a commit comment](/rest/reference/reactions#list-reactions-for-a-commit-comment) * [Create reaction for a commit comment](/rest/reference/reactions#create-reaction-for-a-commit-comment) * [List reactions for an issue](/rest/reference/reactions#list-reactions-for-an-issue) @@ -601,7 +601,7 @@ While most of your API interaction should occur using your server-to-server inst * [List reactions for a team discussion comment](/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) * [Create reaction for a team discussion comment](/rest/reference/reactions#create-reaction-for-a-team-discussion-comment) * [List reactions for a team discussion](/rest/reference/reactions#list-reactions-for-a-team-discussion) -* [Create reaction for a team discussion](/rest/reference/reactions#create-reaction-for-a-team-discussion){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +* [Create reaction for a team discussion](/rest/reference/reactions#create-reaction-for-a-team-discussion){% ifversion fpt or ghes or ghae %} * [Delete a commit comment reaction](/rest/reference/reactions#delete-a-commit-comment-reaction) * [Delete an issue reaction](/rest/reference/reactions#delete-an-issue-reaction) * [Delete a reaction to a commit comment](/rest/reference/reactions#delete-an-issue-comment-reaction) @@ -639,7 +639,7 @@ While most of your API interaction should occur using your server-to-server inst * [Unstar a repository for the authenticated user](/rest/reference/activity#unstar-a-repository-for-the-authenticated-user) * [List repositories watched by a user](/rest/reference/activity#list-repositories-watched-by-a-user) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Repository Automated Security Fixes * [Enable automated security fixes](/rest/reference/repos#enable-automated-security-fixes) @@ -708,7 +708,7 @@ While most of your API interaction should occur using your server-to-server inst #### Repository Community * [Get the code of conduct for a repository](/rest/reference/codes-of-conduct#get-the-code-of-conduct-for-a-repository) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} * [Get community profile metrics](/rest/reference/repos#get-community-profile-metrics) {% endif %} @@ -721,7 +721,7 @@ While most of your API interaction should occur using your server-to-server inst * [Get a repository README](/rest/reference/repos#get-a-repository-readme) * [Get the license for a repository](/rest/reference/licenses#get-the-license-for-a-repository) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} #### Repository Event Dispatches * [Create a repository dispatch event](/rest/reference/repos#create-a-repository-dispatch-event) @@ -764,7 +764,7 @@ While most of your API interaction should occur using your server-to-server inst * [Get GitHub Pages build](/rest/reference/repos#get-github-pages-build) * [Get latest pages build](/rest/reference/repos#get-latest-pages-build) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} #### Repository Pre Receive Hooks * [List pre-receive hooks for a repository](/enterprise/user/rest/reference/enterprise-admin#list-pre-receive-hooks-for-a-repository) @@ -795,7 +795,7 @@ While most of your API interaction should occur using your server-to-server inst * [Get the weekly commit count](/rest/reference/repos#get-the-weekly-commit-count) * [Get the hourly commit count for each day](/rest/reference/repos#get-the-hourly-commit-count-for-each-day) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Repository Vulnerability Alerts * [Enable vulnerability alerts](/rest/reference/repos#enable-vulnerability-alerts) @@ -841,7 +841,7 @@ While most of your API interaction should occur using your server-to-server inst * [Get all repository topics](/rest/reference/repos#get-all-repository-topics) * [Replace all repository topics](/rest/reference/repos#replace-all-repository-topics) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Traffic * [Get repository clones](/rest/reference/repos#get-repository-clones) @@ -850,7 +850,7 @@ While most of your API interaction should occur using your server-to-server inst * [Get page views](/rest/reference/repos#get-page-views) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### User Blocking * [List users blocked by the authenticated user](/rest/reference/users#list-users-blocked-by-the-authenticated-user) @@ -863,10 +863,10 @@ While most of your API interaction should occur using your server-to-server inst * [Unblock a user](/rest/reference/users#unblock-a-user) {% endif %} -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} #### User Emails -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} * [Set primary email visibility for the authenticated user](/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) {% endif %} * [List email addresses for the authenticated user](/rest/reference/users#list-email-addresses-for-the-authenticated-user) @@ -904,13 +904,13 @@ While most of your API interaction should occur using your server-to-server inst * [Get the authenticated user](/rest/reference/users#get-the-authenticated-user) * [List app installations accessible to the user access token](/rest/reference/apps#list-app-installations-accessible-to-the-user-access-token) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} * [List subscriptions for the authenticated user](/rest/reference/apps#list-subscriptions-for-the-authenticated-user) {% endif %} * [List users](/rest/reference/users#list-users) * [Get a user](/rest/reference/users#get-a-user) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Workflow Runs * [List workflow runs for a repository](/rest/reference/actions#list-workflow-runs-for-a-repository) @@ -923,7 +923,7 @@ While most of your API interaction should occur using your server-to-server inst * [Get workflow run usage](/rest/reference/actions#get-workflow-run-usage) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} #### Workflows * [List repository workflows](/rest/reference/actions#list-repository-workflows) @@ -931,7 +931,7 @@ While most of your API interaction should occur using your server-to-server inst * [Get workflow usage](/rest/reference/actions#get-workflow-usage) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## Further reading diff --git a/content/developers/apps/building-github-apps/index.md b/content/developers/apps/building-github-apps/index.md index 4b018c9f8c..5f962d4524 100644 --- a/content/developers/apps/building-github-apps/index.md +++ b/content/developers/apps/building-github-apps/index.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-integrations/setting-up-and-registering-github-apps/ - /apps/building-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps children: diff --git a/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md b/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md index 78771aa15a..f49612e7e9 100644 --- a/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md +++ b/content/developers/apps/building-github-apps/managing-allowed-ip-addresses-for-a-github-app.md @@ -1,16 +1,16 @@ --- title: Managing allowed IP addresses for a GitHub App -intro: You can add an IP allow list to your {% data variables.product.prodname_github_app %} to prevent your app from being blocked by an organization's own allow list. +intro: 'You can add an IP allow list to your {% data variables.product.prodname_github_app %} to prevent your app from being blocked by an organization''s own allow list.' versions: - free-pro-team: '*' - github-ae: '*' + fpt: '*' + ghae: '*' topics: - GitHub Apps --- ## About IP address allow lists for {% data variables.product.prodname_github_apps %} -Enterprise and organization owners can restrict access to assets by configuring an IP address allow list. This list specifies the IP addresses that are allowed to connect. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#enabling-allowed-ip-addresses)" and {% if currentVersion == "github-ae@latest" %}"[Restricting network traffic to your enterprise](/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise)." {% else %}"[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account#managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account)." {% endif %} +Enterprise and organization owners can restrict access to assets by configuring an IP address allow list. This list specifies the IP addresses that are allowed to connect. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#enabling-allowed-ip-addresses)" and {% ifversion ghae %}"[Restricting network traffic to your enterprise](/admin/configuration/configuring-your-enterprise/restricting-network-traffic-to-your-enterprise)." {% else %}"[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account#managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account)." {% endif %} When an organization has an allow list, third-party applications that connect via a {% data variables.product.prodname_github_app %} will be denied access unless both of the following are true: diff --git a/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md b/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md index 8a64316ac9..62a74d2265 100644 --- a/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md +++ b/content/developers/apps/building-github-apps/rate-limits-for-github-apps.md @@ -8,15 +8,15 @@ redirect_from: - /apps/building-github-apps/understanding-rate-limits-for-github-apps - /developers/apps/rate-limits-for-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- ## Server-to-server requests -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Different server-to-server request rate limits apply to {% data variables.product.prodname_github_app %}s if the app is installed on organizations or repositories owned by a {% data variables.product.prodname_ghe_cloud %} account. @@ -26,7 +26,7 @@ Different server-to-server request rate limits apply to {% data variables.produc {% data reusables.apps.api-rate-limits-non-ghec %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### {% data variables.product.prodname_ghe_cloud %} server-to-server rate limits @@ -38,7 +38,7 @@ Different server-to-server request rate limits apply to {% data variables.produc {% data variables.product.prodname_github_app %}s can also act [on behalf of a user](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-and-authorizing-users-for-github-apps), making user-to-server requests. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Different user-to-server request rate limits apply to {% data variables.product.prodname_github_app %}s if the app is installed on organizations or repositories owned by a {% data variables.product.prodname_ghe_cloud %} account and the authenticated user also belongs to the same {% data variables.product.prodname_ghe_cloud %} account. @@ -46,9 +46,9 @@ Different user-to-server request rate limits apply to {% data variables.product. {% endif %} -User-to-server requests are rate limited at 5,000 requests per hour and per authenticated user. All OAuth applications authorized by that user, personal access tokens owned by that user, and requests authenticated with that user's{% if currentVersion == "github-ae@latest" %} token{% else %} username and password{% endif %} share the same quota of 5,000 requests per hour for that user. +User-to-server requests are rate limited at 5,000 requests per hour and per authenticated user. All OAuth applications authorized by that user, personal access tokens owned by that user, and requests authenticated with that user's{% ifversion ghae %} token{% else %} username and password{% endif %} share the same quota of 5,000 requests per hour for that user. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### {% data variables.product.prodname_ghe_cloud %} user-to-server rate limits diff --git a/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md b/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md index f2fd6684f9..e7c7f8f50e 100644 --- a/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md +++ b/content/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-github-apps/refreshing-user-to-server-access-tokens - /developers/apps/refreshing-user-to-server-access-tokens versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' topics: - GitHub Apps --- @@ -41,9 +41,9 @@ Name | Type | Description ```json { - "access_token": "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghu_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}", + "access_token": "{% ifversion fpt or ghes > 3.1 or ghae-next %}ghu_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}", "expires_in": "28800", - "refresh_token": "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498{% else %}r1.c1b4a2e77838347a7e420ce178f2e7c6912e169246c34e1ccbf66c46812d16d5b1a9dc86a149873c{% endif %}", + "refresh_token": "{% ifversion fpt or ghes > 3.1 or ghae-next %}ghr_1B4a2e77838347a7E420ce178F2E7c6912E169246c34E1ccbF66C46812d16D5B1A9Dc86A1498{% else %}r1.c1b4a2e77838347a7e420ce178f2e7c6912e169246c34e1ccbf66c46812d16d5b1a9dc86a149873c{% endif %}", "refresh_token_expires_in": "15811200", "scope": "", "token_type": "bearer" @@ -58,8 +58,8 @@ You can enable or disable expiring user-to-server authorization tokens from your {% data reusables.user-settings.github_apps %} 4. Click **Edit** next to your chosen {% data variables.product.prodname_github_app %}. ![Settings to edit a GitHub App](/assets/images/github-apps/edit-test-app.png) -5. In the left sidebar, click **{% if currentVersion ver_lt "enterprise-server@3.1" %} Beta {% else %} Optional {% endif %} Features**. - {% if currentVersion ver_lt "enterprise-server@3.1" %} ![Beta features tab](/assets/images/github-apps/beta-features-option.png) {% else %} ![Optional features tab](/assets/images/github-apps/optional-features-option.png) {% endif %} +5. In the left sidebar, click **{% ifversion ghes < 3.1 %} Beta {% else %} Optional {% endif %} Features**. + {% ifversion ghes < 3.1 %} ![Beta features tab](/assets/images/github-apps/beta-features-option.png) {% else %} ![Optional features tab](/assets/images/github-apps/optional-features-option.png) {% endif %} 6. Next to "User-to-server token expiration", click **Opt-in** or **Opt-out**. This setting may take a couple of seconds to apply. ## Opting out of expiring tokens for new GitHub Apps @@ -74,7 +74,7 @@ Existing {% data variables.product.prodname_github_app %}s using user-to-server Enabling expiring user tokens for existing {% data variables.product.prodname_github_app %}s requires sending users through the OAuth flow to re-issue new user tokens that will expire in 8 hours and making a request with the refresh token to get a new access token and refresh token. For more information, see "[Identifying and authorizing users for GitHub Apps](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## Further reading diff --git a/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md b/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md index 99c9da7de4..9bfb310ec6 100644 --- a/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md +++ b/content/developers/apps/building-github-apps/setting-permissions-for-github-apps.md @@ -7,9 +7,9 @@ redirect_from: - /apps/building-github-apps/setting-permissions-for-github-apps - /developers/apps/setting-permissions-for-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- diff --git a/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md b/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md index a027f62208..7f1ed9c908 100644 --- a/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md +++ b/content/developers/apps/building-oauth-apps/authorizing-oauth-apps.md @@ -10,17 +10,17 @@ redirect_from: - /apps/building-oauth-apps/authorizing-oauth-apps - /developers/apps/authorizing-oauth-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps --- -{% data variables.product.product_name %}'s OAuth implementation supports the standard [authorization code grant type](https://tools.ietf.org/html/rfc6749#section-4.1){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} and the OAuth 2.0 [Device Authorization Grant](https://tools.ietf.org/html/rfc8628) for apps that don't have access to a web browser{% endif %}. +{% data variables.product.product_name %}'s OAuth implementation supports the standard [authorization code grant type](https://tools.ietf.org/html/rfc6749#section-4.1){% ifversion fpt or ghes > 2.21 or ghae %} and the OAuth 2.0 [Device Authorization Grant](https://tools.ietf.org/html/rfc8628) for apps that don't have access to a web browser{% endif %}. If you want to skip authorizing your app in the standard way, such as when testing your app, you can use the [non-web application flow](#non-web-application-flow). -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} To authorize your OAuth app, consider which authorization flow best fits your app. @@ -57,7 +57,7 @@ When your GitHub App specifies a `login` parameter, it prompts users with a spec Name | Type | Description -----|------|-------------- -`client_id`|`string` | **Required**. The client ID you received from GitHub when you {% if currentVersion == "free-pro-team@latest" %}[registered](https://github.com/settings/applications/new){% else %}registered{% endif %}. +`client_id`|`string` | **Required**. The client ID you received from GitHub when you {% ifversion fpt %}[registered](https://github.com/settings/applications/new){% else %}registered{% endif %}. `redirect_uri`|`string` | The URL in your application where users will be sent after authorization. See details below about [redirect urls](#redirect-urls). `login` | `string` | Suggests a specific account to use for signing in and authorizing the app. `scope`|`string` | A space-delimited list of [scopes](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). If not provided, `scope` defaults to an empty list for users that have not authorized any scopes for the application. For users who have authorized scopes for the application, the user won't be shown the OAuth authorization page with the list of scopes. Instead, this step of the flow will automatically complete with the set of scopes the user has authorized for the application. For example, if a user has already performed the web flow twice and has authorized one token with `user` scope and another token with `repo` scope, a third web flow that does not provide a `scope` will receive a token with `user` and `repo` scope. @@ -85,19 +85,19 @@ Name | Type | Description By default, the response takes the following form: - access_token={% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}gho_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}&token_type=bearer + access_token={% ifversion fpt or ghes > 3.1 or ghae-next %}gho_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}&token_type=bearer You can also receive the content in different formats depending on the Accept header: Accept: application/json - {"access_token":"{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}gho_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}", "scope":"repo,gist", "token_type":"bearer"} + {"access_token":"{% ifversion fpt or ghes > 3.1 or ghae-next %}gho_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}", "scope":"repo,gist", "token_type":"bearer"} Accept: application/xml bearer repo,gist - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}gho_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %} + {% ifversion fpt or ghes > 3.1 or ghae-next %}gho_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %} ### 3. Use the access token to access the API @@ -113,10 +113,10 @@ For example, in curl you can set the Authorization header like this: curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user ``` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} ## Device flow -{% if currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes < 3.1 %} {% note %} **Note:** The device flow is in public beta and subject to change. @@ -147,7 +147,7 @@ Name | Type | Description #### Response -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ```JSON { "device_code": "3584d83530557fdd1f46af8289938c8ef79f9dc5", @@ -207,7 +207,7 @@ Name | Type | Description ```json { - "access_token": "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}gho_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}", + "access_token": "{% ifversion fpt or ghes > 3.1 or ghae-next %}gho_16C7e42F292c6912E7710c838347Ae178B4a{% else %}e72e16c7e42f292c6912e7710c838347ae178b4a{% endif %}", "token_type": "bearer", "scope": "user" } @@ -239,7 +239,7 @@ For more information, see the "[OAuth 2.0 Device Authorization Grant](https://to Non-web authentication is available for limited situations like testing. If you need to, you can use [Basic Authentication](/rest/overview/other-authentication-methods#basic-authentication) to create a personal access token using your [Personal access tokens settings page](/articles/creating-an-access-token-for-command-line-use). This technique enables the user to revoke access at any time. -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} {% note %} **Note:** When using the non-web application flow to create an OAuth2 token, make sure to understand how to [work with @@ -307,7 +307,7 @@ To build this link, you'll need your OAuth Apps `client_id` that you received fr * "[Troubleshooting authorization request errors](/apps/managing-oauth-apps/troubleshooting-authorization-request-errors)" * "[Troubleshooting OAuth App access token request errors](/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors)" -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} * "[Device flow errors](#errors-for-the-device-flow)" {% endif %} diff --git a/content/developers/apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md b/content/developers/apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md index 69b18357a3..e259c2ecc7 100644 --- a/content/developers/apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md +++ b/content/developers/apps/building-oauth-apps/creating-a-custom-badge-for-your-oauth-app.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-oauth-apps/creating-custom-badges-for-oauth-apps - /developers/apps/creating-a-custom-badge-for-your-oauth-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps --- @@ -18,9 +18,9 @@ An identicon badge looks something like this: After you create an OAuth App, you can customize the app's badge by uploading a logo and selecting a background color. A badge is a square logo image inside of a circular badge. You can choose a background color for the badge, which can be used to visually distinguish your app. -Your logo should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend an image size of at least 200px x 200px. {% if currentVersion == "free-pro-team@latest" %}See "[Tips for logo and badge images](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#guidelines-for-logos)" for more guidance on customizing badges.{% endif %} +Your logo should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend an image size of at least 200px x 200px. {% ifversion fpt %}See "[Tips for logo and badge images](/marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions/#guidelines-for-logos)" for more guidance on customizing badges.{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can change a custom badge for a GitHub App that already has an approved Marketplace listing by navigating to https://github.com/marketplace/manage. @@ -36,11 +36,11 @@ To create a custom badge: ![Upload a logo](/assets/images/oauth-apps/oauth_apps_upload_logo.png) 6. Crop your picture. When you're done, click **Set new application logo**. ![Crop and set logo](/assets/images/oauth-apps/oauth_apps_crop_and_set_logo.png) -7. In "Badge background color", type the [hexadecimal color code](http://www.color-hex.com/) of the background color for your badge. {% if currentVersion == "free-pro-team@latest" %}**Note:** The "Badge background color" input field will be visible after an application logo has been uploaded.{% endif %} +7. In "Badge background color", type the [hexadecimal color code](http://www.color-hex.com/) of the background color for your badge. {% ifversion fpt %}**Note:** The "Badge background color" input field will be visible after an application logo has been uploaded.{% endif %} ![Badge background color](/assets/images/oauth-apps/oauth_apps_badge_background_color.png) {% data reusables.user-settings.update_oauth_app %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Next steps diff --git a/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md b/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md index 0f5810eec5..9cfadf8a05 100644 --- a/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md +++ b/content/developers/apps/building-oauth-apps/creating-an-oauth-app.md @@ -6,13 +6,13 @@ redirect_from: - /apps/building-oauth-apps/creating-an-oauth-app - /developers/apps/creating-an-oauth-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** {% data reusables.apps.maximum-oauth-apps-allowed %} @@ -46,7 +46,7 @@ topics: ![Field for a description of your app](/assets/images/oauth-apps/oauth_apps_application_description.png) 9. In "Authorization callback URL", type the callback URL of your app. ![Field for the authorization callback URL of your app](/assets/images/oauth-apps/oauth_apps_authorization_callback_url.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} {% note %} **Note:** OAuth Apps cannot have multiple callback URLs, unlike {% data variables.product.prodname_github_apps %}. diff --git a/content/developers/apps/building-oauth-apps/index.md b/content/developers/apps/building-oauth-apps/index.md index 23b5b72391..e424b14aae 100644 --- a/content/developers/apps/building-oauth-apps/index.md +++ b/content/developers/apps/building-oauth-apps/index.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-integrations/setting-up-and-registering-oauth-apps/ - /apps/building-oauth-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps children: diff --git a/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md b/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md index 90fd0e7399..488d763a47 100644 --- a/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md +++ b/content/developers/apps/building-oauth-apps/scopes-for-oauth-apps.md @@ -7,9 +7,9 @@ redirect_from: - /apps/building-oauth-apps/understanding-scopes-for-oauth-apps - /developers/apps/scopes-for-oauth-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps --- @@ -21,7 +21,7 @@ When setting up an OAuth App on GitHub, requested scopes are displayed to the us {% endnote %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} If your {% data variables.product.prodname_oauth_app %} doesn't have access to a browser, such as a CLI tool, then you don't need to specify a scope for users to authenticate to your app. For more information, see "[Authorizing OAuth apps](/developers/apps/authorizing-oauth-apps#device-flow)." {% endif %} @@ -40,19 +40,19 @@ X-Accepted-OAuth-Scopes: user ## Available scopes Name | Description ------|-----------|{% if currentVersion != "github-ae@latest" %} -**`(no scope)`** | Grants read-only access to public information (including user profile info, repository info, and gists){% endif %}{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +-----|-----------|{% ifversion not ghae %} +**`(no scope)`** | Grants read-only access to public information (including user profile info, repository info, and gists){% endif %}{% ifversion ghes or ghae %} **`site_admin`** | Grants site administrators access to [{% data variables.product.prodname_ghe_server %} Administration API endpoints](/rest/reference/enterprise-admin).{% endif %} **`repo`** | Grants full access to repositories, including private repositories. That includes read/write access to code, commit statuses, repository and organization projects, invitations, collaborators, adding team memberships, deployment statuses, and repository webhooks for repositories and organizations. Also grants ability to manage user projects. - `repo:status`| Grants read/write access to {% if currentVersion != "github-ae@latest" %}public{% else %}internal{% endif %} and private repository commit statuses. This scope is only necessary to grant other users or services access to private repository commit statuses *without* granting access to the code. - `repo_deployment`| Grants access to [deployment statuses](/rest/reference/repos#deployments) for {% if currentVersion != "github-ae@latest" %}public{% else %}internal{% endif %} and private repositories. This scope is only necessary to grant other users or services access to deployment statuses, *without* granting access to the code.{% if currentVersion != "github-ae@latest" %} + `repo:status`| Grants read/write access to {% ifversion not ghae %}public{% else %}internal{% endif %} and private repository commit statuses. This scope is only necessary to grant other users or services access to private repository commit statuses *without* granting access to the code. + `repo_deployment`| Grants access to [deployment statuses](/rest/reference/repos#deployments) for {% ifversion not ghae %}public{% else %}internal{% endif %} and private repositories. This scope is only necessary to grant other users or services access to deployment statuses, *without* granting access to the code.{% ifversion not ghae %}  `public_repo`| Limits access to public repositories. That includes read/write access to code, commit statuses, repository projects, collaborators, and deployment statuses for public repositories and organizations. Also required for starring public repositories.{% endif %} - `repo:invite` | Grants accept/decline abilities for invitations to collaborate on a repository. This scope is only necessary to grant other users or services access to invites *without* granting access to the code.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} - `security_events` | Grants:
read and write access to security events in the [{% data variables.product.prodname_code_scanning %} API](/rest/reference/code-scanning)
read and write access to security events in the [{% data variables.product.prodname_secret_scanning %} API](/rest/reference/secret-scanning)
This scope is only necessary to grant other users or services access to security events *without* granting access to the code.{% endif %}{% if currentVersion ver_gt "enterprise-server@2.21" and currentVersion ver_lt "enterprise-server@3.1" %} + `repo:invite` | Grants accept/decline abilities for invitations to collaborate on a repository. This scope is only necessary to grant other users or services access to invites *without* granting access to the code.{% ifversion fpt or ghes > 3.0 %} + `security_events` | Grants:
read and write access to security events in the [{% data variables.product.prodname_code_scanning %} API](/rest/reference/code-scanning)
read and write access to security events in the [{% data variables.product.prodname_secret_scanning %} API](/rest/reference/secret-scanning)
This scope is only necessary to grant other users or services access to security events *without* granting access to the code.{% endif %}{% ifversion ghes > 2.21 and ghes < 3.1 %}  `security_events` | Grants read and write access to security events in the [{% data variables.product.prodname_code_scanning %} API](/rest/reference/code-scanning). This scope is only necessary to grant other users or services access to security events *without* granting access to the code.{% endif %} -**`admin:repo_hook`** | Grants read, write, ping, and delete access to repository hooks in {% if currentVersion != "github-ae@latest" %}public{% else %}internal{% endif %} and private repositories. The `repo` {% if currentVersion != "github-ae@latest" %}and `public_repo` scopes grant{% else %}scope grants{% endif %} full access to repositories, including repository hooks. Use the `admin:repo_hook` scope to limit access to only repository hooks. - `write:repo_hook` | Grants read, write, and ping access to hooks in {% if currentVersion != "github-ae@latest" %}public{% else %}internal{% endif %} or private repositories. - `read:repo_hook`| Grants read and ping access to hooks in {% if currentVersion != "github-ae@latest" %}public{% else %}internal{% endif %} or private repositories. +**`admin:repo_hook`** | Grants read, write, ping, and delete access to repository hooks in {% ifversion not ghae %}public{% else %}internal{% endif %} and private repositories. The `repo` {% ifversion not ghae %}and `public_repo` scopes grant{% else %}scope grants{% endif %} full access to repositories, including repository hooks. Use the `admin:repo_hook` scope to limit access to only repository hooks. + `write:repo_hook` | Grants read, write, and ping access to hooks in {% ifversion not ghae %}public{% else %}internal{% endif %} or private repositories. + `read:repo_hook`| Grants read and ping access to hooks in {% ifversion not ghae %}public{% else %}internal{% endif %} or private repositories. **`admin:org`** | Fully manage the organization and its teams, projects, and memberships.  `write:org`| Read and write access to organization membership, organization projects, and team membership.  `read:org`| Read-only access to organization membership, organization projects, and team membership. @@ -68,13 +68,13 @@ Name | Description  `user:follow`| Grants access to follow or unfollow other users. **`delete_repo`** | Grants access to delete adminable repositories. **`write:discussion`** | Allows read and write access for team discussions. - `read:discussion` | Allows read access for team discussions.{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} + `read:discussion` | Allows read access for team discussions.{% ifversion fpt or ghae %} **`write:packages`** | Grants access to upload or publish a package in {% data variables.product.prodname_registry %}. For more information, see "[Publishing a package](/github/managing-packages-with-github-packages/publishing-a-package)". **`read:packages`** | Grants access to download or install packages from {% data variables.product.prodname_registry %}. For more information, see "[Installing a package](/github/managing-packages-with-github-packages/installing-a-package)". -**`delete:packages`** | Grants access to delete packages from {% data variables.product.prodname_registry %}. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}."{% endif %} +**`delete:packages`** | Grants access to delete packages from {% data variables.product.prodname_registry %}. For more information, see "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}."{% endif %} **`admin:gpg_key`** | Fully manage GPG keys.  `write:gpg_key`| Create, list, and view details for GPG keys. - `read:gpg_key`| List and view details for GPG keys.{% if currentVersion == "free-pro-team@latest" %} + `read:gpg_key`| List and view details for GPG keys.{% ifversion fpt %} **`workflow`** | Grants the ability to add and update {% data variables.product.prodname_actions %} workflow files. Workflow files can be committed without this scope if the same file (with both the same path and contents) exists on another branch in the same repository. Workflow files can expose `GITHUB_TOKEN` which may have a different set of scopes. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token)."{% endif %} {% note %} diff --git a/content/developers/apps/getting-started-with-apps/about-apps.md b/content/developers/apps/getting-started-with-apps/about-apps.md index 8451aacb06..20e5a82ccb 100644 --- a/content/developers/apps/getting-started-with-apps/about-apps.md +++ b/content/developers/apps/getting-started-with-apps/about-apps.md @@ -1,6 +1,6 @@ --- title: About apps -intro: 'You can build integrations with the {% data variables.product.prodname_dotcom %} APIs to add flexibility and reduce friction in your own workflow.{% if currentVersion == "free-pro-team@latest" %} You can also share integrations with others on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace).{% endif %}' +intro: 'You can build integrations with the {% data variables.product.prodname_dotcom %} APIs to add flexibility and reduce friction in your own workflow.{% ifversion fpt %} You can also share integrations with others on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace).{% endif %}' redirect_from: - /apps/building-integrations/setting-up-a-new-integration/ - /apps/building-integrations/ @@ -8,13 +8,13 @@ redirect_from: - /apps/about-apps - /developers/apps/about-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- -Apps on {% data variables.product.prodname_dotcom %} allow you to automate and improve your workflow. You can build apps to improve your workflow.{% if currentVersion == "free-pro-team@latest" %} You can also share or sell apps in [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). To learn how to list an app on {% data variables.product.prodname_marketplace %}, see "[Getting started with GitHub Marketplace](/marketplace/getting-started/)."{% endif %} +Apps on {% data variables.product.prodname_dotcom %} allow you to automate and improve your workflow. You can build apps to improve your workflow.{% ifversion fpt %} You can also share or sell apps in [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). To learn how to list an app on {% data variables.product.prodname_marketplace %}, see "[Getting started with GitHub Marketplace](/marketplace/getting-started/)."{% endif %} {% data reusables.marketplace.github_apps_preferred %}, but GitHub supports both {% data variables.product.prodname_oauth_app %}s and {% data variables.product.prodname_github_apps %}. For information on choosing a type of app, see "[Differences between GitHub Apps and OAuth Apps](/developers/apps/differences-between-github-apps-and-oauth-apps)." @@ -36,7 +36,7 @@ To improve your workflow, you can create a {% data variables.product.prodname_gi Keep these ideas in mind when creating {% data variables.product.prodname_github_apps %}: -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} * {% data reusables.apps.maximum-github-apps-allowed %} {% endif %} * A {% data variables.product.prodname_github_app %} should take actions independent of a user (unless the app is using a [user-to-server](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) token). {% data reusables.apps.expiring_user_authorization_tokens %} @@ -44,10 +44,10 @@ Keep these ideas in mind when creating {% data variables.product.prodname_github * The {% data variables.product.prodname_github_app %} should connect to a personal account or an organization. * Don't expect the {% data variables.product.prodname_github_app %} to know and do everything a user can. * Don't use a {% data variables.product.prodname_github_app %} if you just need a "Login with GitHub" service. But a {% data variables.product.prodname_github_app %} can use a [user identification flow](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/) to log users in _and_ do other things. -* Don't build a {% data variables.product.prodname_github_app %} if you _only_ want to act as a GitHub user and do everything that user can do.{% if currentVersion == "free-pro-team@latest" %} +* Don't build a {% data variables.product.prodname_github_app %} if you _only_ want to act as a GitHub user and do everything that user can do.{% ifversion fpt %} * {% data reusables.apps.general-apps-restrictions %}{% endif %} -To begin developing {% data variables.product.prodname_github_apps %}, start with "[Creating a {% data variables.product.prodname_github_app %}](/apps/building-github-apps/creating-a-github-app/)."{% if currentVersion == "free-pro-team@latest" %} To learn how to use {% data variables.product.prodname_github_app %} Manifests, which allow people to create preconfigured {% data variables.product.prodname_github_apps %}, see "[Creating {% data variables.product.prodname_github_apps %} from a manifest](/apps/building-github-apps/creating-github-apps-from-a-manifest/)."{% endif %} +To begin developing {% data variables.product.prodname_github_apps %}, start with "[Creating a {% data variables.product.prodname_github_app %}](/apps/building-github-apps/creating-a-github-app/)."{% ifversion fpt %} To learn how to use {% data variables.product.prodname_github_app %} Manifests, which allow people to create preconfigured {% data variables.product.prodname_github_apps %}, see "[Creating {% data variables.product.prodname_github_apps %} from a manifest](/apps/building-github-apps/creating-github-apps-from-a-manifest/)."{% endif %} ## About {% data variables.product.prodname_oauth_app %}s @@ -61,12 +61,12 @@ Building an {% data variables.product.prodname_oauth_app %} is a good option if Keep these ideas in mind when creating {% data variables.product.prodname_oauth_app %}s: -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} * {% data reusables.apps.maximum-oauth-apps-allowed %} {% endif %} * An {% data variables.product.prodname_oauth_app %} should always act as the authenticated {% data variables.product.prodname_dotcom %} user across all of {% data variables.product.prodname_dotcom %} (for example, when providing user notifications). * An {% data variables.product.prodname_oauth_app %} can be used as an identity provider by enabling a "Login with {% data variables.product.prodname_dotcom %}" for the authenticated user. * Don't build an {% data variables.product.prodname_oauth_app %} if you want your application to act on a single repository. With the `repo` OAuth scope, {% data variables.product.prodname_oauth_app %}s can act on _all_ of the authenticated user's repositories. -* Don't build an {% data variables.product.prodname_oauth_app %} to act as an application for your team or company. {% data variables.product.prodname_oauth_app %}s authenticate as a single user, so if one person creates an {% data variables.product.prodname_oauth_app %} for a company to use, and then they leave the company, no one else will have access to it.{% if currentVersion == "free-pro-team@latest" %} +* Don't build an {% data variables.product.prodname_oauth_app %} to act as an application for your team or company. {% data variables.product.prodname_oauth_app %}s authenticate as a single user, so if one person creates an {% data variables.product.prodname_oauth_app %} for a company to use, and then they leave the company, no one else will have access to it.{% ifversion fpt %} * {% data reusables.apps.oauth-apps-restrictions %}{% endif %} For more on {% data variables.product.prodname_oauth_app %}s, see "[Creating an {% data variables.product.prodname_oauth_app %}](/apps/building-oauth-apps/creating-an-oauth-app/)" and "[Registering your app](/rest/guides/basics-of-authentication#registering-your-app)." diff --git a/content/developers/apps/getting-started-with-apps/activating-optional-features-for-apps.md b/content/developers/apps/getting-started-with-apps/activating-optional-features-for-apps.md index c9a36acdd9..b209726298 100644 --- a/content/developers/apps/getting-started-with-apps/activating-optional-features-for-apps.md +++ b/content/developers/apps/getting-started-with-apps/activating-optional-features-for-apps.md @@ -5,26 +5,26 @@ redirect_from: - /developers/apps/activating-beta-features-for-apps - /developers/apps/activating-optional-features-for-apps versions: - free-pro-team: '*' - github-ae: '*' - enterprise-server: '>=2.22' + fpt: '*' + ghae: '*' + ghes: '>=2.22' topics: - GitHub Apps --- {% warning %} -**Warning:** {% if currentVersion ver_lt "enterprise-server@3.1" %} Beta {% else %} Optional {% endif %} features are subject to change. +**Warning:** {% ifversion ghes < 3.1 %} Beta {% else %} Optional {% endif %} features are subject to change. {% endwarning %} -## Activating {% if currentVersion ver_lt "enterprise-server@3.1" %} beta {% else %} optional {% endif %} features for {% data variables.product.prodname_github_apps %} +## Activating {% ifversion ghes < 3.1 %} beta {% else %} optional {% endif %} features for {% data variables.product.prodname_github_apps %} {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.developer_settings %} -3. Select the {% data variables.product.prodname_github_app %} you want to enable {% if currentVersion ver_lt "enterprise-server@3.1" %} a beta {% else %} an optional {% endif %} feature for. +3. Select the {% data variables.product.prodname_github_app %} you want to enable {% ifversion ghes < 3.1 %} a beta {% else %} an optional {% endif %} feature for. {% data reusables.apps.optional_feature_activation %} -## Activating {% if currentVersion ver_lt "enterprise-server@3.1" %} beta {% else %} optional {% endif %} features for {% data variables.product.prodname_oauth_app %}s +## Activating {% ifversion ghes < 3.1 %} beta {% else %} optional {% endif %} features for {% data variables.product.prodname_oauth_app %}s {% data reusables.user-settings.access_settings %} {% data reusables.user-settings.developer_settings %} diff --git a/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md b/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md index 1790d14f27..1cc515f868 100644 --- a/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md +++ b/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md @@ -7,9 +7,9 @@ redirect_from: - /apps/differences-between-apps - /developers/apps/differences-between-github-apps-and-oauth-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps - OAuth Apps @@ -59,8 +59,8 @@ An _authorized_ OAuth App has access to all of the user's or organization owner' | A GitHub App can request an installation access token by using a private key with a JSON web token format out-of-band. | An OAuth app can exchange a request token for an access token after a redirect via a web request. | | An installation token identifies the app as the GitHub Apps bot, such as @jenkins-bot. | An access token identifies the app as the user who granted the token to the app, such as @octocat. | | Installation tokens expire after a predefined amount of time (currently 1 hour). | OAuth tokens remain active until they're revoked by the customer. | -| {% data reusables.apps.api-rate-limits-non-ghec %}{% if currentVersion == "free-pro-team@latest" %} Higher rate limits apply for {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Rate limits for GitHub Apps](/developers/apps/rate-limits-for-github-apps)."{% endif %} | OAuth tokens use the user's rate limit of 5,000 requests per hour. | -| Rate limit increases can be granted both at the GitHub Apps level (affecting all installations) and at the individual installation level. | Rate limit increases are granted per OAuth App. Every token granted to that OAuth App gets the increased limit. |{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +| {% data reusables.apps.api-rate-limits-non-ghec %}{% ifversion fpt %} Higher rate limits apply for {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Rate limits for GitHub Apps](/developers/apps/rate-limits-for-github-apps)."{% endif %} | OAuth tokens use the user's rate limit of 5,000 requests per hour. | +| Rate limit increases can be granted both at the GitHub Apps level (affecting all installations) and at the individual installation level. | Rate limit increases are granted per OAuth App. Every token granted to that OAuth App gets the increased limit. |{% ifversion fpt or ghes > 2.21 or ghae %} | {% data variables.product.prodname_github_app %}s can authenticate on behalf of the user, which is called user-to-server requests. The flow to authorize is the same as the OAuth App authorization flow. User-to-server tokens can expire and be renewed with a refresh token. For more information, see "[Refreshing user-to-server access tokens](/apps/building-github-apps/refreshing-user-to-server-access-tokens/)" and "[Identifying and authorizing users for GitHub Apps](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)." | The OAuth flow used by {% data variables.product.prodname_oauth_app %}s authorizes an {% data variables.product.prodname_oauth_app %} on behalf of the user. This is the same flow used in {% data variables.product.prodname_github_app %} user-to-server authorization. |{% endif %} ## Requesting permission levels for resources diff --git a/content/developers/apps/getting-started-with-apps/index.md b/content/developers/apps/getting-started-with-apps/index.md index d6edaa8875..b13ace85ea 100644 --- a/content/developers/apps/getting-started-with-apps/index.md +++ b/content/developers/apps/getting-started-with-apps/index.md @@ -2,9 +2,9 @@ title: Getting started with apps intro: Learn about building apps and setting up your development environment. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps children: diff --git a/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md b/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md index eee9b7581b..a73891b742 100644 --- a/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md +++ b/content/developers/apps/getting-started-with-apps/migrating-oauth-apps-to-github-apps.md @@ -5,9 +5,9 @@ redirect_from: - /apps/migrating-oauth-apps-to-github-apps - /developers/apps/migrating-oauth-apps-to-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -29,7 +29,7 @@ This article provides guidelines for existing integrators who are considering mi ## Converting an OAuth App to a GitHub App -These guidelines assume that you have a registered OAuth App{% if currentVersion == "free-pro-team@latest" %} that may or may not be listed in GitHub Marketplace{% endif %}. At a high level, you'll need to follow these steps: +These guidelines assume that you have a registered OAuth App{% ifversion fpt %} that may or may not be listed in GitHub Marketplace{% endif %}. At a high level, you'll need to follow these steps: 1. [Review the available API endpoints for GitHub Apps](#review-the-available-api-endpoints-for-github-apps) 1. [Design to stay within API rate limits](#design-to-stay-within-api-rate-limits) diff --git a/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md b/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md index fc720cac23..f893edb6f8 100644 --- a/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md +++ b/content/developers/apps/getting-started-with-apps/setting-up-your-development-environment-to-create-a-github-app.md @@ -5,9 +5,9 @@ redirect_from: - /apps/quickstart-guides/setting-up-your-development-environment - /developers/apps/setting-up-your-development-environment-to-create-a-github-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -15,7 +15,7 @@ topics: This guide will walk through the steps needed to configure a GitHub App and run it on a server. GitHub Apps require some setup steps to manage webhook events and connect the app registration on GitHub to your code. The app in this guide serves as a foundation that you can use to extend and build new GitHub Apps. -By the end of this guide you'll have registered a GitHub App and set up a web server to receive webhook events. You'll learn how to use a tool called Smee to capture webhook payloads and forward them to your local development environment. The template app you'll configure in this section won't do anything special yet, but it will serve as a framework you can use to start writing app code using the API or complete other [quickstart guides](/apps/quickstart-guides/). {% if currentVersion == "free-pro-team@latest" %}You can check out successful examples of apps on [GitHub Marketplace](https://github.com/marketplace) and [Works with GitHub](https://github.com/works-with).{% endif %} +By the end of this guide you'll have registered a GitHub App and set up a web server to receive webhook events. You'll learn how to use a tool called Smee to capture webhook payloads and forward them to your local development environment. The template app you'll configure in this section won't do anything special yet, but it will serve as a framework you can use to start writing app code using the API or complete other [quickstart guides](/apps/quickstart-guides/). {% ifversion fpt %}You can check out successful examples of apps on [GitHub Marketplace](https://github.com/marketplace) and [Works with GitHub](https://github.com/works-with).{% endif %} After completing this project you will understand how to authenticate as a GitHub App and an installation, and how those authentication methods are different. diff --git a/content/developers/apps/guides/creating-ci-tests-with-the-checks-api.md b/content/developers/apps/guides/creating-ci-tests-with-the-checks-api.md index 649a1f3f12..a8df4fe65d 100644 --- a/content/developers/apps/guides/creating-ci-tests-with-the-checks-api.md +++ b/content/developers/apps/guides/creating-ci-tests-with-the-checks-api.md @@ -5,9 +5,9 @@ redirect_from: - /apps/quickstart-guides/creating-ci-tests-with-the-checks-api - /developers/apps/creating-ci-tests-with-the-checks-api versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -135,7 +135,7 @@ The `requested` action requests a check run each time code is pushed to the repo You'll add this new method as a [Sinatra helper](https://github.com/sinatra/sinatra#helpers) in case you want other routes to use it too. Under `helpers do`, add this `create_check_run` method: -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ``` ruby # Create a new check run with the status queued def create_check_run @@ -226,7 +226,7 @@ In this section, you're not going to kick off the CI test yet, but you'll walk t Let's create the `initiate_check_run` method and update the status of the check run. Add the following code to the helpers section: -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ``` ruby # Start the CI process def initiate_check_run @@ -585,7 +585,7 @@ text = "Octo RuboCop version: #{@output['metadata']['rubocop_version']}" Now you've got all the information you need to update your check run. In the [first half of this quickstart](#step-14-updating-a-check-run), you added this code to set the status of the check run to `success`: -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ``` ruby # Mark the check run as complete! @installation_client.update_check_run( @@ -611,7 +611,7 @@ Now you've got all the information you need to update your check run. In the [fi You'll need to update that code to use the `conclusion` variable you set based on the RuboCop results (to `success` or `neutral`). You can update the code with the following: -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ``` ruby # Mark the check run as complete! And if there are warnings, share them. @installation_client.update_check_run( @@ -659,7 +659,7 @@ You'll need to update that code to use the `conclusion` variable you set based o Now that you're setting a conclusion based on the status of the CI test and you've added the output from the RuboCop results, you've created a CI test! Congratulations. 🙌 -The code above also adds a feature to your CI server called [requested actions](https://developer.github.com/changes/2018-05-23-request-actions-on-checks/) via the `actions` object. {% if currentVersion == "free-pro-team@latest" %}(Note this is not related to [GitHub Actions](/actions).) {% endif %}Requested actions add a button in the **Checks** tab on GitHub that allows someone to request the check run to take additional action. The additional action is completely configurable by your app. For example, because RuboCop has a feature to automatically fix the errors it finds in Ruby code, your CI server can use a requested actions button to allow people to request automatic error fixes. When someone clicks the button, the app receives the `check_run` event with a `requested_action` action. Each requested action has an `identifier` that the app uses to determine which button was clicked. +The code above also adds a feature to your CI server called [requested actions](https://developer.github.com/changes/2018-05-23-request-actions-on-checks/) via the `actions` object. {% ifversion fpt %}(Note this is not related to [GitHub Actions](/actions).) {% endif %}Requested actions add a button in the **Checks** tab on GitHub that allows someone to request the check run to take additional action. The additional action is completely configurable by your app. For example, because RuboCop has a feature to automatically fix the errors it finds in Ruby code, your CI server can use a requested actions button to allow people to request automatic error fixes. When someone clicks the button, the app receives the `check_run` event with a `requested_action` action. Each requested action has an `identifier` that the app uses to determine which button was clicked. The code above doesn't have RuboCop automatically fix errors yet. You'll add that in the next section. But first, take a look at the CI test that you just created by starting up the `template_server.rb` server again and creating a new pull request: diff --git a/content/developers/apps/guides/index.md b/content/developers/apps/guides/index.md index fda5c7262e..e372e7f6b8 100644 --- a/content/developers/apps/guides/index.md +++ b/content/developers/apps/guides/index.md @@ -4,9 +4,9 @@ intro: 'Learn about using the {% data variables.product.prodname_dotcom %} API w redirect_from: - /apps/quickstart-guides versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps children: diff --git a/content/developers/apps/guides/using-content-attachments.md b/content/developers/apps/guides/using-content-attachments.md index 38fe4f1237..f819dbb946 100644 --- a/content/developers/apps/guides/using-content-attachments.md +++ b/content/developers/apps/guides/using-content-attachments.md @@ -5,9 +5,9 @@ redirect_from: - /apps/using-content-attachments - /developers/apps/using-content-attachments versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- diff --git a/content/developers/apps/guides/using-the-github-api-in-your-app.md b/content/developers/apps/guides/using-the-github-api-in-your-app.md index f9d35ca5d8..c10e9f54cd 100644 --- a/content/developers/apps/guides/using-the-github-api-in-your-app.md +++ b/content/developers/apps/guides/using-the-github-api-in-your-app.md @@ -6,9 +6,9 @@ redirect_from: - /apps/quickstart-guides/using-the-github-api-in-your-app - /developers/apps/using-the-github-api-in-your-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -23,7 +23,7 @@ This project will walk you through the following: {% data reusables.apps.app-ruby-guides %} -Once you've worked through the steps, you'll be ready to develop other kinds of integrations using the full suite of GitHub APIs. {% if currentVersion == "free-pro-team@latest" %}You can check out successful examples of apps on [GitHub Marketplace](https://github.com/marketplace) and [Works with GitHub](https://github.com/works-with).{% endif %} +Once you've worked through the steps, you'll be ready to develop other kinds of integrations using the full suite of GitHub APIs. {% ifversion fpt %}You can check out successful examples of apps on [GitHub Marketplace](https://github.com/marketplace) and [Works with GitHub](https://github.com/works-with).{% endif %} ## Prerequisites @@ -232,5 +232,5 @@ Here are some ideas for what you can do next: * When the bot successfully adds the label, show a message in the Terminal. (Hint: compare the `needs-response` label ID with the ID of the label in the payload as a condition for your message, so that the message only displays when the relevant label is added and not some other label.) * Add a landing page to your app and hook up a [Sinatra route](https://github.com/sinatra/sinatra#routes) for it. * Move your code to a hosted server (like Heroku). Don't forget to update your app settings with the new domain. -* Share your project or get advice in the {% data variables.product.prodname_support_forum_with_url %}{% if currentVersion == "free-pro-team@latest" %} +* Share your project or get advice in the {% data variables.product.prodname_support_forum_with_url %}{% ifversion fpt %} * Have you built a shiny new app you think others might find useful? [Add it to GitHub Marketplace](/apps/marketplace/creating-and-submitting-your-app-for-approval/)!{% endif %} diff --git a/content/developers/apps/index.md b/content/developers/apps/index.md index ef1fe324e5..fd565ebef4 100644 --- a/content/developers/apps/index.md +++ b/content/developers/apps/index.md @@ -10,9 +10,9 @@ redirect_from: - /apps - /v3/integrations versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps children: diff --git a/content/developers/apps/managing-github-apps/deleting-a-github-app.md b/content/developers/apps/managing-github-apps/deleting-a-github-app.md index f8f44d066d..5532050302 100644 --- a/content/developers/apps/managing-github-apps/deleting-a-github-app.md +++ b/content/developers/apps/managing-github-apps/deleting-a-github-app.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-github-apps/deleting-a-github-app - /developers/apps/deleting-a-github-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- diff --git a/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md b/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md index 993f3ffb0a..807fdcc178 100644 --- a/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md +++ b/content/developers/apps/managing-github-apps/editing-a-github-apps-permissions.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-github-apps/editing-a-github-app-s-permissions - /developers/apps/editing-a-github-apps-permissions versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- diff --git a/content/developers/apps/managing-github-apps/index.md b/content/developers/apps/managing-github-apps/index.md index 5ed6b5fc7a..ce5ae2b015 100644 --- a/content/developers/apps/managing-github-apps/index.md +++ b/content/developers/apps/managing-github-apps/index.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-integrations/managing-github-apps/ - /apps/managing-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps children: diff --git a/content/developers/apps/managing-github-apps/installing-github-apps.md b/content/developers/apps/managing-github-apps/installing-github-apps.md index b4b3fe9145..216867159d 100644 --- a/content/developers/apps/managing-github-apps/installing-github-apps.md +++ b/content/developers/apps/managing-github-apps/installing-github-apps.md @@ -1,13 +1,13 @@ --- title: Installing GitHub Apps -intro: 'When your app is public, anyone can use {% if currentVersion == "free-pro-team@latest" %} the {% data variables.product.prodname_marketplace %} or {% endif %}an installation URL to install the app on their repository. When your app is private, only you can install the app on repositories that you own.' +intro: 'When your app is public, anyone can use {% ifversion fpt %} the {% data variables.product.prodname_marketplace %} or {% endif %}an installation URL to install the app on their repository. When your app is private, only you can install the app on repositories that you own.' redirect_from: - /apps/installing-github-apps - /developers/apps/installing-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -28,7 +28,7 @@ Once you create a private GitHub App, you can install it on one of your org or u ![App installation permissions](/assets/images/install_permissions.png) 5. Once installed, you will see configuration options for the app on your selected account. You can make changes here, or repeat the previous steps to install the app on another account. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Offering your app in the GitHub Marketplace You can offer a paid or free version of your app in [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace), where people can search for and view details about your app. {% data variables.product.prodname_marketplace %} automatically installs a GitHub App when an order is complete. diff --git a/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md b/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md index be55c563d8..0353cf9134 100644 --- a/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md +++ b/content/developers/apps/managing-github-apps/making-a-github-app-public-or-private.md @@ -9,9 +9,9 @@ redirect_from: - /apps/managing-github-apps/making-a-github-app-public-or-private - /developers/apps/making-a-github-app-public-or-private versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- @@ -23,7 +23,7 @@ Public installation flows have a landing page to enable other people besides the ## Private installation flow -Private installation flows allow only the owner of a GitHub App to install it. Limited information about the GitHub App will still exist on a public page, but the **Install** button will only be available to organization administrators or the user account if the GitHub App is owned by an individual account. Private{% if currentVersion ver_lt "enterprise-server@3.2" or currentVersion == "github-ae@latest" %}, or internal,{% endif %} GitHub Apps can only be installed on the user or organization account of the owner. +Private installation flows allow only the owner of a GitHub App to install it. Limited information about the GitHub App will still exist on a public page, but the **Install** button will only be available to organization administrators or the user account if the GitHub App is owned by an individual account. Private{% ifversion ghes < 3.2 or ghae %}, or internal,{% endif %} GitHub Apps can only be installed on the user or organization account of the owner. ## Changing who can install your GitHub App @@ -35,7 +35,7 @@ To change who can install the GitHub App: 3. Select the GitHub App whose installation option you want to change. ![App selection](/assets/images/github-apps/github_apps_select-app.png) {% data reusables.user-settings.github_apps_advanced %} -5. Depending on the installation option of your GitHub App, click either **Make public** or **Make {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %}private{% else %}internal{% endif %}**. +5. Depending on the installation option of your GitHub App, click either **Make public** or **Make {% ifversion fpt or ghes > 3.1 %}private{% else %}internal{% endif %}**. ![Button to change the installation option of your GitHub App](/assets/images/github-apps/github_apps_make_public.png) -6. Depending on the installation option of your GitHub App, click either **Yes, make this GitHub App public** or **Yes, make this GitHub App {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %}private{% else %}internal{% endif %}**. +6. Depending on the installation option of your GitHub App, click either **Yes, make this GitHub App public** or **Yes, make this GitHub App {% ifversion fpt or ghes > 3.1 %}private{% else %}internal{% endif %}**. ![Button to confirm the change of your installation option](/assets/images/github-apps/github_apps_confirm_installation_option.png) diff --git a/content/developers/apps/managing-github-apps/modifying-a-github-app.md b/content/developers/apps/managing-github-apps/modifying-a-github-app.md index 4ace8c82c7..a4e5d4b718 100644 --- a/content/developers/apps/managing-github-apps/modifying-a-github-app.md +++ b/content/developers/apps/managing-github-apps/modifying-a-github-app.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-github-apps/modifying-a-github-app - /developers/apps/modifying-a-github-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- diff --git a/content/developers/apps/managing-github-apps/suspending-a-github-app-installation.md b/content/developers/apps/managing-github-apps/suspending-a-github-app-installation.md index db2f7dbdfa..8cac01865c 100644 --- a/content/developers/apps/managing-github-apps/suspending-a-github-app-installation.md +++ b/content/developers/apps/managing-github-apps/suspending-a-github-app-installation.md @@ -5,9 +5,9 @@ redirect_from: - /apps/managing-github-apps/suspending-a-github-app-installation - /developers/apps/suspending-a-github-app-installation versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' topics: - GitHub Apps --- diff --git a/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md b/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md index 99d9d4187c..a8d481535b 100644 --- a/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md +++ b/content/developers/apps/managing-github-apps/transferring-ownership-of-a-github-app.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-github-apps/transferring-ownership-of-a-github-app - /developers/apps/transferring-ownership-of-a-github-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- diff --git a/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md b/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md index ea859c7f8c..adb9246853 100644 --- a/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md +++ b/content/developers/apps/managing-oauth-apps/deleting-an-oauth-app.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-oauth-apps/deleting-an-oauth-app - /developers/apps/deleting-an-oauth-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps --- diff --git a/content/developers/apps/managing-oauth-apps/index.md b/content/developers/apps/managing-oauth-apps/index.md index bc7ef4dac7..6c1d8fa119 100644 --- a/content/developers/apps/managing-oauth-apps/index.md +++ b/content/developers/apps/managing-oauth-apps/index.md @@ -5,9 +5,9 @@ redirect_from: - /apps/building-integrations/managing-oauth-apps/ - /apps/managing-oauth-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps children: diff --git a/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md b/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md index 331af75aa9..9d5e9073c8 100644 --- a/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md +++ b/content/developers/apps/managing-oauth-apps/modifying-an-oauth-app.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-oauth-apps/modifying-an-oauth-app - /developers/apps/modifying-an-oauth-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps --- diff --git a/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md b/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md index 278d2e7538..d70422fcdc 100644 --- a/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md +++ b/content/developers/apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-oauth-apps/transferring-ownership-of-an-oauth-app - /developers/apps/transferring-ownership-of-an-oauth-app versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps --- diff --git a/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md b/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md index 110ca57d62..a3d101d81f 100644 --- a/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md +++ b/content/developers/apps/managing-oauth-apps/troubleshooting-authorization-request-errors.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-oauth-apps/troubleshooting-authorization-request-errors - /developers/apps/troubleshooting-authorization-request-errors versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub Apps --- diff --git a/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md b/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md index 0513b2bdfc..2ed8e2f314 100644 --- a/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md +++ b/content/developers/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors.md @@ -6,9 +6,9 @@ redirect_from: - /apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors - /developers/apps/troubleshooting-oauth-app-access-token-request-errors versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - OAuth Apps --- diff --git a/content/developers/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md b/content/developers/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md index 2874bf0ec1..22eca02a59 100644 --- a/content/developers/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md +++ b/content/developers/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps.md @@ -3,7 +3,7 @@ title: Customer experience best practices for apps intro: Guidelines for creating an app that will be easy to use and understand. shortTitle: Customer experience best practice versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace redirect_from: diff --git a/content/developers/github-marketplace/creating-apps-for-github-marketplace/index.md b/content/developers/github-marketplace/creating-apps-for-github-marketplace/index.md index e42adc6d63..6632d5f795 100644 --- a/content/developers/github-marketplace/creating-apps-for-github-marketplace/index.md +++ b/content/developers/github-marketplace/creating-apps-for-github-marketplace/index.md @@ -2,7 +2,7 @@ title: Creating apps for GitHub Marketplace intro: 'You can list free and paid tools for developers to use in {% data variables.product.prodname_marketplace %}.' versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace children: diff --git a/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md b/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md index 85a740d7a9..905d87261e 100644 --- a/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md +++ b/content/developers/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md @@ -10,7 +10,7 @@ redirect_from: - /marketplace/getting-started/requirements-for-listing-an-app-on-github-marketplace - /developers/github-marketplace/requirements-for-listing-an-app versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md b/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md index a52c253717..e62e45ccab 100644 --- a/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md +++ b/content/developers/github-marketplace/creating-apps-for-github-marketplace/security-best-practices-for-apps.md @@ -8,7 +8,7 @@ redirect_from: - /developers/github-marketplace/security-best-practices-for-apps shortTitle: Security best practice versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md b/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md index f6c8543b6c..bad2ce4a43 100644 --- a/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md +++ b/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-metrics-for-your-listing.md @@ -8,7 +8,7 @@ redirect_from: - /marketplace/github-marketplace-insights - /developers/github-marketplace/viewing-metrics-for-your-listing versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md b/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md index ea9299fc51..126d63495c 100644 --- a/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md +++ b/content/developers/github-marketplace/creating-apps-for-github-marketplace/viewing-transactions-for-your-listing.md @@ -5,7 +5,7 @@ redirect_from: - /marketplace/github-marketplace-transactions - /developers/github-marketplace/viewing-transactions-for-your-listing versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md b/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md index ccf357cac3..886520ce72 100644 --- a/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md +++ b/content/developers/github-marketplace/github-marketplace-overview/about-github-marketplace.md @@ -6,7 +6,7 @@ redirect_from: - /marketplace/getting-started - /developers/github-marketplace/about-github-marketplace versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/github-marketplace-overview/about-marketplace-badges.md b/content/developers/github-marketplace/github-marketplace-overview/about-marketplace-badges.md index ee68178c65..41f4c88d5d 100644 --- a/content/developers/github-marketplace/github-marketplace-overview/about-marketplace-badges.md +++ b/content/developers/github-marketplace/github-marketplace-overview/about-marketplace-badges.md @@ -5,7 +5,7 @@ redirect_from: - /developers/github-marketplace/about-verified-creator-badges - /developers/github-marketplace/about-marketplace-badges versions: - free-pro-team: '*' + fpt: '*' --- ## For GitHub Apps diff --git a/content/developers/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md b/content/developers/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md index b84930a3ac..082daf6a75 100644 --- a/content/developers/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md +++ b/content/developers/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization.md @@ -2,7 +2,7 @@ title: Applying for publisher verification for your organization intro: 'To offer paid plans for your app or to include a marketplace badge in your app listing, you must complete the publisher verification process for your organization.' versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace redirect_from: diff --git a/content/developers/github-marketplace/github-marketplace-overview/index.md b/content/developers/github-marketplace/github-marketplace-overview/index.md index 77ab119df8..22ad92e32b 100644 --- a/content/developers/github-marketplace/github-marketplace-overview/index.md +++ b/content/developers/github-marketplace/github-marketplace-overview/index.md @@ -2,7 +2,7 @@ title: GitHub Marketplace Overview intro: 'Learn how you can share your app or action with the {% data variables.product.company_short %} community on {% data variables.product.prodname_marketplace %}.' versions: - free-pro-team: '*' + fpt: '*' children: - /about-github-marketplace - /about-marketplace-badges diff --git a/content/developers/github-marketplace/index.md b/content/developers/github-marketplace/index.md index dae01521bf..a0445206d3 100644 --- a/content/developers/github-marketplace/index.md +++ b/content/developers/github-marketplace/index.md @@ -6,7 +6,7 @@ redirect_from: - /apps/marketplace/ - /marketplace versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace children: diff --git a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md index 0e58b8ad00..a0ad39602f 100644 --- a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md +++ b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes.md @@ -9,7 +9,7 @@ redirect_from: - /marketplace/listing-on-github-marketplace/configuring-the-github-marketplace-webhook - /developers/github-marketplace/configuring-a-webhook-to-notify-you-of-plan-changes versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md index 231ac69ae4..a62f21bd16 100644 --- a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md +++ b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/drafting-a-listing-for-your-app.md @@ -14,7 +14,7 @@ redirect_from: - /marketplace/listing-on-github-marketplace/creating-a-draft-github-marketplace-listing - /developers/github-marketplace/drafting-a-listing-for-your-app versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md index c6eec59772..23347c6e01 100644 --- a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md +++ b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/index.md @@ -11,7 +11,7 @@ redirect_from: - /apps/marketplace/listing-on-github-marketplace/ - /marketplace/listing-on-github-marketplace versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace children: diff --git a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md index 7dda65403d..02706afea3 100644 --- a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md +++ b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/setting-pricing-plans-for-your-listing.md @@ -15,7 +15,7 @@ redirect_from: - /marketplace/listing-on-github-marketplace/setting-a-github-marketplace-listing-s-pricing-plan - /developers/github-marketplace/setting-pricing-plans-for-your-listing versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md index ff5d7469b0..3520aded84 100644 --- a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md +++ b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/submitting-your-listing-for-publication.md @@ -6,7 +6,7 @@ redirect_from: - /developers/github-marketplace/submitting-your-listing-for-review - /developers/github-marketplace/submitting-your-listing-for-publication versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md index e13c007a58..c62356c0e7 100644 --- a/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md +++ b/content/developers/github-marketplace/listing-an-app-on-github-marketplace/writing-a-listing-description-for-your-app.md @@ -12,7 +12,7 @@ redirect_from: - /marketplace/listing-on-github-marketplace/writing-github-marketplace-listing-descriptions - /developers/github-marketplace/writing-a-listing-description-for-your-app versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md b/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md index aad0fa48bf..05ca314c5b 100644 --- a/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md +++ b/content/developers/github-marketplace/selling-your-app-on-github-marketplace/billing-customers.md @@ -7,7 +7,7 @@ redirect_from: - /marketplace/selling-your-app/billing-customers-in-github-marketplace - /developers/github-marketplace/billing-customers versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md b/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md index f3ccc97466..5d396b3967 100644 --- a/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md +++ b/content/developers/github-marketplace/selling-your-app-on-github-marketplace/index.md @@ -9,7 +9,7 @@ redirect_from: - /apps/marketplace/selling-your-app/ - /marketplace/selling-your-app versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace children: diff --git a/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md b/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md index 7b661a7ccf..f9893334de 100644 --- a/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md +++ b/content/developers/github-marketplace/selling-your-app-on-github-marketplace/pricing-plans-for-github-marketplace-apps.md @@ -6,7 +6,7 @@ redirect_from: - /marketplace/selling-your-app/github-marketplace-pricing-plans - /developers/github-marketplace/pricing-plans-for-github-marketplace-apps versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md b/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md index 9f24117d40..f14030ba02 100644 --- a/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md +++ b/content/developers/github-marketplace/selling-your-app-on-github-marketplace/receiving-payment-for-app-purchases.md @@ -9,7 +9,7 @@ redirect_from: - /marketplace/selling-your-app/receiving-payment-for-github-marketplace-listings - /developers/github-marketplace/receiving-payment-for-app-purchases versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md index 13844b65bb..b3ec44d6e5 100644 --- a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md +++ b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-new-purchases-and-free-trials.md @@ -8,7 +8,7 @@ redirect_from: - /marketplace/integrating-with-the-github-marketplace-api/handling-new-purchases-and-free-trials - /developers/github-marketplace/handling-new-purchases-and-free-trials versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md index 003ce718ae..85ffb61f13 100644 --- a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md +++ b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-cancellations.md @@ -7,7 +7,7 @@ redirect_from: - /marketplace/integrating-with-the-github-marketplace-api/cancelling-plans - /developers/github-marketplace/handling-plan-cancellations versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md index fa035dde07..d19ba33654 100644 --- a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md +++ b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/handling-plan-changes.md @@ -7,7 +7,7 @@ redirect_from: - /marketplace/integrating-with-the-github-marketplace-api/upgrading-and-downgrading-plans - /developers/github-marketplace/handling-plan-changes versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md index f97f9be1bd..429e2e8e77 100644 --- a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md +++ b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/index.md @@ -6,7 +6,7 @@ redirect_from: - /apps/marketplace/integrating-with-the-github-marketplace-api/ - /marketplace/integrating-with-the-github-marketplace-api versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace children: diff --git a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md index ba2bc242b9..c635b2433e 100644 --- a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md +++ b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/rest-endpoints-for-the-github-marketplace-api.md @@ -7,7 +7,7 @@ redirect_from: - /marketplace/integrating-with-the-github-marketplace-api/github-marketplace-rest-api-endpoints - /developers/github-marketplace/rest-endpoints-for-the-github-marketplace-api versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md index 4c6fd6c84e..4ce4c54550 100644 --- a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md +++ b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/testing-your-app.md @@ -7,7 +7,7 @@ redirect_from: - /marketplace/integrating-with-the-github-marketplace-api/testing-github-marketplace-apps - /developers/github-marketplace/testing-your-app versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md index 8fecc3a3f1..47fbd499c0 100644 --- a/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md +++ b/content/developers/github-marketplace/using-the-github-marketplace-api-in-your-app/webhook-events-for-the-github-marketplace-api.md @@ -7,7 +7,7 @@ redirect_from: - /marketplace/integrating-with-the-github-marketplace-api/github-marketplace-webhook-events - /developers/github-marketplace/webhook-events-for-the-github-marketplace-api versions: - free-pro-team: '*' + fpt: '*' topics: - Marketplace --- diff --git a/content/developers/index.md b/content/developers/index.md index 4b44c4b037..a1785f0d76 100644 --- a/content/developers/index.md +++ b/content/developers/index.md @@ -2,9 +2,9 @@ title: Developers intro: 'Go deeper with {% data variables.product.prodname_dotcom %} by integrating with our APIs, customizing your {% data variables.product.prodname_dotcom %} workflow, and building and sharing apps with the community.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /overview - /webhooks-and-events diff --git a/content/developers/overview/about-githubs-apis.md b/content/developers/overview/about-githubs-apis.md index 591c29932f..9a4a6788a6 100644 --- a/content/developers/overview/about-githubs-apis.md +++ b/content/developers/overview/about-githubs-apis.md @@ -4,9 +4,9 @@ intro: 'Learn about {% data variables.product.prodname_dotcom %}''s APIs to exte redirect_from: - /v3/versions versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/developers/overview/github-developer-program.md b/content/developers/overview/github-developer-program.md index 96a79602d0..efbb87951f 100644 --- a/content/developers/overview/github-developer-program.md +++ b/content/developers/overview/github-developer-program.md @@ -4,7 +4,7 @@ intro: 'If you build tools that integrate with {% data variables.product.prodnam redirect_from: - /program versions: - free-pro-team: '*' + fpt: '*' topics: - API --- diff --git a/content/developers/overview/index.md b/content/developers/overview/index.md index c2d5a94b12..a87ee3d605 100644 --- a/content/developers/overview/index.md +++ b/content/developers/overview/index.md @@ -1,10 +1,10 @@ --- title: Overview -intro: 'Learn about {% data variables.product.prodname_dotcom %}''s APIs{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} and secure your deployments.{% else %}, secure your deployments, and join {% data variables.product.prodname_dotcom %}''s Developer Program.{% endif %}' +intro: 'Learn about {% data variables.product.prodname_dotcom %}''s APIs{% ifversion ghes or ghae %} and secure your deployments.{% else %}, secure your deployments, and join {% data variables.product.prodname_dotcom %}''s Developer Program.{% endif %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /about-githubs-apis - /managing-deploy-keys diff --git a/content/developers/overview/managing-deploy-keys.md b/content/developers/overview/managing-deploy-keys.md index 21dd2294ba..903e6018b3 100644 --- a/content/developers/overview/managing-deploy-keys.md +++ b/content/developers/overview/managing-deploy-keys.md @@ -5,9 +5,9 @@ redirect_from: - /guides/managing-deploy-keys/ - /v3/guides/managing-deploy-keys versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- @@ -46,7 +46,7 @@ If you don't want to use SSH keys, you can use [HTTPS with OAuth tokens][git-aut * Users don't have to change their local SSH settings. * Multiple tokens (one for each user) are not needed; one token per server is enough. * A token can be revoked at any time, turning it essentially into a one-use password. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} * Generating new tokens can be easily scripted using [the OAuth API](/rest/reference/oauth-authorizations#create-a-new-authorization). {% endif %} @@ -94,23 +94,23 @@ If you use multiple repositories on one server, you will need to generate a dedi In the server's SSH configuration file (usually `~/.ssh/config`), add an alias entry for each repository. For example: ```bash -Host {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-0 - Hostname {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}my-GHE-hostname.com{% endif %} +Host {% ifversion fpt %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-0 + Hostname {% ifversion fpt %}github.com{% else %}my-GHE-hostname.com{% endif %} IdentityFile=/home/user/.ssh/repo-0_deploy_key -Host {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-1 - Hostname {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}my-GHE-hostname.com{% endif %} +Host {% ifversion fpt %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-1 + Hostname {% ifversion fpt %}github.com{% else %}my-GHE-hostname.com{% endif %} IdentityFile=/home/user/.ssh/repo-1_deploy_key ``` -* `Host {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-0` - The repository's alias. -* `Hostname {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}my-GHE-hostname.com{% endif %}` - Configures the hostname to use with the alias. +* `Host {% ifversion fpt %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-0` - The repository's alias. +* `Hostname {% ifversion fpt %}github.com{% else %}my-GHE-hostname.com{% endif %}` - Configures the hostname to use with the alias. * `IdentityFile=/home/user/.ssh/repo-0_deploy_key` - Assigns a private key to the alias. You can then use the hostname's alias to interact with the repository using SSH, which will use the unique deploy key assigned to that alias. For example: ```bash -$ git clone git@{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-1:OWNER/repo-1.git +$ git clone git@{% ifversion fpt %}github.com{% else %}my-GHE-hostname.com{% endif %}-repo-1:OWNER/repo-1.git ``` ## Server-to-server tokens @@ -147,7 +147,7 @@ Since GitHub Apps are a first class actor on {% data variables.product.product_ If your server needs to access multiple repositories, you can create a new {% data variables.product.product_name %} account and attach an SSH key that will be used exclusively for automation. Since this {% data variables.product.product_name %} account won't be used by a human, it's called a _machine user_. You can add the machine user as a [collaborator][collaborator] on a personal repository (granting read and write access), as an [outside collaborator][outside-collaborator] on an organization repository (granting read, write, or admin access), or to a [team][team] with access to the repositories it needs to automate (granting the permissions of the team). -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% tip %} diff --git a/content/developers/overview/replacing-github-services.md b/content/developers/overview/replacing-github-services.md index de4b70caa8..10683067f7 100644 --- a/content/developers/overview/replacing-github-services.md +++ b/content/developers/overview/replacing-github-services.md @@ -6,8 +6,8 @@ redirect_from: - /v3/guides/automating-deployments-to-integrators/ - /v3/guides/replacing-github-services versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - API --- @@ -31,7 +31,7 @@ As an alternative to the email service, you can now start using email notificati GitHub Services (sometimes referred to as Service Hooks) is the legacy method of integrating where GitHub hosted a portion of our integrator’s services via [the `github-services` repository](https://github.com/github/github-services). Actions performed on GitHub trigger these services, and you can use these services to trigger actions outside of GitHub. -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} ## Finding repositories that use GitHub Services We provide a command-line script that helps you identify which repositories on your appliance use GitHub Services. For more information, see [ghe-legacy-github-services-report](/enterprise/{{currentVersion}}/admin/articles/command-line-utilities/#ghe-legacy-github-services-report).{% endif %} diff --git a/content/developers/overview/secret-scanning-partner-program.md b/content/developers/overview/secret-scanning-partner-program.md index 0884a2c60a..fee672bdc0 100644 --- a/content/developers/overview/secret-scanning-partner-program.md +++ b/content/developers/overview/secret-scanning-partner-program.md @@ -7,7 +7,7 @@ redirect_from: - /partnerships/secret-scanning - /developers/overview/secret-scanning versions: - free-pro-team: '*' + fpt: '*' topics: - API --- diff --git a/content/developers/overview/using-ssh-agent-forwarding.md b/content/developers/overview/using-ssh-agent-forwarding.md index f00269401c..3b3efe0a58 100644 --- a/content/developers/overview/using-ssh-agent-forwarding.md +++ b/content/developers/overview/using-ssh-agent-forwarding.md @@ -5,9 +5,9 @@ redirect_from: - /guides/using-ssh-agent-forwarding/ - /v3/guides/using-ssh-agent-forwarding versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- @@ -24,10 +24,10 @@ Check out [Steve Friedl's Tech Tips guide][tech-tips] for a more detailed explan Ensure that your own SSH key is set up and working. You can use [our guide on generating SSH keys][generating-keys] if you've not done this yet. -You can test that your local key works by entering `ssh -T git@{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}hostname{% else %}github.com{% endif %}` in the terminal: +You can test that your local key works by entering `ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}` in the terminal: ```shell -$ ssh -T git@{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}hostname{% else %}github.com{% endif %} +$ ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %} # Attempt to SSH in to github > Hi username! You've successfully authenticated, but GitHub does not provide > shell access. @@ -50,7 +50,7 @@ We're off to a great start. Let's set up SSH to allow agent forwarding to your s ## Testing SSH agent forwarding -To test that agent forwarding is working with your server, you can SSH into your server and run `ssh -T git@{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}hostname{% else %}github.com{% endif %}` once more. If all is well, you'll get back the same prompt as you did locally. +To test that agent forwarding is working with your server, you can SSH into your server and run `ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}` once more. If all is well, you'll get back the same prompt as you did locally. If you're unsure if your local key is being used, you can also inspect the `SSH_AUTH_SOCK` variable on your server: @@ -66,7 +66,7 @@ If the variable is not set, it means that agent forwarding is not working: $ echo "$SSH_AUTH_SOCK" # Print out the SSH_AUTH_SOCK variable > [No output] -$ ssh -T git@{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}hostname{% else %}github.com{% endif %} +$ ssh -T git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %} # Try to SSH to github > Permission denied (publickey). ``` @@ -81,7 +81,7 @@ SSH forwarding only works with SSH URLs, not HTTP(s) URLs. Check the *.git/confi ```shell [remote "origin"] - url = git@{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}hostname{% else %}github.com{% endif %}:yourAccount/yourProject.git + url = git@{% ifversion ghes or ghae %}hostname{% else %}github.com{% endif %}:yourAccount/yourProject.git fetch = +refs/heads/*:refs/remotes/origin/* ``` diff --git a/content/developers/overview/viewing-deployment-history.md b/content/developers/overview/viewing-deployment-history.md index 71cc573571..8b0c975652 100644 --- a/content/developers/overview/viewing-deployment-history.md +++ b/content/developers/overview/viewing-deployment-history.md @@ -2,18 +2,18 @@ title: Viewing deployment history intro: View current and previous deployments for your repository. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- -You can deliver deployments through {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}{% data variables.product.prodname_actions %} and environments or with {% endif %}the REST API and third party apps. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}For more information about {% data variables.product.prodname_actions %}, see "[{% data variables.product.prodname_actions %}](/actions)." {% endif %}For more information about deployments with the REST API, see "[Repositories](/rest/reference/repos#deployments)." +You can deliver deployments through {% ifversion fpt or ghes > 3.0 %}{% data variables.product.prodname_actions %} and environments or with {% endif %}the REST API and third party apps. {% ifversion fpt or ghes > 3.0 %}For more information about {% data variables.product.prodname_actions %}, see "[{% data variables.product.prodname_actions %}](/actions)." {% endif %}For more information about deployments with the REST API, see "[Repositories](/rest/reference/repos#deployments)." To view current and past deployments, click **Environments** on the home page of your repository. -{% if currentVersion == "github-ae@latest" or currentVersion ver_lt "enterprise-server@3.0" %} +{% ifversion ghae or ghes < 3.0 %} ![Environments](/assets/images/enterprise/2.22/environments-sidebar.png){% else %} ![Environments](/assets/images/environments-sidebar.png){% endif %} diff --git a/content/developers/webhooks-and-events/events/github-event-types.md b/content/developers/webhooks-and-events/events/github-event-types.md index d5ceff6ec1..16a2b8e668 100644 --- a/content/developers/webhooks-and-events/events/github-event-types.md +++ b/content/developers/webhooks-and-events/events/github-event-types.md @@ -6,15 +6,15 @@ redirect_from: - /v3/activity/event_types - /developers/webhooks-and-events/github-event-types versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Events --- The Events API can return different types of events triggered by activity on GitHub. Each event response contains shared properties, but has a unique `payload` object determined by its event type. The [Event object common properties](#event-object-common-properties) describes the properties shared by all events, and each event type describes the `payload` properties that are unique to the specific event. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% endif %} @@ -163,7 +163,7 @@ Link: ; rel="next", {% data reusables.webhooks.member_event_api_properties %} {% data reusables.webhooks.member_properties %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghes %} ## PublicEvent {% data reusables.webhooks.public_short_desc %} @@ -243,7 +243,7 @@ Key | Type | Description {% data reusables.webhooks.release_event_api_properties %} {% data reusables.webhooks.release_properties %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## SponsorshipEvent {% data reusables.webhooks.sponsorship_short_desc %} diff --git a/content/developers/webhooks-and-events/events/index.md b/content/developers/webhooks-and-events/events/index.md index a008a4ae9d..36c7d582c4 100644 --- a/content/developers/webhooks-and-events/events/index.md +++ b/content/developers/webhooks-and-events/events/index.md @@ -2,9 +2,9 @@ title: Events intro: 'Your integrations can subscribe and react to events on {% data variables.product.prodname_dotcom %}.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Events children: diff --git a/content/developers/webhooks-and-events/events/issue-event-types.md b/content/developers/webhooks-and-events/events/issue-event-types.md index 0baaf64de6..ea06192ec8 100644 --- a/content/developers/webhooks-and-events/events/issue-event-types.md +++ b/content/developers/webhooks-and-events/events/issue-event-types.md @@ -5,9 +5,9 @@ redirect_from: - /v3/issues/issue-event-types - /developers/webhooks-and-events/issue-event-types versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Events --- @@ -350,7 +350,7 @@ The issue or pull request was locked. ### Event object properties -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} {% data reusables.pre-release-program.sailor-v-preview %} {% data reusables.pre-release-program.api-preview-warning %} {% endif %} @@ -670,7 +670,7 @@ The issue was unlocked. ### Event object properties -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} {% data reusables.pre-release-program.sailor-v-preview %} {% data reusables.pre-release-program.api-preview-warning %} {% endif %} @@ -720,7 +720,7 @@ Someone unsubscribed from receiving notifications for an issue or pull request. {% data reusables.issue-events.issue-event-common-properties %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## user_blocked An organization owner blocked a user from the organization. This was done [through one of the blocked user's comments on the issue](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization#blocking-a-user-in-a-comment). diff --git a/content/developers/webhooks-and-events/index.md b/content/developers/webhooks-and-events/index.md index 82fb3c90d7..06b7848132 100644 --- a/content/developers/webhooks-and-events/index.md +++ b/content/developers/webhooks-and-events/index.md @@ -2,9 +2,9 @@ title: Webhooks and events intro: 'You can set up, test, and secure webhooks so your integrations can subscribe and react to events on {% data variables.product.prodname_dotcom %}.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Webhooks - Events diff --git a/content/developers/webhooks-and-events/webhooks/about-webhooks.md b/content/developers/webhooks-and-events/webhooks/about-webhooks.md index c1d698aa9d..02458af5fa 100644 --- a/content/developers/webhooks-and-events/webhooks/about-webhooks.md +++ b/content/developers/webhooks-and-events/webhooks/about-webhooks.md @@ -5,17 +5,17 @@ redirect_from: - /webhooks - /developers/webhooks-and-events/about-webhooks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Webhooks --- Webhooks allow you to build or set up integrations, such as [{% data variables.product.prodname_github_app %}s](/apps/building-github-apps/) or [{% data variables.product.prodname_oauth_app %}s](/apps/building-oauth-apps/), which subscribe to certain events on GitHub.com. When one of those events is triggered, we'll send a HTTP POST payload to the webhook's configured URL. Webhooks can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server. You're only limited by your imagination. -Webhooks can be installed on{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} [{% data variables.product.prodname_enterprise %}](/rest/reference/enterprise-admin#global-webhooks/),{% endif %} an [organization][org-hooks], a specific [repository][repo-hooks], or a {% data variables.product.prodname_github_app %}. Once installed, the webhook will be sent each time one or more subscribed events occurs. +Webhooks can be installed on{% ifversion ghes or ghae %} [{% data variables.product.prodname_enterprise %}](/rest/reference/enterprise-admin#global-webhooks/),{% endif %} an [organization][org-hooks], a specific [repository][repo-hooks], or a {% data variables.product.prodname_github_app %}. Once installed, the webhook will be sent each time one or more subscribed events occurs. -You can create up to {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}250{% else %}20{% endif %} webhooks for each event on each installation target {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}({% data variables.product.prodname_ghe_server %} instance, specific organization, or specific repository).{% else %}(specific organization or specific repository).{% endif %} +You can create up to {% ifversion ghes or ghae %}250{% else %}20{% endif %} webhooks for each event on each installation target {% ifversion ghes or ghae %}({% data variables.product.prodname_ghe_server %} instance, specific organization, or specific repository).{% else %}(specific organization or specific repository).{% endif %} ## Events diff --git a/content/developers/webhooks-and-events/webhooks/configuring-your-server-to-receive-payloads.md b/content/developers/webhooks-and-events/webhooks/configuring-your-server-to-receive-payloads.md index f75c2a54b1..017b670d67 100644 --- a/content/developers/webhooks-and-events/webhooks/configuring-your-server-to-receive-payloads.md +++ b/content/developers/webhooks-and-events/webhooks/configuring-your-server-to-receive-payloads.md @@ -5,9 +5,9 @@ redirect_from: - /webhooks/configuring - /developers/webhooks-and-events/configuring-your-server-to-receive-payloads versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Webhooks --- diff --git a/content/developers/webhooks-and-events/webhooks/creating-webhooks.md b/content/developers/webhooks-and-events/webhooks/creating-webhooks.md index 15df45c16d..6b7205ee32 100644 --- a/content/developers/webhooks-and-events/webhooks/creating-webhooks.md +++ b/content/developers/webhooks-and-events/webhooks/creating-webhooks.md @@ -5,9 +5,9 @@ redirect_from: - /webhooks/creating - /developers/webhooks-and-events/creating-webhooks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Webhooks --- diff --git a/content/developers/webhooks-and-events/webhooks/index.md b/content/developers/webhooks-and-events/webhooks/index.md index 006022c908..5c39b2cf95 100644 --- a/content/developers/webhooks-and-events/webhooks/index.md +++ b/content/developers/webhooks-and-events/webhooks/index.md @@ -2,9 +2,9 @@ title: Webhooks intro: 'Learn to set up, test, and secure webhooks to integrate with {% data variables.product.prodname_dotcom %}.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Webhooks children: diff --git a/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md b/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md index 51543f6337..1429e5382b 100644 --- a/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md +++ b/content/developers/webhooks-and-events/webhooks/securing-your-webhooks.md @@ -5,9 +5,9 @@ redirect_from: - /webhooks/securing - /developers/webhooks-and-events/securing-your-webhooks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Webhooks --- @@ -36,9 +36,9 @@ $ export SECRET_TOKEN=your_token ## Validating payloads from GitHub -When your secret token is set, {% data variables.product.product_name %} uses it to create a hash signature with each payload. This hash signature is included with the headers of each request as {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`X-Hub-Signature-256`{% elsif currentVersion ver_lt "enterprise-server@2.23" %}`X-Hub-Signature`{% endif %}. +When your secret token is set, {% data variables.product.product_name %} uses it to create a hash signature with each payload. This hash signature is included with the headers of each request as {% ifversion fpt or ghes > 2.22 or ghae %}`X-Hub-Signature-256`{% elsif ghes < 3.0 %}`X-Hub-Signature`{% endif %}. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} {% note %} **Note:** For backward-compatibility, we also include the `X-Hub-Signature` header that is generated using the SHA-1 hash function. If possible, we recommend that you use the `X-Hub-Signature-256` header for improved security. The example below demonstrates using the `X-Hub-Signature-256` header. @@ -70,11 +70,11 @@ post '/payload' do "I got some JSON: #{push.inspect}" end -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} def verify_signature(payload_body) signature = 'sha256=' + OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), ENV['SECRET_TOKEN'], payload_body) return halt 500, "Signatures didn't match!" unless Rack::Utils.secure_compare(signature, request.env['HTTP_X_HUB_SIGNATURE_256']) -end{% elsif currentVersion ver_lt "enterprise-server@2.23" %} +end{% elsif ghes < 3.0 %} def verify_signature(payload_body) signature = 'sha1=' + OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), ENV['SECRET_TOKEN'], payload_body) return halt 500, "Signatures didn't match!" unless Rack::Utils.secure_compare(signature, request.env['HTTP_X_HUB_SIGNATURE']) @@ -89,7 +89,7 @@ end{% endif %} Your language and server implementations may differ from this example code. However, there are a number of very important things to point out: -* No matter which implementation you use, the hash signature starts with {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`sha256=`{% elsif currentVersion ver_lt "enterprise-server@2.23" %}`sha1=`{% endif %}, using the key of your secret token and your payload body. +* No matter which implementation you use, the hash signature starts with {% ifversion fpt or ghes > 2.22 or ghae %}`sha256=`{% elsif ghes < 3.0 %}`sha1=`{% endif %}, using the key of your secret token and your payload body. * Using a plain `==` operator is **not advised**. A method like [`secure_compare`][secure_compare] performs a "constant time" string comparison, which helps mitigate certain timing attacks against regular equality operators. diff --git a/content/developers/webhooks-and-events/webhooks/testing-webhooks.md b/content/developers/webhooks-and-events/webhooks/testing-webhooks.md index 80ed667a91..19458aa369 100644 --- a/content/developers/webhooks-and-events/webhooks/testing-webhooks.md +++ b/content/developers/webhooks-and-events/webhooks/testing-webhooks.md @@ -5,9 +5,9 @@ redirect_from: - /webhooks/testing - /developers/webhooks-and-events/testing-webhooks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Webhooks --- @@ -19,7 +19,7 @@ view provides some tooling for testing your deployed payloads. Every webhook has its own "Recent Deliveries" section, which lists, at a glance whether a delivery was successful (green check) or failed (red x). You can also identify when each delivery was attempted. -{% data variables.product.product_name %} keeps a log of each webhook delivery for {% if currentVersion == "free-pro-team@latest" %} 30 {% else %} 8 {% endif %} days. +{% data variables.product.product_name %} keeps a log of each webhook delivery for {% ifversion fpt %} 30 {% else %} 8 {% endif %} days. ![Recent Deliveries view](/assets/images/webhooks_recent_deliveries.png) diff --git a/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md b/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md index 830322fdfd..024e56dec1 100644 --- a/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md +++ b/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md @@ -8,13 +8,13 @@ redirect_from: - /webhooks/event-payloads - /developers/webhooks-and-events/webhook-events-and-payloads versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Webhooks --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% endif %} @@ -49,10 +49,10 @@ HTTP POST payloads that are delivered to your webhook's configured URL endpoint Header | Description -------|-------------| `X-GitHub-Event`| Name of the event that triggered the delivery. -`X-GitHub-Delivery`| A [GUID](http://en.wikipedia.org/wiki/Globally_unique_identifier) to identify the delivery.{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +`X-GitHub-Delivery`| A [GUID](http://en.wikipedia.org/wiki/Globally_unique_identifier) to identify the delivery.{% ifversion ghes or ghae %} `X-GitHub-Enterprise-Version` | The version of the {% data variables.product.prodname_ghe_server %} instance that sent the HTTP POST payload. -`X-GitHub-Enterprise-Host` | The hostname of the {% data variables.product.prodname_ghe_server %} instance that sent the HTTP POST payload.{% endif %}{% if currentVersion != "github-ae@latest" %} -`X-Hub-Signature`| This header is sent if the webhook is configured with a [`secret`](/rest/reference/repos#create-hook-config-params). This is the HMAC hex digest of the request body, and is generated using the SHA-1 hash function and the `secret` as the HMAC `key`.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} `X-Hub-Signature` is provided for compatibility with existing integrations, and we recommend that you use the more secure `X-Hub-Signature-256` instead.{% endif %}{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +`X-GitHub-Enterprise-Host` | The hostname of the {% data variables.product.prodname_ghe_server %} instance that sent the HTTP POST payload.{% endif %}{% ifversion not ghae %} +`X-Hub-Signature`| This header is sent if the webhook is configured with a [`secret`](/rest/reference/repos#create-hook-config-params). This is the HMAC hex digest of the request body, and is generated using the SHA-1 hash function and the `secret` as the HMAC `key`.{% ifversion fpt or ghes > 2.22 %} `X-Hub-Signature` is provided for compatibility with existing integrations, and we recommend that you use the more secure `X-Hub-Signature-256` instead.{% endif %}{% endif %}{% ifversion fpt or ghes > 2.22 or ghae %} `X-Hub-Signature-256`| This header is sent if the webhook is configured with a [`secret`](/rest/reference/repos#create-hook-config-params). This is the HMAC hex digest of the request body, and is generated using the SHA-256 hash function and the `secret` as the HMAC `key`.{% endif %} Also, the `User-Agent` for the requests will have the prefix `GitHub-Hookshot/`. @@ -63,10 +63,10 @@ Also, the `User-Agent` for the requests will have the prefix `GitHub-Hookshot/`. > POST /payload HTTP/2 > Host: localhost:4567 -> X-GitHub-Delivery: 72d3162e-cc78-11e3-81ab-4c9367dc0958{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +> X-GitHub-Delivery: 72d3162e-cc78-11e3-81ab-4c9367dc0958{% ifversion ghes or ghae %} > X-GitHub-Enterprise-Version: 2.15.0 -> X-GitHub-Enterprise-Host: example.com{% endif %}{% if currentVersion != "github-ae@latest" %} -> X-Hub-Signature: sha1=7d38cdd689735b008b3c702edd92eea23791c5f6{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +> X-GitHub-Enterprise-Host: example.com{% endif %}{% ifversion not ghae %} +> X-Hub-Signature: sha1=7d38cdd689735b008b3c702edd92eea23791c5f6{% endif %}{% ifversion fpt or ghes > 2.22 or ghae %} > X-Hub-Signature-256: sha256=d57c68ca6f92289e6987922ff26938930f6e66a2d161ef06abdf1859230aa23c{% endif %} > User-Agent: GitHub-Hookshot/044aadd > Content-Type: application/json @@ -146,7 +146,7 @@ Also, the `User-Agent` for the requests will have the prefix `GitHub-Hookshot/`. {{ webhookPayloadsForCurrentVersion.check_suite.completed }} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} ## code_scanning_alert {% data reusables.webhooks.code_scanning_alert_event_short_desc %} @@ -163,7 +163,7 @@ Also, the `User-Agent` for the requests will have the prefix `GitHub-Hookshot/`. {% data reusables.webhooks.repo_desc %} {% data reusables.webhooks.org_desc %} {% data reusables.webhooks.app_desc %} -`sender` | `object` | If the `action` is `reopened_by_user` or `closed_by_user`, the `sender` object will be the user that triggered the event. The `sender` object is {% if currentVersion == "free-pro-team@latest" %}`github` {% elsif currentVersion ver_gt "enterprise-server@3.0" %}`github-enterprise` {% else %}empty {% endif %}for all other actions. +`sender` | `object` | If the `action` is `reopened_by_user` or `closed_by_user`, the `sender` object will be the user that triggered the event. The `sender` object is {% ifversion fpt %}`github` {% elsif ghes > 3.0 %}`github-enterprise` {% else %}empty {% endif %}for all other actions. ### Webhook payload example @@ -297,7 +297,7 @@ Webhook events are triggered based on the specificity of the domain you register ### Webhook payload object Key | Type | Description -----|------|-------------{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +----|------|-------------{% ifversion fpt or ghes or ghae %} `action` |`string` | The action performed. Can be `created`.{% endif %} `deployment` |`object` | The [deployment](/rest/reference/repos#list-deployments). {% data reusables.webhooks.repo_desc %} @@ -322,7 +322,7 @@ Key | Type | Description ### Webhook payload object Key | Type | Description -----|------|-------------{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +----|------|-------------{% ifversion fpt or ghes or ghae %} `action` |`string` | The action performed. Can be `created`.{% endif %} `deployment_status` |`object` | The [deployment status](/rest/reference/repos#list-deployment-statuses). `deployment_status["state"]` |`string` | The new state. Can be `pending`, `success`, `failure`, or `error`. @@ -338,7 +338,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.deployment_status }} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## discussion {% data reusables.webhooks.discussions-webhooks-beta %} @@ -392,7 +392,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.discussion_comment.created }} {% endif %} -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} ## enterprise @@ -601,7 +601,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.label.deleted }} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## marketplace_purchase Activity related to a GitHub Marketplace purchase. {% data reusables.webhooks.action_type_desc %} For more information, see the "[GitHub Marketplace](/marketplace/)." @@ -719,7 +719,7 @@ Key | Type | Description ### Availability -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} - GitHub Enterprise webhooks only receive `created` and `deleted` events. For more information, "[Global webhooks](/rest/reference/enterprise-admin#global-webhooks/).{% endif %} - Organization webhooks only receive the `deleted`, `added`, `removed`, `renamed`, and `invited` events - {% data variables.product.prodname_github_app %}s with the `members` permission @@ -728,7 +728,7 @@ Key | Type | Description Key | Type | Description ----|------|------------- -`action` |`string` | The action that was performed. Can be one of:{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} `created`,{% endif %} `deleted`, `renamed`, `member_added`, `member_removed`, or `member_invited`. +`action` |`string` | The action that was performed. Can be one of:{% ifversion ghes or ghae %} `created`,{% endif %} `deleted`, `renamed`, `member_added`, `member_removed`, or `member_invited`. `invitation` |`object` | The invitation for the user or email if the action is `member_invited`. `membership` |`object` | The membership between the user and the organization. Not present when the action is `member_invited`. {% data reusables.webhooks.org_desc %} @@ -739,7 +739,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.organization.member_added }} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## org_block @@ -766,7 +766,7 @@ Key | Type | Description {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghae %} ## package @@ -906,7 +906,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.project.created }} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghes %} ## public {% data reusables.webhooks.public_short_desc %} @@ -1067,7 +1067,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.release.published }} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} ## repository_dispatch This event occurs when a {% data variables.product.prodname_github_app %} sends a `POST` request to the "[Create a repository dispatch event](/rest/reference/repos#create-a-repository-dispatch-event)" endpoint. @@ -1095,7 +1095,7 @@ This event occurs when a {% data variables.product.prodname_github_app %} sends Key | Type | Description ----|------|------------- -`action` |`string` | The action that was performed. This can be one of:
  • `created` - A repository is created.
  • `deleted` - A repository is deleted.
  • `archived` - A repository is archived.
  • `unarchived` - A repository is unarchived.
  • {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}
  • `anonymous_access_enabled` - A repository is [enabled for anonymous Git access](/rest/overview/api-previews#anonymous-git-access-to-repositories), `anonymous_access_disabled` - A repository is [disabled for anonymous Git access](/rest/overview/api-previews#anonymous-git-access-to-repositories)
  • {% endif %}
  • `edited` - A repository's information is edited.
  • `renamed` - A repository is renamed.
  • `transferred` - A repository is transferred.
  • `publicized` - A repository is made public.
  • `privatized` - A repository is made private.
+`action` |`string` | The action that was performed. This can be one of:
  • `created` - A repository is created.
  • `deleted` - A repository is deleted.
  • `archived` - A repository is archived.
  • `unarchived` - A repository is unarchived.
  • {% ifversion ghes or ghae %}
  • `anonymous_access_enabled` - A repository is [enabled for anonymous Git access](/rest/overview/api-previews#anonymous-git-access-to-repositories), `anonymous_access_disabled` - A repository is [disabled for anonymous Git access](/rest/overview/api-previews#anonymous-git-access-to-repositories)
  • {% endif %}
  • `edited` - A repository's information is edited.
  • `renamed` - A repository is renamed.
  • `transferred` - A repository is transferred.
  • `publicized` - A repository is made public.
  • `privatized` - A repository is made private.
{% data reusables.webhooks.repo_desc %} {% data reusables.webhooks.org_desc %} {% data reusables.webhooks.app_desc %} @@ -1105,7 +1105,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.repository.publicized }} -{% if currentVersion == "free-pro-team@latest"%} +{% ifversion fpt %} ## repository_import {% data reusables.webhooks.repository_import_short_desc %} To receive this event for a personal repository, you must create an empty repository prior to the import. This event can be triggered using either the [GitHub Importer](/articles/importing-a-repository-with-github-importer/) or the [Source imports API](/rest/reference/migrations#source-imports). @@ -1148,7 +1148,7 @@ Key | Type | Description {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} ## secret_scanning_alert @@ -1173,7 +1173,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.secret_scanning_alert.reopened }} {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@1.19" %} +{% ifversion fpt or ghes %} ## security_advisory Activity related to a security advisory. A security advisory provides information about security-related vulnerabilities in software on GitHub. The security advisory dataset also powers the GitHub security alerts, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies/)." @@ -1194,7 +1194,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.security_advisory.published }} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## sponsorship {% data reusables.webhooks.sponsorship_short_desc %} @@ -1324,7 +1324,7 @@ Key | Type | Description {{ webhookPayloadsForCurrentVersion.team_add }} -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} ## user @@ -1363,7 +1363,7 @@ The event’s actor is the [user](/rest/reference/users) who starred a repositor {{ webhookPayloadsForCurrentVersion.watch.started }} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} ## workflow_dispatch This event occurs when someone triggers a workflow run on GitHub or sends a `POST` request to the "[Create a workflow dispatch event](/rest/reference/actions/#create-a-workflow-dispatch-event)" endpoint. For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." @@ -1377,7 +1377,7 @@ This event occurs when someone triggers a workflow run on GitHub or sends a `POS {{ webhookPayloadsForCurrentVersion.workflow_dispatch }} {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## workflow_run When a {% data variables.product.prodname_actions %} workflow run is requested or completed. For more information, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_run)." diff --git a/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md b/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md index 7e45c8b18e..4ae83dea39 100644 --- a/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md +++ b/content/discussions/collaborating-with-your-community-using-discussions/about-discussions.md @@ -1,8 +1,8 @@ --- title: About discussions -intro: Use discussions to ask and answer questions, share information, make announcements, and conduct or participate in a conversation about a project on {% data variables.product.product_name %}. +intro: 'Use discussions to ask and answer questions, share information, make announcements, and conduct or participate in a conversation about a project on {% data variables.product.product_name %}.' versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md b/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md index 3044297804..67fcb943f6 100644 --- a/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md +++ b/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md @@ -1,10 +1,10 @@ --- title: Collaborating with maintainers using discussions shortTitle: Collaborating with maintainers -intro: You can contribute to the goals, plans, health, and community for a project on {% data variables.product.product_name %} by communicating with the maintainers of the project in a discussion. +intro: 'You can contribute to the goals, plans, health, and community for a project on {% data variables.product.product_name %} by communicating with the maintainers of the project in a discussion.' permissions: People with read permissions to a repository can start and participate in discussions in the repository. versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/collaborating-with-your-community-using-discussions/index.md b/content/discussions/collaborating-with-your-community-using-discussions/index.md index 0716b37683..545191552e 100644 --- a/content/discussions/collaborating-with-your-community-using-discussions/index.md +++ b/content/discussions/collaborating-with-your-community-using-discussions/index.md @@ -3,7 +3,7 @@ title: Collaborating with your community using discussions shortTitle: Collaborating using discussions intro: Gather and discuss your project with community members and other maintainers. versions: - free-pro-team: '*' + fpt: '*' children: - /about-discussions - /participating-in-a-discussion diff --git a/content/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion.md b/content/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion.md index 5f2d7d5238..81d388ed7a 100644 --- a/content/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion.md +++ b/content/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion.md @@ -1,9 +1,9 @@ --- title: Participating in a discussion -intro: You can converse with the community and maintainers in a forum within the repository for a project on {% data variables.product.product_name %}. +intro: 'You can converse with the community and maintainers in a forum within the repository for a project on {% data variables.product.product_name %}.' permissions: People with read permissions to a repository can participate in discussions in the repository. versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/guides/best-practices-for-community-conversations-on-github.md b/content/discussions/guides/best-practices-for-community-conversations-on-github.md index 76ed004bb7..dcb01bcc2e 100644 --- a/content/discussions/guides/best-practices-for-community-conversations-on-github.md +++ b/content/discussions/guides/best-practices-for-community-conversations-on-github.md @@ -3,7 +3,7 @@ title: Best practices for community conversations on GitHub shortTitle: Best practices for community conversations intro: 'You can use discussions to brainstorm with your team, and eventually move the conversation to a discussion when you are ready to scope out the work.' versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/guides/finding-discussions-across-multiple-repositories.md b/content/discussions/guides/finding-discussions-across-multiple-repositories.md index 92013ae3c6..6418926c02 100644 --- a/content/discussions/guides/finding-discussions-across-multiple-repositories.md +++ b/content/discussions/guides/finding-discussions-across-multiple-repositories.md @@ -1,8 +1,8 @@ --- title: Finding discussions across multiple repositories -intro: 'You can easily access every discussion you''ve created or participated in across multiple repositories.' +intro: You can easily access every discussion you've created or participated in across multiple repositories. versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/guides/granting-higher-permissions-to-top-contributors.md b/content/discussions/guides/granting-higher-permissions-to-top-contributors.md index 09d4347878..96c3610233 100644 --- a/content/discussions/guides/granting-higher-permissions-to-top-contributors.md +++ b/content/discussions/guides/granting-higher-permissions-to-top-contributors.md @@ -1,8 +1,8 @@ --- title: Granting higher permissions to top contributors -intro: 'Repository administrators can promote any community member to a moderator and maintainer.' +intro: Repository administrators can promote any community member to a moderator and maintainer. versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/guides/index.md b/content/discussions/guides/index.md index 86c168b4e9..f94699a0c2 100644 --- a/content/discussions/guides/index.md +++ b/content/discussions/guides/index.md @@ -3,7 +3,7 @@ title: Discussions guides shortTitle: Guides intro: Discover pathways to get started or learn best practices for participating or monitoring your community's discussions. versions: - free-pro-team: '*' + fpt: '*' children: - /best-practices-for-community-conversations-on-github - /finding-discussions-across-multiple-repositories diff --git a/content/discussions/index.md b/content/discussions/index.md index 68ed347a82..98002a6ff7 100644 --- a/content/discussions/index.md +++ b/content/discussions/index.md @@ -28,10 +28,11 @@ examples_source: data/product-examples/discussions/community-examples.yml product_video: 'https://www.youtube-nocookie.com/embed/IpBw2SJkFyk' layout: product-landing versions: - free-pro-team: '*' + fpt: '*' children: - /quickstart - /guides - /collaborating-with-your-community-using-discussions - /managing-discussions-for-your-community --- + diff --git a/content/discussions/managing-discussions-for-your-community/index.md b/content/discussions/managing-discussions-for-your-community/index.md index 5ca1df629a..868515a2f0 100644 --- a/content/discussions/managing-discussions-for-your-community/index.md +++ b/content/discussions/managing-discussions-for-your-community/index.md @@ -3,7 +3,7 @@ title: Managing discussions for your community shortTitle: Managing discussions intro: 'You can enable and configure discussions for your repository, and you can use tools on {% data variables.product.product_name %} to moderate conversations among community members.' versions: - free-pro-team: '*' + fpt: '*' children: - /managing-discussions-in-your-repository - /managing-categories-for-discussions-in-your-repository diff --git a/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository.md b/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository.md index d6355d385a..a3fa9a2b26 100644 --- a/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository.md +++ b/content/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository.md @@ -1,9 +1,9 @@ --- title: Managing categories for discussions in your repository -intro: You can categorize the discussions in your repository to organize conversations for your community members, and you can choose a format for each category. +intro: 'You can categorize the discussions in your repository to organize conversations for your community members, and you can choose a format for each category.' permissions: Repository administrators and people with write or greater access to a repository can enable discussions in the repository. versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository.md b/content/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository.md index efc0d8d8e2..aec6df14ff 100644 --- a/content/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository.md +++ b/content/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository.md @@ -1,9 +1,9 @@ --- title: Managing discussions in your repository -intro: You can categorize, spotlight, transfer, or delete the discussions in a repository. +intro: 'You can categorize, spotlight, transfer, or delete the discussions in a repository.' permissions: Repository administrators and people with write or greater access to a repository can manage discussions in the repository. versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/managing-discussions-for-your-community/moderating-discussions.md b/content/discussions/managing-discussions-for-your-community/moderating-discussions.md index 3342f21783..aed5f06320 100644 --- a/content/discussions/managing-discussions-for-your-community/moderating-discussions.md +++ b/content/discussions/managing-discussions-for-your-community/moderating-discussions.md @@ -3,7 +3,7 @@ title: Moderating discussions intro: 'You can promote healthy collaboration by marking comments as answers, locking or unlocking discussions, and converting issues to discussions. and editing or deleting comments, discussions, and categories that don''t align with your community''s code of conduct to discussions.' permissions: People with triage access to a repository can moderate discussions in the repository. versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/discussions/quickstart.md b/content/discussions/quickstart.md index 12481e7ac0..2f60b267f4 100644 --- a/content/discussions/quickstart.md +++ b/content/discussions/quickstart.md @@ -3,7 +3,7 @@ title: Quickstart for GitHub Discussions intro: 'Enable {% data variables.product.prodname_discussions %} on an existing repository and start conversations with your community.' allowTitleToDifferFromFilename: true versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.discussions.beta %} diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md index d2930180d2..cd136e47fc 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/index.md @@ -7,7 +7,7 @@ redirect_from: - /github/teaching-and-learning-with-github-education - /categories/teaching-and-learning-with-github-education versions: - free-pro-team: '*' + fpt: '*' children: - /use-github-at-your-educational-institution - /use-github-for-your-schoolwork diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-advisors.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-advisors.md index a68a9253e8..9f9482bb98 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-advisors.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-advisors.md @@ -7,7 +7,7 @@ redirect_from: - /articles/about-campus-advisors - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-campus-advisors versions: - free-pro-team: '*' + fpt: '*' --- Professors, teachers and mentors can use the Campus Advisors online training to master Git and {% data variables.product.prodname_dotcom %} and learn best practices for teaching students with {% data variables.product.prodname_dotcom %}. For more information, see "[Campus Advisors](https://education.github.com/teachers/advisors)." diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-experts.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-experts.md index 3714c1d86d..4de3bf175b 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-experts.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-campus-experts.md @@ -7,7 +7,7 @@ redirect_from: - /articles/about-campus-experts - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-campus-experts versions: - free-pro-team: '*' + fpt: '*' --- Learn public speaking skills, technical writing, community leadership, and software development skills as a {% data variables.product.prodname_dotcom %} Campus Expert. diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md index 2202ba4c01..195661902e 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/about-github-campus-program.md @@ -8,7 +8,7 @@ redirect_from: - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-education - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-campus-program versions: - free-pro-team: '*' + fpt: '*' --- {% data variables.product.prodname_campus_program %} is a package of premium {% data variables.product.prodname_dotcom %} access for teaching-focused institutions that grant degrees, diplomas, or certificates. {% data variables.product.prodname_campus_program %} includes: diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/index.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/index.md index 49a1cf7cf6..70e4177056 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/index.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-at-your-educational-institution/index.md @@ -6,7 +6,7 @@ redirect_from: - /github/teaching-and-learning-with-github-education/using-github-at-your-educational-institution - /articles/using-github-at-your-educational-institution versions: - free-pro-team: '*' + fpt: '*' children: - /about-github-campus-program - /about-campus-experts diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-education-for-students.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-education-for-students.md index c435027649..ecdfcaf471 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-education-for-students.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/about-github-education-for-students.md @@ -7,7 +7,7 @@ redirect_from: - /articles/about-github-education-for-students - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-education-for-students versions: - free-pro-team: '*' + fpt: '*' --- Using {% data variables.product.prodname_dotcom %} for your school projects is a practical way to collaborate with others and build a portfolio that showcases real-world experience. diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/apply-for-a-student-developer-pack.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/apply-for-a-student-developer-pack.md index 4dbf86a98e..be74eac6df 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/apply-for-a-student-developer-pack.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/apply-for-a-student-developer-pack.md @@ -7,7 +7,7 @@ redirect_from: - /articles/applying-for-a-student-developer-pack - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/apply-for-a-student-developer-pack versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.education.about-github-education-link %} diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/index.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/index.md index 3de6150edc..4aa04d44ed 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/index.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/index.md @@ -6,7 +6,7 @@ redirect_from: - /github/teaching-and-learning-with-github-education/using-github-for-your-schoolwork - /articles/using-github-for-your-schoolwork versions: - free-pro-team: '*' + fpt: '*' children: - /about-github-education-for-students - /apply-for-a-student-developer-pack diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/why-wasnt-my-application-for-a-student-developer-pack-approved.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/why-wasnt-my-application-for-a-student-developer-pack-approved.md index 240fbacf3a..85320f32f1 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/why-wasnt-my-application-for-a-student-developer-pack-approved.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-for-your-schoolwork/why-wasnt-my-application-for-a-student-developer-pack-approved.md @@ -9,7 +9,7 @@ redirect_from: - /articles/why-wasnt-my-application-for-a-student-developer-pack-approved - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/why-wasnt-my-application-for-a-student-developer-pack-approved versions: - free-pro-team: '*' + fpt: '*' --- {% tip %} diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/about-github-education-for-educators-and-researchers.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/about-github-education-for-educators-and-researchers.md index 7256f6eccb..94ce42b492 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/about-github-education-for-educators-and-researchers.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/about-github-education-for-educators-and-researchers.md @@ -7,7 +7,7 @@ redirect_from: - /articles/about-github-education-for-educators-and-researchers - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/about-github-education-for-educators-and-researchers versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.education.about-github-education-link %} diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/apply-for-an-educator-or-researcher-discount.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/apply-for-an-educator-or-researcher-discount.md index bdf31c7c48..38f3d6a386 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/apply-for-an-educator-or-researcher-discount.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/apply-for-an-educator-or-researcher-discount.md @@ -11,7 +11,7 @@ redirect_from: - /articles/applying-for-an-educator-or-researcher-discount - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/apply-for-an-educator-or-researcher-discount versions: - free-pro-team: '*' + fpt: '*' --- ## About educator and researcher discounts diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/index.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/index.md index f34fddc761..c28617b9a1 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/index.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/index.md @@ -6,7 +6,7 @@ redirect_from: - /github/teaching-and-learning-with-github-education/using-github-in-your-classroom-and-research - /articles/using-github-in-your-classroom-and-research versions: - free-pro-team: '*' + fpt: '*' children: - /about-github-education-for-educators-and-researchers - /apply-for-an-educator-or-researcher-discount diff --git a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved.md b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved.md index 330328e1b8..9c3eb182dd 100644 --- a/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved.md +++ b/content/education/explore-the-benefits-of-teaching-and-learning-with-github-education/use-github-in-your-classroom-and-research/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved.md @@ -9,7 +9,7 @@ redirect_from: - /articles/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved - /education/explore-the-benefits-of-teaching-and-learning-with-github-education/why-wasnt-my-application-for-an-educator-or-researcher-discount-approved versions: - free-pro-team: '*' + fpt: '*' --- {% tip %} diff --git a/content/education/guides.md b/content/education/guides.md index 12dc7a6863..93608c7209 100644 --- a/content/education/guides.md +++ b/content/education/guides.md @@ -3,7 +3,7 @@ title: Guides for GitHub Education intro: 'These guides for {% data variables.product.prodname_education %} help you teach and learn both {% data variables.product.product_name %} and software development.' allowTitleToDifferFromFilename: true versions: - free-pro-team: '*' + fpt: '*' --- ## Get started with {% data variables.product.product_name %} diff --git a/content/education/index.md b/content/education/index.md index b6c48054df..d4c2ce8d21 100644 --- a/content/education/index.md +++ b/content/education/index.md @@ -23,10 +23,11 @@ changelog: label: education layout: product-landing versions: - free-pro-team: '*' + fpt: '*' children: - /quickstart - /explore-the-benefits-of-teaching-and-learning-with-github-education - /manage-coursework-with-github-classroom - /guides --- + diff --git a/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/basics-of-setting-up-github-classroom.md b/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/basics-of-setting-up-github-classroom.md index b76025312a..d0c4da2857 100644 --- a/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/basics-of-setting-up-github-classroom.md +++ b/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/basics-of-setting-up-github-classroom.md @@ -3,7 +3,7 @@ title: Basics of setting up GitHub Classroom shortTitle: '{% data variables.product.prodname_classroom %} basics' intro: 'Learn how to set up your classroom, manage assignments, and configure time-saving automation.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/basics-of-setting-up-github-classroom --- diff --git a/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/glossary.md b/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/glossary.md index e18fc1591c..68f7ecbc53 100644 --- a/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/glossary.md +++ b/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/glossary.md @@ -2,7 +2,7 @@ title: Glossary intro: 'You can review explanations of terminology for {% data variables.product.prodname_classroom %}.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/glossary --- diff --git a/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/index.md b/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/index.md index d17c1323bb..ffb5cd0887 100644 --- a/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/index.md +++ b/content/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/index.md @@ -3,7 +3,7 @@ title: Get started with GitHub Classroom shortTitle: Get started intro: 'Learn how to configure and use {% data variables.product.prodname_classroom %} to administer your course.' versions: - free-pro-team: '*' + fpt: '*' children: - /basics-of-setting-up-github-classroom - /glossary diff --git a/content/education/manage-coursework-with-github-classroom/index.md b/content/education/manage-coursework-with-github-classroom/index.md index e34e76adef..b33fbb397a 100644 --- a/content/education/manage-coursework-with-github-classroom/index.md +++ b/content/education/manage-coursework-with-github-classroom/index.md @@ -3,10 +3,11 @@ title: Manage coursework with GitHub Classroom shortTitle: '{% data variables.product.prodname_classroom %}' intro: 'With {% data variables.product.prodname_classroom %}, you can use {% data variables.product.product_name %} to administer or participate in a course about software development.' versions: - free-pro-team: '*' + fpt: '*' children: - /get-started-with-github-classroom - /teach-with-github-classroom - /integrate-github-classroom-with-an-ide - /learn-with-github-classroom --- + diff --git a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-makecode-arcade-with-github-classroom.md b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-makecode-arcade-with-github-classroom.md index 52ee56fd5d..b884c06900 100644 --- a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-makecode-arcade-with-github-classroom.md +++ b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-makecode-arcade-with-github-classroom.md @@ -3,7 +3,7 @@ title: About using MakeCode Arcade with GitHub Classroom shortTitle: About using MakeCode Arcade intro: 'You can configure MakeCode Arcade as the online IDE for assignments in {% data variables.product.prodname_classroom %}.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/student-experience-makecode - /education/manage-coursework-with-github-classroom/about-using-makecode-arcade-with-github-classroom diff --git a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-replit-with-github-classroom.md b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-replit-with-github-classroom.md index 17cde87dfe..543e8dc7bc 100644 --- a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-replit-with-github-classroom.md +++ b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/about-using-replit-with-github-classroom.md @@ -3,7 +3,7 @@ title: About using Repl.it with GitHub Classroom shortTitle: About using Repl.it intro: 'You can configure Repl.it as the online integrated development environment (IDE) for assignments in {% data variables.product.prodname_classroom %}.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/student-experience-replit - /education/manage-coursework-with-github-classroom/about-using-replit-with-github-classroom diff --git a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/index.md b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/index.md index 1f8344de8a..3d77e8912d 100644 --- a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/index.md +++ b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/index.md @@ -3,7 +3,7 @@ title: Integrate GitHub Classroom with an IDE shortTitle: Integrate with an IDE intro: 'You can help your students write, test, and debug code by preconfiguring a development environment for assignment repositories on {% data variables.product.prodname_classroom %}.' versions: - free-pro-team: '*' + fpt: '*' children: - /integrate-github-classroom-with-an-online-ide - /about-using-makecode-arcade-with-github-classroom diff --git a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-online-ide.md b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-online-ide.md index 8778705492..50e448cc8b 100644 --- a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-online-ide.md +++ b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/integrate-github-classroom-with-an-online-ide.md @@ -3,7 +3,7 @@ title: Integrate GitHub Classroom with an online IDE shortTitle: Integrate with an online IDE intro: 'You can preconfigure a supported online integrated development environment (IDE) for assignments you create in {% data variables.product.prodname_classroom %}.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/online-ide-integrations - /education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-online-ide diff --git a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/run-student-code-in-an-online-ide.md b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/run-student-code-in-an-online-ide.md index 6162a692af..93f9b60243 100644 --- a/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/run-student-code-in-an-online-ide.md +++ b/content/education/manage-coursework-with-github-classroom/integrate-github-classroom-with-an-ide/run-student-code-in-an-online-ide.md @@ -2,7 +2,7 @@ title: Run student code in an online IDE intro: You can run the code from a student assignment within the online integrated development environment (IDE) that you configured for the assignment. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/running-student-code - /education/manage-coursework-with-github-classroom/run-student-code-in-an-online-ide diff --git a/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/index.md b/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/index.md index f4a0594c59..50a0127268 100644 --- a/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/index.md +++ b/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/index.md @@ -2,7 +2,7 @@ title: Learn with GitHub Classroom intro: 'You can participate in coursework in {% data variables.product.prodname_classroom %} and see results from your teacher.' versions: - free-pro-team: '*' + fpt: '*' children: - /view-autograding-results --- diff --git a/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/view-autograding-results.md b/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/view-autograding-results.md index 067834215b..94c923104e 100644 --- a/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/view-autograding-results.md +++ b/content/education/manage-coursework-with-github-classroom/learn-with-github-classroom/view-autograding-results.md @@ -2,7 +2,7 @@ title: View autograding results intro: You can see results from autograding within the repository for your assignment. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/reviewing-auto-graded-work-students - /education/manage-coursework-with-github-classroom/view-autograding-results diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md index 2f21125fb7..9128fb7995 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/connect-a-learning-management-system-to-github-classroom.md @@ -2,7 +2,7 @@ title: Connect a learning management system to GitHub Classroom intro: 'You can configure an LTI-compliant learning management system (LMS) to connect to {% data variables.product.prodname_classroom %} so that you can import a roster for your classroom.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/configuring-a-learning-management-system-for-github-classroom - /education/manage-coursework-with-github-classroom/connect-to-lms diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md index 7462897b9b..997dd7aba3 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-a-group-assignment.md @@ -2,7 +2,7 @@ title: Create a group assignment intro: You can create a collaborative assignment for teams of students who participate in your course. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/create-group-assignments - /education/manage-coursework-with-github-classroom/create-a-group-assignment diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-assignment-from-a-template-repository.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-assignment-from-a-template-repository.md index ac402fd957..db834feeac 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-assignment-from-a-template-repository.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-assignment-from-a-template-repository.md @@ -2,7 +2,7 @@ title: Create an assignment from a template repository intro: 'You can create an assignment from a template repository to provide starter code, documentation, and other resources to your students.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/using-template-repos-for-assignments - /education/manage-coursework-with-github-classroom/create-an-assignment-from-a-template-repository diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md index b8e8c43989..4877326d64 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-individual-assignment.md @@ -2,7 +2,7 @@ title: Create an individual assignment intro: You can create an assignment for students in your course to complete individually. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/creating-an-individual-assignment - /education/manage-coursework-with-github-classroom/create-an-individual-assignment diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/index.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/index.md index 246c6c0059..0b0679144c 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/index.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/index.md @@ -2,7 +2,7 @@ title: Teach with GitHub Classroom intro: Learn how to set up your classroom and assignments. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/configure-default-settings-for-assignment-repositories - /education/manage-coursework-with-github-classroom/probot-settings @@ -16,3 +16,4 @@ children: - /use-autograding - /connect-a-learning-management-system-to-github-classroom --- + diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/leave-feedback-with-pull-requests.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/leave-feedback-with-pull-requests.md index 296e43de33..cb95da4ff7 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/leave-feedback-with-pull-requests.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/leave-feedback-with-pull-requests.md @@ -3,7 +3,7 @@ title: Leave feedback with pull requests intro: You can leave feedback for your students in a special pull request within the repository for each assignment. permissions: People with read permissions to a repository can leave feedback in a pull request for the repository. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/leaving-feedback-in-github - /education/manage-coursework-with-github-classroom/leave-feedback-with-pull-requests diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms.md index 752b94abae..42225ece0a 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms.md @@ -1,9 +1,9 @@ --- title: Manage classrooms -intro: You can create and manage a classroom for each course that you teach using {% data variables.product.prodname_classroom %}. +intro: 'You can create and manage a classroom for each course that you teach using {% data variables.product.prodname_classroom %}.' permissions: Organization owners can manage a classroom for an organization. versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/archive-a-classroom - /education/manage-coursework-with-github-classroom/manage-classrooms diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-autograding.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-autograding.md index 44756e08bd..984556aa59 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-autograding.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-autograding.md @@ -3,7 +3,7 @@ title: Use autograding intro: You can automatically provide feedback on code submissions from your students by configuring tests to run in the assignment repository. miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /education/manage-coursework-with-github-classroom/adding-tests-for-auto-grading - /education/manage-coursework-with-github-classroom/reviewing-auto-graded-work-teachers diff --git a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md index dc6b2482d8..4506280952 100644 --- a/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md +++ b/content/education/manage-coursework-with-github-classroom/teach-with-github-classroom/use-the-git-and-github-starter-assignment.md @@ -1,10 +1,10 @@ --- title: Use the Git and GitHub starter assignment -intro: You can use the Git & {% data variables.product.company_short %} starter assignment to give students an overview of Git and {% data variables.product.company_short %} fundamentals. +intro: 'You can use the Git & {% data variables.product.company_short %} starter assignment to give students an overview of Git and {% data variables.product.company_short %} fundamentals.' versions: - free-pro-team: '*' + fpt: '*' redirect_from: -- /education/manage-coursework-with-github-classroom/use-the-git-and-github-starter-assignment + - /education/manage-coursework-with-github-classroom/use-the-git-and-github-starter-assignment --- {% note %} diff --git a/content/education/quickstart.md b/content/education/quickstart.md index b9acc293ca..3aec5c4de0 100644 --- a/content/education/quickstart.md +++ b/content/education/quickstart.md @@ -1,9 +1,9 @@ --- title: Quickstart for GitHub Educators -intro: In about 15 minutes, teachers can get started with discounts, training, and tools for {% data variables.product.company_short %}, then create a classroom for the students in a software development course using {% data variables.product.prodname_classroom %}. +intro: 'In about 15 minutes, teachers can get started with discounts, training, and tools for {% data variables.product.company_short %}, then create a classroom for the students in a software development course using {% data variables.product.prodname_classroom %}.' allowTitleToDifferFromFilename: true versions: - free-pro-team: '*' + fpt: '*' --- ## Introduction diff --git a/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md b/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md index c7111d1e8c..a755618a00 100644 --- a/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md +++ b/content/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github.md @@ -11,7 +11,7 @@ redirect_from: - /github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github - /github/getting-started-with-github/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github versions: - free-pro-team: '*' + fpt: '*' topics: - Open Source --- diff --git a/content/get-started/exploring-projects-on-github/following-people.md b/content/get-started/exploring-projects-on-github/following-people.md index 4ce53e86da..c049f945e8 100644 --- a/content/get-started/exploring-projects-on-github/following-people.md +++ b/content/get-started/exploring-projects-on-github/following-people.md @@ -1,24 +1,24 @@ --- title: Following people -intro: 'You can follow people on {% data variables.product.product_name %} to receive notifications about their activity{% if currentVersion == "free-pro-team@latest" %} and discover projects in their communities{% endif %}.' +intro: 'You can follow people on {% data variables.product.product_name %} to receive notifications about their activity{% ifversion fpt %} and discover projects in their communities{% endif %}.' redirect_from: - /articles/following-people - /github/getting-started-with-github/following-people - /github/getting-started-with-github/exploring-projects-on-github/following-people versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profile --- -When you follow people, you'll see their public activity in the activity view of your news feed.{% if currentVersion == "free-pro-team@latest" %} If someone you follow stars a public repository, {% data variables.product.product_name %} may recommend the repository to you in the discovery view of your news feed.{% endif %} To follow someone, visit their profile page and click **Follow** under their profile image. +When you follow people, you'll see their public activity in the activity view of your news feed.{% ifversion fpt %} If someone you follow stars a public repository, {% data variables.product.product_name %} may recommend the repository to you in the discovery view of your news feed.{% endif %} To follow someone, visit their profile page and click **Follow** under their profile image. ![Follow user button](/assets/images/help/profile/follow-user-button.png) To stop following someone, visit their profile page and click **Unfollow** under their profile image. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading - "[Saving repositories with stars](/articles/saving-repositories-with-stars/)" diff --git a/content/get-started/exploring-projects-on-github/index.md b/content/get-started/exploring-projects-on-github/index.md index 6bfee04ee9..1693abf7e6 100644 --- a/content/get-started/exploring-projects-on-github/index.md +++ b/content/get-started/exploring-projects-on-github/index.md @@ -8,9 +8,9 @@ redirect_from: - /articles/exploring-projects-on-github - /github/getting-started-with-github/exploring-projects-on-github/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Projects children: diff --git a/content/get-started/exploring-projects-on-github/saving-repositories-with-stars.md b/content/get-started/exploring-projects-on-github/saving-repositories-with-stars.md index 6220cf4854..195a7516c3 100644 --- a/content/get-started/exploring-projects-on-github/saving-repositories-with-stars.md +++ b/content/get-started/exploring-projects-on-github/saving-repositories-with-stars.md @@ -1,6 +1,6 @@ --- title: Saving repositories with stars -intro: 'You can star repositories and topics to keep track of projects you find interesting{% if currentVersion == "free-pro-team@latest" %} and discover related content in your news feed{% endif %}.' +intro: 'You can star repositories and topics to keep track of projects you find interesting{% ifversion fpt %} and discover related content in your news feed{% endif %}.' redirect_from: - /articles/stars/ - /articles/about-stars/ @@ -10,9 +10,9 @@ redirect_from: - /github/getting-started-with-github/saving-repositories-with-stars - /github/getting-started-with-github/exploring-projects-on-github/saving-repositories-with-stars versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -22,7 +22,7 @@ You can search, sort, and filter your starred repositories and topics on your {% Starring makes it easy to find a repository or topic again later. You can see all the repositories and topics you have starred by going to your {% data variables.explore.your_stars_page %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can star repositories and topics to discover similar projects on {% data variables.product.product_name %}. When you star repositories or topics, {% data variables.product.product_name %} may recommend related content in the discovery view of your news feed. For more information, see "[Finding ways to contribute to open source on {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github)". {% endif %} diff --git a/content/get-started/getting-started-with-git/about-remote-repositories.md b/content/get-started/getting-started-with-git/about-remote-repositories.md index c78bac8076..eb6c1fc60b 100644 --- a/content/get-started/getting-started-with-git/about-remote-repositories.md +++ b/content/get-started/getting-started-with-git/about-remote-repositories.md @@ -12,9 +12,9 @@ redirect_from: - /github/getting-started-with-github/getting-started-with-git/about-remote-repositories intro: 'GitHub''s collaborative approach to development depends on publishing commits from your local repository to {% data variables.product.product_name %} for other people to view, fetch, and update.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## About remote repositories @@ -64,7 +64,7 @@ When you `git clone`, `git fetch`, `git pull`, or `git push` to a remote reposit {% endtip %} - {% if currentVersion == "free-pro-team@latest" %}If you'd rather use SSH but cannot connect over port 22, you might be able to use SSH over the HTTPS port. For more information, see "[Using SSH over the HTTPS port](/github/authenticating-to-github/using-ssh-over-the-https-port)."{% endif %} + {% ifversion fpt %}If you'd rather use SSH but cannot connect over port 22, you might be able to use SSH over the HTTPS port. For more information, see "[Using SSH over the HTTPS port](/github/authenticating-to-github/using-ssh-over-the-https-port)."{% endif %} ## Cloning with SSH URLs @@ -72,7 +72,7 @@ SSH URLs provide access to a Git repository via SSH, a secure protocol. To use t When you `git clone`, `git fetch`, `git pull`, or `git push` to a remote repository using SSH URLs, you'll be prompted for a password and must provide your SSH key passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." -{% if currentVersion == "free-pro-team@latest" %}If you are accessing an organization that uses SAML single sign-on (SSO), you must authorize your SSH key to access the organization before you authenticate. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" and "[Authorizing an SSH key for use with SAML single sign-on](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)."{% endif %} +{% ifversion fpt %}If you are accessing an organization that uses SAML single sign-on (SSO), you must authorize your SSH key to access the organization before you authenticate. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" and "[Authorizing an SSH key for use with SAML single sign-on](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)."{% endif %} {% tip %} @@ -80,7 +80,7 @@ When you `git clone`, `git fetch`, `git pull`, or `git push` to a remote reposit {% endtip %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} ## Cloning with {% data variables.product.prodname_cli %} @@ -88,7 +88,7 @@ You can also install {% data variables.product.prodname_cli %} to use {% data va {% endif %} -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ## Cloning with Subversion You can also use a [Subversion](https://subversion.apache.org/) client to access any repository on {% data variables.product.prodname_dotcom %}. Subversion offers a different feature set than Git. For more information, see "[What are the differences between Subversion and Git?](/github/importing-your-projects-to-github/what-are-the-differences-between-subversion-and-git)" diff --git a/content/get-started/getting-started-with-git/associating-text-editors-with-git.md b/content/get-started/getting-started-with-git/associating-text-editors-with-git.md index b9f3350c70..8a2bd4ad08 100644 --- a/content/get-started/getting-started-with-git/associating-text-editors-with-git.md +++ b/content/get-started/getting-started-with-git/associating-text-editors-with-git.md @@ -10,9 +10,9 @@ redirect_from: - /github/getting-started-with-github/associating-text-editors-with-git - /github/getting-started-with-github/getting-started-with-git/associating-text-editors-with-git versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% mac %} diff --git a/content/get-started/getting-started-with-git/caching-your-github-credentials-in-git.md b/content/get-started/getting-started-with-git/caching-your-github-credentials-in-git.md index b3ad741986..5a082cd9b6 100644 --- a/content/get-started/getting-started-with-git/caching-your-github-credentials-in-git.md +++ b/content/get-started/getting-started-with-git/caching-your-github-credentials-in-git.md @@ -9,9 +9,9 @@ redirect_from: - /github/getting-started-with-github/getting-started-with-git/caching-your-github-credentials-in-git intro: 'If you''re [cloning {% data variables.product.product_name %} repositories using HTTPS](/github/getting-started-with-github/about-remote-repositories), you can use a credential helper to tell Git to remember your credentials.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- If you clone {% data variables.product.product_name %} repositories using SSH, then you authenticate using an SSH key instead of using other credentials. For information about setting up an SSH connection, see "[Generating an SSH Key](/articles/generating-an-ssh-key)." diff --git a/content/get-started/getting-started-with-git/configuring-git-to-handle-line-endings.md b/content/get-started/getting-started-with-git/configuring-git-to-handle-line-endings.md index 2c6eb51af5..3b6c1e5a58 100644 --- a/content/get-started/getting-started-with-git/configuring-git-to-handle-line-endings.md +++ b/content/get-started/getting-started-with-git/configuring-git-to-handle-line-endings.md @@ -10,9 +10,9 @@ redirect_from: - /github/getting-started-with-github/configuring-git-to-handle-line-endings - /github/getting-started-with-github/getting-started-with-git/configuring-git-to-handle-line-endings versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- Every time you press return on your keyboard you insert an invisible character called a line ending. Different operating systems handle line endings differently. diff --git a/content/get-started/getting-started-with-git/git-workflows.md b/content/get-started/getting-started-with-git/git-workflows.md index bf571d6240..bdb22264e2 100644 --- a/content/get-started/getting-started-with-git/git-workflows.md +++ b/content/get-started/getting-started-with-git/git-workflows.md @@ -8,8 +8,8 @@ redirect_from: - /github/getting-started-with-github/git-workflows - /github/getting-started-with-github/getting-started-with-git/git-workflows versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- You can adopt the {% data variables.product.prodname_dotcom %} flow method to standardize how your team functions and collaborates on {% data variables.product.prodname_dotcom %}. For more information, see "[{% data variables.product.prodname_dotcom %} flow](/github/getting-started-with-github/github-flow)." diff --git a/content/get-started/getting-started-with-git/ignoring-files.md b/content/get-started/getting-started-with-git/ignoring-files.md index a089e40731..74ce68f266 100644 --- a/content/get-started/getting-started-with-git/ignoring-files.md +++ b/content/get-started/getting-started-with-git/ignoring-files.md @@ -9,9 +9,9 @@ redirect_from: - /github/getting-started-with-github/getting-started-with-git/ignoring-files intro: 'You can configure Git to ignore files you don''t want to check in to {% data variables.product.product_name %}.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Configuring ignored files for a single repository diff --git a/content/get-started/getting-started-with-git/index.md b/content/get-started/getting-started-with-git/index.md index e9dbfb5df7..561bb6b804 100644 --- a/content/get-started/getting-started-with-git/index.md +++ b/content/get-started/getting-started-with-git/index.md @@ -8,9 +8,9 @@ redirect_from: - /articles/learning-about-git - /github/getting-started-with-github/getting-started-with-git/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /setting-your-username-in-git - /caching-your-github-credentials-in-git diff --git a/content/get-started/getting-started-with-git/managing-remote-repositories.md b/content/get-started/getting-started-with-git/managing-remote-repositories.md index 987669804f..218d66e3c5 100644 --- a/content/get-started/getting-started-with-git/managing-remote-repositories.md +++ b/content/get-started/getting-started-with-git/managing-remote-repositories.md @@ -19,9 +19,9 @@ redirect_from: - /github/getting-started-with-github/managing-remote-repositories - /github/getting-started-with-github/getting-started-with-git/managing-remote-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Adding a remote repository diff --git a/content/get-started/getting-started-with-git/setting-your-username-in-git.md b/content/get-started/getting-started-with-git/setting-your-username-in-git.md index b747ef0db6..72939883f6 100644 --- a/content/get-started/getting-started-with-git/setting-your-username-in-git.md +++ b/content/get-started/getting-started-with-git/setting-your-username-in-git.md @@ -7,9 +7,9 @@ redirect_from: - /github/getting-started-with-github/setting-your-username-in-git - /github/getting-started-with-github/getting-started-with-git/setting-your-username-in-git versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- You can change the name that is associated with your Git commits using the `git config` command. The new name you set will be visible in any future commits you push to {% data variables.product.product_name %} from the command line. If you'd like to keep your real name private, you can use any text as your Git username. diff --git a/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md b/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md index 597f5c2ec7..e497a8b60a 100644 --- a/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md +++ b/content/get-started/getting-started-with-git/updating-credentials-from-the-macos-keychain.md @@ -1,6 +1,6 @@ --- title: Updating credentials from the macOS Keychain -intro: 'You''ll need to update your saved credentials in the `git-credential-osxkeychain` helper if you change your{% if currentVersion != "github-ae@latest" %} username, password, or{% endif %} personal access token on {% data variables.product.product_name %}.' +intro: 'You''ll need to update your saved credentials in the `git-credential-osxkeychain` helper if you change your{% ifversion not ghae %} username, password, or{% endif %} personal access token on {% data variables.product.product_name %}.' redirect_from: - /articles/updating-credentials-from-the-osx-keychain - /github/using-git/updating-credentials-from-the-osx-keychain @@ -8,9 +8,9 @@ redirect_from: - /github/getting-started-with-github/updating-credentials-from-the-macos-keychain - /github/getting-started-with-github/getting-started-with-git/updating-credentials-from-the-macos-keychain versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% data reusables.user_settings.password-authentication-deprecation %} diff --git a/content/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password.md b/content/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password.md index 72964f952f..9fe29c5809 100644 --- a/content/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password.md +++ b/content/get-started/getting-started-with-git/why-is-git-always-asking-for-my-password.md @@ -7,9 +7,9 @@ redirect_from: - /github/getting-started-with-github/why-is-git-always-asking-for-my-password - /github/getting-started-with-github/getting-started-with-git/why-is-git-always-asking-for-my-password versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- Using an HTTPS remote URL has some advantages compared with using SSH. It's easier to set up than SSH, and usually works through strict firewalls and proxies. However, it also prompts you to enter your {% data variables.product.product_name %} credentials every time you pull or push a repository. diff --git a/content/get-started/index.md b/content/get-started/index.md index 40281efbc0..e552c37eca 100644 --- a/content/get-started/index.md +++ b/content/get-started/index.md @@ -17,9 +17,9 @@ redirect_from: - /github/using-git - /github/getting-started-with-github/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' layout: product-landing introLinks: quickstart: /github/getting-started-with-github/quickstart 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 2def501c44..e1ce352510 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 @@ -1,11 +1,11 @@ --- title: About GitHub Advanced Security -intro: '{% data variables.product.prodname_dotcom %} makes extra security features available to customers under an {% data variables.product.prodname_advanced_security %} license.{% if currentVersion == "free-pro-team@latest" %} These features are also enabled for public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}' +intro: '{% data variables.product.prodname_dotcom %} makes extra security features available to customers under an {% data variables.product.prodname_advanced_security %} license.{% ifversion fpt %} These features are also enabled for public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}' product: '{% data reusables.gated-features.ghas %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Security redirect_from: @@ -14,9 +14,9 @@ redirect_from: --- ## About {% data variables.product.prodname_GH_advanced_security %} -{% data variables.product.prodname_dotcom %} has many features that help you improve and maintain the quality of your code. Some of these are included in all plans{% if currentVersion != "github-ae@latest" %}, such as dependency graph and {% data variables.product.prodname_dependabot_alerts %}{% endif %}. Other security features require a license for {% data variables.product.prodname_GH_advanced_security %} to run on repositories apart from public repositories on {% data variables.product.prodname_dotcom_the_website %}. +{% data variables.product.prodname_dotcom %} has many features that help you improve and maintain the quality of your code. Some of these are included in all plans{% ifversion not ghae %}, such as dependency graph and {% data variables.product.prodname_dependabot_alerts %}{% endif %}. Other security features require a license for {% data variables.product.prodname_GH_advanced_security %} to run on repositories apart from public repositories on {% data variables.product.prodname_dotcom_the_website %}. -{% if currentVersion == "free-pro-team@latest" %}For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security)."{% elsif currentVersion ver_gt "enterprise-server@2.22" %}For information about purchasing a license for {% data variables.product.prodname_GH_advanced_security %}, contact {% data variables.contact.contact_enterprise_sales %}.{% elsif currentVersion == "github-ae@latest" %}There is no charge for {% data variables.product.prodname_GH_advanced_security %} on {% data variables.product.prodname_ghe_managed %} during the beta release.{% endif %} +{% ifversion fpt %}For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security)."{% elsif ghes > 2.22 %}For information about purchasing a license for {% data variables.product.prodname_GH_advanced_security %}, contact {% data variables.contact.contact_enterprise_sales %}.{% 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.{% endif %} ## About {% data variables.product.prodname_advanced_security %} features @@ -26,16 +26,16 @@ A {% data variables.product.prodname_GH_advanced_security %} license provides th - **{% data variables.product.prodname_secret_scanning_caps %}** - Detect secrets, for example keys and tokens, that have been checked into the repository. For more information, see "[About {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/about-secret-scanning)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - **Dependency review** - Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[About dependency review](/code-security/supply-chain-security/about-dependency-review)." {% endif %} For information about {% data variables.product.prodname_advanced_security %} features that are in development, see "[{% data variables.product.prodname_dotcom %} public roadmap](https://github.com/github/roadmap)." For an overview of all security features, see "[{% data variables.product.prodname_dotcom %} security features](/code-security/getting-started/github-security-features)." -{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion ghes > 2.22 or ghae %} ## Enabling {% data variables.product.prodname_advanced_security %} features on {% data variables.product.product_name %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} The site administrator must enable {% data variables.product.prodname_advanced_security %} for {% data variables.product.product_location %} before you can use these features. For more information, see "[Configuring Advanced Security features](/admin/configuration/configuring-advanced-security-features)." {% endif %} @@ -43,27 +43,27 @@ Once your system is set up, you can enable and disable these features at the org {% endif %} -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ## Enabling {% data variables.product.prodname_advanced_security %} features on {% data variables.product.prodname_dotcom_the_website %} For public repositories on {% data variables.product.prodname_dotcom_the_website %}, these features are permanently on and can only be disabled if you change the visibility of the project so that the code is no longer public. -For other repositories, once you have a license for your enterprise account, you can enable and disable these features at the organization or repository level. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" and "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} +For other repositories, once you have a license for your enterprise account, you can enable and disable these features at the organization or repository level. {% ifversion fpt or ghes > 3.0 %}For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" and "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."{% endif %} {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you have an enterprise account, license use for the entire enterprise is shown on your enterprise license page. For more information, see "[Viewing your {% data variables.product.prodname_GH_advanced_security %} usage](/billing/managing-licensing-for-github-advanced-security/viewing-your-github-advanced-security-usage)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading - "[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise-account)" -{% elsif currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% elsif ghes > 3.0 or ghae-next %} ## Further reading diff --git a/content/get-started/learning-about-github/access-permissions-on-github.md b/content/get-started/learning-about-github/access-permissions-on-github.md index a1df6bdc70..e5a22e38de 100644 --- a/content/get-started/learning-about-github/access-permissions-on-github.md +++ b/content/get-started/learning-about-github/access-permissions-on-github.md @@ -9,9 +9,9 @@ redirect_from: - /github/getting-started-with-github/learning-about-github/access-permissions-on-github intro: 'While you can grant read/write access to collaborators on a personal repository, members of an organization can have more granular access permissions for the organization''s repositories.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Permissions - Accounts @@ -22,13 +22,13 @@ A repository owned by a user account has two permission levels: the *repository ## Organization accounts -Organization members can have *owner*{% if currentVersion == "free-pro-team@latest" %}, *billing manager*,{% endif %} or *member* roles. Owners have complete administrative access to your organization{% if currentVersion == "free-pro-team@latest" %}, while billing managers can manage billing settings{% endif %}. Member is the default role for everyone else. You can manage access permissions for multiple members at a time with teams. For more information, see: +Organization members can have *owner*{% ifversion fpt %}, *billing manager*,{% endif %} or *member* roles. Owners have complete administrative access to your organization{% ifversion fpt %}, while billing managers can manage billing settings{% endif %}. Member is the default role for everyone else. You can manage access permissions for multiple members at a time with teams. For more information, see: - "[Permission levels for an organization](/articles/permission-levels-for-an-organization)" - "[Project board permissions for an organization](/articles/project-board-permissions-for-an-organization)" - "[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)" - "[About teams](/articles/about-teams)" -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Enterprise accounts diff --git a/content/get-started/learning-about-github/faq-about-changes-to-githubs-plans.md b/content/get-started/learning-about-github/faq-about-changes-to-githubs-plans.md index 886d2b87ad..8074480051 100644 --- a/content/get-started/learning-about-github/faq-about-changes-to-githubs-plans.md +++ b/content/get-started/learning-about-github/faq-about-changes-to-githubs-plans.md @@ -2,7 +2,7 @@ title: FAQ about changes to GitHub’s plans intro: 'As of April 14, 2020, GitHub announced that all of the core GitHub features are now free for everyone.' versions: - free-pro-team: '*' + fpt: '*' topics: - GitHub redirect_from: diff --git a/content/get-started/learning-about-github/github-language-support.md b/content/get-started/learning-about-github/github-language-support.md index 7f6a8230b3..4b7d0018f7 100644 --- a/content/get-started/learning-about-github/github-language-support.md +++ b/content/get-started/learning-about-github/github-language-support.md @@ -2,9 +2,9 @@ title: GitHub language support intro: 'An overview of the programming languages supported by {% data variables.product.prodname_dotcom %} features.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' topics: - GitHub redirect_from: diff --git a/content/get-started/learning-about-github/githubs-products.md b/content/get-started/learning-about-github/githubs-products.md index 2e3ed95465..aabfd671df 100644 --- a/content/get-started/learning-about-github/githubs-products.md +++ b/content/get-started/learning-about-github/githubs-products.md @@ -7,9 +7,9 @@ redirect_from: - /github/getting-started-with-github/githubs-products - /github/getting-started-with-github/learning-about-github/githubs-products versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts - CLI @@ -88,7 +88,7 @@ In addition to the features available with {% data variables.product.prodname_te - Additional security, compliance, and deployment controls - Authentication with SAML single sign-on - Access provisioning with SAML or SCIM -- {% data variables.product.prodname_github_connect %}{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +- {% data variables.product.prodname_github_connect %}{% ifversion fpt or ghae or ghes > 2.22 %} - The option to purchase {% data variables.product.prodname_GH_advanced_security %}. For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)."{% endif %} {% data variables.product.prodname_ghe_cloud %} also includes: diff --git a/content/get-started/learning-about-github/index.md b/content/get-started/learning-about-github/index.md index 8624a9deef..b917645d34 100644 --- a/content/get-started/learning-about-github/index.md +++ b/content/get-started/learning-about-github/index.md @@ -5,9 +5,9 @@ redirect_from: - /articles/learning-about-github - /github/getting-started-with-github/learning-about-github/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts - CLI diff --git a/content/get-started/learning-about-github/types-of-github-accounts.md b/content/get-started/learning-about-github/types-of-github-accounts.md index f3dcd09789..48c96e2c71 100644 --- a/content/get-started/learning-about-github/types-of-github-accounts.md +++ b/content/get-started/learning-about-github/types-of-github-accounts.md @@ -1,6 +1,6 @@ --- title: Types of GitHub accounts -intro: 'Your user account is your identity on {% data variables.product.product_location %}. Your user account can be a member of any number of organizations.{% if currentVersion == "free-pro-team@latest" %} Organizations can belong to enterprise accounts.{% endif %}' +intro: 'Your user account is your identity on {% data variables.product.product_location %}. Your user account can be a member of any number of organizations.{% ifversion fpt %} Organizations can belong to enterprise accounts.{% endif %}' redirect_from: - /manage-multiple-clients/ - /managing-clients/ @@ -10,9 +10,9 @@ redirect_from: - /github/getting-started-with-github/types-of-github-accounts - /github/getting-started-with-github/learning-about-github/types-of-github-accounts versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts - CLI @@ -20,7 +20,7 @@ topics: - Desktop - Security --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} For a full list of features for each {% data variables.product.product_name %} product, see "[{% data variables.product.prodname_dotcom %}'s products](/github/getting-started-with-github/githubs-products)." {% endif %} @@ -28,7 +28,7 @@ For a full list of features for each {% data variables.product.product_name %} p Every person who uses {% data variables.product.product_location %} has their own user account, which includes: -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - Unlimited public and private repositories with {% data variables.product.prodname_free_user %} - Unlimited collaborators with {% data variables.product.prodname_free_user %} @@ -42,7 +42,7 @@ Every person who uses {% data variables.product.product_location %} has their ow {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% tip %} @@ -69,7 +69,7 @@ Organizations are shared accounts where groups of people can collaborate across {% data reusables.organizations.organizations_include %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Enterprise accounts @@ -79,6 +79,6 @@ With enterprise accounts, you can centrally manage policy and billing for multip ## Further reading -{% if currentVersion == "free-pro-team@latest" %}- "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/articles/signing-up-for-a-new-github-account)" +{% ifversion fpt %}- "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/articles/signing-up-for-a-new-github-account)" - "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)"{% endif %} - "[Creating a new organization account](/articles/creating-a-new-organization-account)" diff --git a/content/get-started/quickstart/be-social.md b/content/get-started/quickstart/be-social.md index 3615cb1cee..b0d18cfcb8 100644 --- a/content/get-started/quickstart/be-social.md +++ b/content/get-started/quickstart/be-social.md @@ -7,9 +7,9 @@ redirect_from: - /github/getting-started-with-github/quickstart/be-social intro: 'You can interact with people, repositories, and organizations on {% data variables.product.prodname_dotcom %}. See what others are working on and who they''re connecting with from your personal dashboard.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profile - Pull requests @@ -29,7 +29,7 @@ Click **Follow** on a person's profile page to follow them. ## Watching a repository -You can watch a repository to receive notifications for new pull requests and issues. When the owner updates the repository, you'll see the changes in your personal dashboard. For more information see {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}"[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions){% else %}"[Watching and unwatching repositories](/github/receiving-notifications-about-activity-on-github/watching-and-unwatching-repositories){% endif %}." +You can watch a repository to receive notifications for new pull requests and issues. When the owner updates the repository, you'll see the changes in your personal dashboard. For more information see {% ifversion fpt or ghae or ghes %}"[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions){% else %}"[Watching and unwatching repositories](/github/receiving-notifications-about-activity-on-github/watching-and-unwatching-repositories){% endif %}." Click **Watch** at the top of a repository to watch it. diff --git a/content/get-started/quickstart/communicating-on-github.md b/content/get-started/quickstart/communicating-on-github.md index 3fd098a52f..08371604e9 100644 --- a/content/get-started/quickstart/communicating-on-github.md +++ b/content/get-started/quickstart/communicating-on-github.md @@ -9,9 +9,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/quickstart-for-communicating-on-github - /github/getting-started-with-github/quickstart/communicating-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues @@ -22,10 +22,10 @@ topics: {% data variables.product.product_name %} provides built-in collaborative communication tools allowing you to interact closely with your community. This quickstart guide will show you how to pick the right tool for your needs. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can create and participate in issues, pull requests, {% data variables.product.prodname_discussions %}, and team discussions, depending on the type of conversation you'd like to have. {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} You can create and participate in issues, pull requests and team discussions, depending on the type of conversation you'd like to have. {% endif %} @@ -39,7 +39,7 @@ You can create and participate in issues, pull requests and team discussions, de - allow you comment directly on proposed changes suggested by others. - are specific to a repository. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### {% data variables.product.prodname_discussions %} - are like a forum, and are best used for open-form ideas and discussions where collaboration is important. - may span many repositories. @@ -50,7 +50,7 @@ You can create and participate in issues, pull requests and team discussions, de ### Team discussions - can be started on your team's page for conversations that span across projects and don't belong in a specific issue or pull request. Instead of opening an issue in a repository to discuss an idea, you can include the entire team by having a conversation in a team discussion. -- allow you to hold discussions with your team about planning, analysis, design, user research and general project decision making in one place.{% if currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +- allow you to hold discussions with your team about planning, analysis, design, user research and general project decision making in one place.{% ifversion ghes or ghae %} - provide a collaborative experience outside the codebase, allowing the brainstorming of ideas. - often don’t have a clear owner. - often do not result in an actionable task.{% endif %} @@ -98,7 +98,7 @@ The **Files changed** tab of the pull request shows the implemented fix. - The user creates a pull request with the fix. - A repository maintainer reviews the pull request, comments on it, and merges it. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Scenarios for {% data variables.product.prodname_discussions %} - I have a question that's not necessarily related to specific files in the repository. @@ -115,7 +115,7 @@ This example shows the {% data variables.product.prodname_discussions %} welcome This community maintainer started a discussion to welcome the community, and to ask members to introduce themselves. This post fosters an inviting atmosphere for visitors and contributors. The post also clarifies that the team's happy to help with contributions to the repository. {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} ### Scenarios for team discussions - I have a question that's not necessarily related to specific files in the repository. @@ -123,7 +123,7 @@ This community maintainer started a discussion to welcome the community, and to - I want to start or participate in an open-ended conversation. - I want to make an announcement to my team. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} As you can see, team discussions are very similar to {% data variables.product.prodname_discussions %}. For {% data variables.product.prodname_dotcom_the_website %}, we recommend using {% data variables.product.prodname_discussions %} as the starting point for conversations. You can use {% data variables.product.prodname_discussions %} to collaborate with any community on {% data variables.product.prodname_dotcom %}. If you are part of an organization, and would like to initiate conversations within your organization or team within that organization, you should use team discussions. {% endif %} @@ -148,7 +148,7 @@ For issues, for example, you can tag issues with labels for quicker searching an For pull requests, you can create draft pull requests if your proposed changes are still a work in progress. Draft pull requests cannot be merged until they're marked as ready for review. For more information, see "[About pull requests](/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} For {% data variables.product.prodname_discussions %}, you can set up a code of conduct and pin discussions that contain important information for your community. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." {% endif %} diff --git a/content/get-started/quickstart/create-a-repo.md b/content/get-started/quickstart/create-a-repo.md index d1013eb700..13f9fa5e99 100644 --- a/content/get-started/quickstart/create-a-repo.md +++ b/content/get-started/quickstart/create-a-repo.md @@ -7,9 +7,9 @@ redirect_from: - /github/getting-started-with-github/quickstart/create-a-repo intro: 'To put your project up on {% data variables.product.product_location %}, you''ll need to create a repository for it to live in.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues @@ -18,17 +18,17 @@ topics: --- ## Create a repository -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can store a variety of projects in {% data variables.product.product_name %} repositories, including open source projects. With [open source projects](http://opensource.org/about), you can share code to make better, more reliable software. You can use repositories to collaborate with others and track your work. For more information, see "[About repositories](/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories)." -{% elsif enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% elsif ghes or ghae %} You can store a variety of projects in {% data variables.product.product_name %} repositories, including innersource projects. With innersource, you can share code to make better, more reliable software. For more information on innersource, see {% data variables.product.company_short %}'s white paper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} @@ -49,7 +49,7 @@ You can store a variety of projects in {% data variables.product.product_name %} Congratulations! You've successfully created your first repository, and initialized it with a *README* file. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} {% tip %} **Tip**: You can also create repositories using the {% data variables.product.prodname_cli %}. For more information, see "[`gh repo create`](https://cli.github.com/manual/gh_repo_create)" in the {% data variables.product.prodname_cli %} documentation. diff --git a/content/get-started/quickstart/fork-a-repo.md b/content/get-started/quickstart/fork-a-repo.md index c42001c8e2..9bdfb2d437 100644 --- a/content/get-started/quickstart/fork-a-repo.md +++ b/content/get-started/quickstart/fork-a-repo.md @@ -8,9 +8,9 @@ redirect_from: - /github/getting-started-with-github/quickstart/fork-a-repo intro: A fork is a copy of a repository. Forking a repository allows you to freely experiment with changes without affecting the original project. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues @@ -35,7 +35,7 @@ Open source software is based on the idea that by sharing code, we can make bett For more information about applying open source principles to your organization's development work on {% data variables.product.product_location %}, see {% data variables.product.prodname_dotcom %}'s white paper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)." -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} When creating your public repository from a fork of someone's project, make sure to include a license file that determines how you want your project to be shared with others. For more information, see "[Choose an open source license](https://choosealicense.com/)" at choosealicense.com. @@ -49,7 +49,7 @@ When creating your public repository from a fork of someone's project, make sure {% endnote %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} {% tip %} **Tip**: You can also fork a repository using the {% data variables.product.prodname_cli %}. For more information, see "[`gh repo fork`](https://cli.github.com/manual/gh_repo_fork)" in the {% data variables.product.prodname_cli %} documentation. @@ -142,7 +142,7 @@ You can make any changes to a fork, including: ## Find another repository to fork Fork a repository to start contributing to a project. {% data reusables.repositories.you-can-fork %} -{% if currentVersion == "free-pro-team@latest" %}You can browse [Explore](https://github.com/explore) to find projects and start contributing to open source repositories. For more information, see "[Finding ways to contribute to open source on {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github)." +{% ifversion fpt %}You can browse [Explore](https://github.com/explore) to find projects and start contributing to open source repositories. For more information, see "[Finding ways to contribute to open source on {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github)." {% endif %} diff --git a/content/get-started/quickstart/git-and-github-learning-resources.md b/content/get-started/quickstart/git-and-github-learning-resources.md index 15ffe3d627..86e844bb37 100644 --- a/content/get-started/quickstart/git-and-github-learning-resources.md +++ b/content/get-started/quickstart/git-and-github-learning-resources.md @@ -8,9 +8,9 @@ redirect_from: - /github/getting-started-with-github/quickstart/git-and-github-learning-resources intro: 'There are a lot of helpful Git and {% data variables.product.product_name %} resources on the web. This is a short list of our favorites!' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' authors: - GitHub --- @@ -20,7 +20,7 @@ Familiarize yourself with Git by visiting the [official Git project site](https: ## Using {% data variables.product.product_name %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data variables.product.prodname_learning %} offers free interactive courses that are built into {% data variables.product.prodname_dotcom %} with instant automated feedback and help. Learn to open your first pull request, make your first open source contribution, create a {% data variables.product.prodname_pages %} site, and more. For more information about course offerings, see [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}). @@ -56,6 +56,6 @@ Our {% data variables.product.prodname_dotcom %} [YouTube Training and Guides ch An interactive [online Git course](http://www.codeschool.com/courses/git-real) from [Code School](http://codeschool.com) has seven levels with dozens of exercises in a fun game format. Feel free to adapt our [.gitignore templates](https://github.com/github/gitignore) to meet your needs. -Extend your {% data variables.product.prodname_dotcom %} reach through {% if currentVersion == "free-pro-team@latest" %}[integrations](/articles/about-integrations){% else %}integrations{% endif %}, or by installing [{% data variables.product.prodname_desktop %}](https://desktop.github.com) and the robust [Atom](https://atom.io) text editor. +Extend your {% data variables.product.prodname_dotcom %} reach through {% ifversion fpt %}[integrations](/articles/about-integrations){% else %}integrations{% endif %}, or by installing [{% data variables.product.prodname_desktop %}](https://desktop.github.com) and the robust [Atom](https://atom.io) text editor. Learn how to launch and grow your open source project with the [Open Source Guides](https://opensource.guide/). diff --git a/content/get-started/quickstart/git-cheatsheet.md b/content/get-started/quickstart/git-cheatsheet.md index ed49634d15..75105af505 100644 --- a/content/get-started/quickstart/git-cheatsheet.md +++ b/content/get-started/quickstart/git-cheatsheet.md @@ -5,9 +5,9 @@ redirect_from: - /github/getting-started-with-github/git-cheatsheet - /github/getting-started-with-github/quickstart/git-cheatsheet versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' intro: This Git cheat sheet is a time saver when you forget a command or don't want to use help in the CLI. --- Learning all available Git commands at once can be a daunting task. You can use "[Git Cheat Sheets](https://training.github.com/)" for a quick reference to frequently used commands. The "Using Git" cheat sheet is available in several languages. diff --git a/content/get-started/quickstart/github-flow.md b/content/get-started/quickstart/github-flow.md index ffb2965aeb..94f784dbde 100644 --- a/content/get-started/quickstart/github-flow.md +++ b/content/get-started/quickstart/github-flow.md @@ -9,9 +9,9 @@ redirect_from: - /github/getting-started-with-github/github-flow - /github/getting-started-with-github/quickstart/github-flow versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Fundamentals @@ -23,13 +23,13 @@ miniTocMaxHeadingLevel: 3 ## Prerequisites -To follow {% data variables.product.prodname_dotcom %} flow, you will need {% data variables.product.prodname_dotcom %} account and a repository. For information on how to create an account, see "[Signing up for {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/signing-up-for-github)." For information on how to create a repository, see "[Create a repo](/github/getting-started-with-github/create-a-repo)."{% if currentVersion == "free-pro-team@latest" %} For information on how to find an existing repository to contribute to, see "[Finding ways to contribute to open source on {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github)."{% endif %} +To follow {% data variables.product.prodname_dotcom %} flow, you will need {% data variables.product.prodname_dotcom %} account and a repository. For information on how to create an account, see "[Signing up for {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/signing-up-for-github)." For information on how to create a repository, see "[Create a repo](/github/getting-started-with-github/create-a-repo)."{% ifversion fpt %} For information on how to find an existing repository to contribute to, see "[Finding ways to contribute to open source on {% data variables.product.prodname_dotcom %}](/github/getting-started-with-github/finding-ways-to-contribute-to-open-source-on-github)."{% endif %} ## Following {% data variables.product.prodname_dotcom %} flow {% tip %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} **Tip:** You can complete all steps of {% data variables.product.prodname_dotcom %} flow through {% data variables.product.prodname_dotcom %} web interface, command line and [{% data variables.product.prodname_cli %}](https://cli.github.com), or [{% data variables.product.prodname_desktop %}](/desktop). {% else %} **Tip:** You can complete all steps of {% data variables.product.prodname_dotcom %} flow through {% data variables.product.prodname_dotcom %} web interface or through the command line and [{% data variables.product.prodname_cli %}](https://cli.github.com). diff --git a/content/get-started/quickstart/github-glossary.md b/content/get-started/quickstart/github-glossary.md index 13eaa2752a..39a4df199c 100644 --- a/content/get-started/quickstart/github-glossary.md +++ b/content/get-started/quickstart/github-glossary.md @@ -6,9 +6,9 @@ redirect_from: - /github/getting-started-with-github/github-glossary - /github/getting-started-with-github/quickstart/github-glossary versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% for term in site.data.glossaries.external %} ### {% data glossaries.external[forloop.index0].term %} diff --git a/content/get-started/quickstart/index.md b/content/get-started/quickstart/index.md index 55449db5c3..9ec9e023f5 100644 --- a/content/get-started/quickstart/index.md +++ b/content/get-started/quickstart/index.md @@ -2,9 +2,9 @@ title: Quickstart intro: 'Get started using {% data variables.product.product_name %} to manage Git repositories and collaborate with others.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues diff --git a/content/get-started/quickstart/set-up-git.md b/content/get-started/quickstart/set-up-git.md index b9743d391c..b3970a4c67 100644 --- a/content/get-started/quickstart/set-up-git.md +++ b/content/get-started/quickstart/set-up-git.md @@ -14,9 +14,9 @@ redirect_from: - /github/getting-started-with-github/quickstart/set-up-git intro: 'At the heart of {% data variables.product.product_name %} is an open source version control system (VCS) called Git. Git is responsible for everything {% data variables.product.product_name %}-related that happens locally on your computer.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues @@ -25,7 +25,7 @@ topics: --- ## Using Git -To use Git on the command line, you'll need to download, install, and configure Git on your computer. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} You can also install {% data variables.product.prodname_cli %} to use {% data variables.product.product_name %} from the command line. For more information on {% data variables.product.prodname_cli %}, see the [{% data variables.product.prodname_cli %}](https://cli.github.com/manual/) documentation.{% endif %} +To use Git on the command line, you'll need to download, install, and configure Git on your computer. {% ifversion fpt or ghes or ghae %} You can also install {% data variables.product.prodname_cli %} to use {% data variables.product.product_name %} from the command line. For more information on {% data variables.product.prodname_cli %}, see the [{% data variables.product.prodname_cli %}](https://cli.github.com/manual/) documentation.{% endif %} If you want to work with Git locally, but don't want to use the command line, you can instead download and install the [{% data variables.product.prodname_desktop %}]({% data variables.product.desktop_link %}) client. For more information, see "[Installing and configuring {% data variables.product.prodname_desktop %}](/desktop/installing-and-configuring-github-desktop/)." diff --git a/content/get-started/signing-up-for-github/index.md b/content/get-started/signing-up-for-github/index.md index 8b1cd07d7e..118c07fd29 100644 --- a/content/get-started/signing-up-for-github/index.md +++ b/content/get-started/signing-up-for-github/index.md @@ -5,9 +5,9 @@ redirect_from: - /articles/signing-up-for-github - /github/getting-started-with-github/signing-up-for-github/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts children: diff --git a/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md b/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md index d950e7dc06..01a589040f 100644 --- a/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md +++ b/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud.md @@ -6,8 +6,8 @@ redirect_from: - /github/getting-started-with-github/setting-up-a-trial-of-github-enterprise-cloud - /github/getting-started-with-github/signing-up-for-github/setting-up-a-trial-of-github-enterprise-cloud versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Accounts --- diff --git a/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server.md b/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server.md index 2eab04fb75..841c4be6a9 100644 --- a/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server.md +++ b/content/get-started/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server.md @@ -7,8 +7,8 @@ redirect_from: - /github/getting-started-with-github/setting-up-a-trial-of-github-enterprise-server - /github/getting-started-with-github/signing-up-for-github/setting-up-a-trial-of-github-enterprise-server versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Accounts --- @@ -16,7 +16,7 @@ topics: You can request a 45-day trial to evaluate {% data variables.product.prodname_ghe_server %}. Your trial will be installed as a virtual appliance, with options for on-premises or cloud deployment. For a list of supported visualization platforms, see "[Setting up a GitHub Enterprise Server instance](/enterprise/admin/installation/setting-up-a-github-enterprise-server-instance)." -{% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}Security{% endif %} alerts and {% data variables.product.prodname_github_connect %} are not currently available in trials of {% data variables.product.prodname_ghe_server %}. For a demonstration of these features, contact {% data variables.contact.contact_enterprise_sales %}. For more information about these features, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)" and "[Connecting {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_dotcom_the_website %}](/enterprise/admin/installation/connecting-github-enterprise-server-to-github-enterprise-cloud)." +{% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}Security{% endif %} alerts and {% data variables.product.prodname_github_connect %} are not currently available in trials of {% data variables.product.prodname_ghe_server %}. For a demonstration of these features, contact {% data variables.contact.contact_enterprise_sales %}. For more information about these features, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)" and "[Connecting {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_dotcom_the_website %}](/enterprise/admin/installation/connecting-github-enterprise-server-to-github-enterprise-cloud)." Trials are also available for {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Setting up a trial of {% data variables.product.prodname_ghe_cloud %}](/articles/setting-up-a-trial-of-github-enterprise-cloud)." diff --git a/content/get-started/signing-up-for-github/signing-up-for-a-new-github-account.md b/content/get-started/signing-up-for-github/signing-up-for-a-new-github-account.md index bfcabf0a4e..c70f73b94e 100644 --- a/content/get-started/signing-up-for-github/signing-up-for-a-new-github-account.md +++ b/content/get-started/signing-up-for-github/signing-up-for-a-new-github-account.md @@ -7,7 +7,7 @@ redirect_from: - /github/getting-started-with-github/signing-up-for-a-new-github-account - /github/getting-started-with-github/signing-up-for-github/signing-up-for-a-new-github-account versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts --- diff --git a/content/get-started/signing-up-for-github/verifying-your-email-address.md b/content/get-started/signing-up-for-github/verifying-your-email-address.md index bfd14c8e59..6c6d9719d3 100644 --- a/content/get-started/signing-up-for-github/verifying-your-email-address.md +++ b/content/get-started/signing-up-for-github/verifying-your-email-address.md @@ -8,7 +8,7 @@ redirect_from: - /github/getting-started-with-github/verifying-your-email-address - /github/getting-started-with-github/signing-up-for-github/verifying-your-email-address versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts --- diff --git a/content/get-started/using-git/about-git-rebase.md b/content/get-started/using-git/about-git-rebase.md index b899c44f94..824c16ebe4 100644 --- a/content/get-started/using-git/about-git-rebase.md +++ b/content/get-started/using-git/about-git-rebase.md @@ -9,9 +9,9 @@ redirect_from: - /github/getting-started-with-github/using-git/about-git-rebase intro: 'The `git rebase` command allows you to easily change a series of commits, modifying the history of your repository. You can reorder, edit, or squash commits together.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- Typically, you would use `git rebase` to: diff --git a/content/get-started/using-git/about-git-subtree-merges.md b/content/get-started/using-git/about-git-subtree-merges.md index 49c1d32305..77fe20b862 100644 --- a/content/get-started/using-git/about-git-subtree-merges.md +++ b/content/get-started/using-git/about-git-subtree-merges.md @@ -9,9 +9,9 @@ redirect_from: - /github/getting-started-with-github/using-git/about-git-subtree-merges intro: 'If you need to manage multiple projects within a single repository, you can use a *subtree merge* to handle all the references.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## About subtree merges diff --git a/content/get-started/using-git/dealing-with-non-fast-forward-errors.md b/content/get-started/using-git/dealing-with-non-fast-forward-errors.md index c0929e52ef..ffb84da58e 100644 --- a/content/get-started/using-git/dealing-with-non-fast-forward-errors.md +++ b/content/get-started/using-git/dealing-with-non-fast-forward-errors.md @@ -7,9 +7,9 @@ redirect_from: - /github/getting-started-with-github/dealing-with-non-fast-forward-errors - /github/getting-started-with-github/using-git/dealing-with-non-fast-forward-errors versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- If another person has pushed to the same branch as you, Git won't be able to push your changes: diff --git a/content/get-started/using-git/getting-changes-from-a-remote-repository.md b/content/get-started/using-git/getting-changes-from-a-remote-repository.md index 9e0ea84574..3b9f27d8e7 100644 --- a/content/get-started/using-git/getting-changes-from-a-remote-repository.md +++ b/content/get-started/using-git/getting-changes-from-a-remote-repository.md @@ -8,9 +8,9 @@ redirect_from: - /github/getting-started-with-github/getting-changes-from-a-remote-repository - /github/getting-started-with-github/using-git/getting-changes-from-a-remote-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Options for getting changes @@ -81,5 +81,5 @@ to take the branch back to where it was in before you pulled. ## Further reading -- ["Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes)"{% if currentVersion == "free-pro-team@latest" %} +- ["Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes)"{% ifversion fpt %} - "[Troubleshooting connectivity problems](/articles/troubleshooting-connectivity-problems)"{% endif %} diff --git a/content/get-started/using-git/index.md b/content/get-started/using-git/index.md index c759a509ee..2a8e883ff4 100644 --- a/content/get-started/using-git/index.md +++ b/content/get-started/using-git/index.md @@ -11,9 +11,9 @@ redirect_from: - /github/using-git/changing-author-info - /github/getting-started-with-github/using-git/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /pushing-commits-to-a-remote-repository - /getting-changes-from-a-remote-repository diff --git a/content/get-started/using-git/pushing-commits-to-a-remote-repository.md b/content/get-started/using-git/pushing-commits-to-a-remote-repository.md index d46a0a7e58..75a1c05ef5 100644 --- a/content/get-started/using-git/pushing-commits-to-a-remote-repository.md +++ b/content/get-started/using-git/pushing-commits-to-a-remote-repository.md @@ -8,9 +8,9 @@ redirect_from: - /github/getting-started-with-github/pushing-commits-to-a-remote-repository - /github/getting-started-with-github/using-git/pushing-commits-to-a-remote-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- The `git push` command takes two arguments: diff --git a/content/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase.md b/content/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase.md index 1da11f69f7..302b83aebc 100644 --- a/content/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase.md +++ b/content/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase.md @@ -7,9 +7,9 @@ redirect_from: - /github/getting-started-with-github/resolving-merge-conflicts-after-a-git-rebase - /github/getting-started-with-github/using-git/resolving-merge-conflicts-after-a-git-rebase versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- After you reorder and manipulate commits using `git rebase`, should a merge conflict occur, Git will tell you so with the following message printed to the terminal: diff --git a/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md b/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md index 7f12c6bfa7..18f52311d9 100644 --- a/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md +++ b/content/get-started/using-git/splitting-a-subfolder-out-into-a-new-repository.md @@ -8,9 +8,9 @@ redirect_from: - /github/getting-started-with-github/using-git/splitting-a-subfolder-out-into-a-new-repository intro: You can turn a folder within a Git repository into a brand new repository. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- If you create a new clone of the repository, you won't lose any of your Git history or changes when you split a folder into a separate repository. diff --git a/content/get-started/using-git/using-git-rebase-on-the-command-line.md b/content/get-started/using-git/using-git-rebase-on-the-command-line.md index be3b1cc14b..e5763181f7 100644 --- a/content/get-started/using-git/using-git-rebase-on-the-command-line.md +++ b/content/get-started/using-git/using-git-rebase-on-the-command-line.md @@ -8,9 +8,9 @@ redirect_from: - /github/getting-started-with-github/using-git/using-git-rebase-on-the-command-line intro: Here's a short tutorial on using `git rebase` on the command line. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Using Git rebase diff --git a/content/get-started/using-github/exploring-early-access-releases-with-feature-preview.md b/content/get-started/using-github/exploring-early-access-releases-with-feature-preview.md index a1d2058672..48ec4af153 100644 --- a/content/get-started/using-github/exploring-early-access-releases-with-feature-preview.md +++ b/content/get-started/using-github/exploring-early-access-releases-with-feature-preview.md @@ -6,7 +6,7 @@ redirect_from: - /github/getting-started-with-github/exploring-early-access-releases-with-feature-preview - /github/getting-started-with-github/using-github/exploring-early-access-releases-with-feature-preview versions: - free-pro-team: '*' + fpt: '*' topics: - Early access --- diff --git a/content/get-started/using-github/github-cli.md b/content/get-started/using-github/github-cli.md index 9811d3230d..f69184873c 100644 --- a/content/get-started/using-github/github-cli.md +++ b/content/get-started/using-github/github-cli.md @@ -2,9 +2,9 @@ title: GitHub CLI intro: '{% data variables.product.prodname_cli %} is a command-line tool that brings pull requests, issues, {% data variables.product.prodname_actions %}, and other {% data variables.product.product_name %} features to your terminal, so you can do all your work in one place.' versions: - free-pro-team: '*' - enterprise-server: '>2.19' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - CLI redirect_from: diff --git a/content/get-started/using-github/github-desktop.md b/content/get-started/using-github/github-desktop.md index 485ad86fd3..d9c0b7048e 100644 --- a/content/get-started/using-github/github-desktop.md +++ b/content/get-started/using-github/github-desktop.md @@ -2,9 +2,9 @@ title: GitHub Desktop intro: '{% data variables.product.prodname_desktop %} extends and simplifies your Git and {% data variables.product.prodname_dotcom %} workflow using a visual interface.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Desktop redirect_from: diff --git a/content/get-started/using-github/github-for-mobile.md b/content/get-started/using-github/github-for-mobile.md index e4428f62cb..b7a1089599 100644 --- a/content/get-started/using-github/github-for-mobile.md +++ b/content/get-started/using-github/github-for-mobile.md @@ -2,8 +2,8 @@ title: GitHub for mobile intro: 'Triage, collaborate, and manage your work on {% data variables.product.product_name %} from your mobile device.' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' topics: - Mobile redirect_from: @@ -42,7 +42,7 @@ You can be simultaneously signed into mobile with one user account on {% data va You must install {% data variables.product.prodname_mobile %} 1.4 or later on your device to use {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}. -To use {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}, {% data variables.product.product_location %} must be version 3.0 or greater, and your enterprise owner must enable mobile support for your enterprise. For more information, see {% if enterpriseServerVersions contains currentVersion %}"[Release notes](/enterprise-server/admin/release-notes)" and {% endif %}"[Managing {% data variables.product.prodname_mobile %} for your enterprise](/admin/configuration/managing-github-for-mobile-for-your-enterprise)." +To use {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}, {% data variables.product.product_location %} must be version 3.0 or greater, and your enterprise owner must enable mobile support for your enterprise. For more information, see {% ifversion ghes %}"[Release notes](/enterprise-server/admin/release-notes)" and {% endif %}"[Managing {% data variables.product.prodname_mobile %} for your enterprise](/admin/configuration/managing-github-for-mobile-for-your-enterprise)." During the beta for {% data variables.product.prodname_mobile %} with {% data variables.product.prodname_ghe_server %}, you must be signed in with a user account on {% data variables.product.prodname_dotcom_the_website %}. diff --git a/content/get-started/using-github/index.md b/content/get-started/using-github/index.md index 031ac6a471..ee2de5ce07 100644 --- a/content/get-started/using-github/index.md +++ b/content/get-started/using-github/index.md @@ -5,9 +5,9 @@ redirect_from: - /articles/using-github - /github/getting-started-with-github/using-github/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /exploring-early-access-releases-with-feature-preview - /supported-browsers diff --git a/content/get-started/using-github/keyboard-shortcuts.md b/content/get-started/using-github/keyboard-shortcuts.md index 0213c207fc..c65496fbb1 100644 --- a/content/get-started/using-github/keyboard-shortcuts.md +++ b/content/get-started/using-github/keyboard-shortcuts.md @@ -9,9 +9,9 @@ redirect_from: - /github/getting-started-with-github/keyboard-shortcuts - /github/getting-started-with-github/using-github/keyboard-shortcuts versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## About keyboard shortcuts @@ -24,7 +24,7 @@ Below is a list of some of the available keyboard shortcuts. | Keyboard shortcut | Description |-----------|------------ |s or / | Focus the search bar. For more information, see "[About searching on {% data variables.product.company_short %}](/articles/about-searching-on-github)." -|g n | Go to your notifications. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[About notifications](/github/receiving-notifications-about-activity-on-github/about-notifications){% endif %}." +|g n | Go to your notifications. For more information, see {% ifversion fpt or ghes or ghae %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[About notifications](/github/receiving-notifications-about-activity-on-github/about-notifications){% endif %}." |esc | When focused on a user, issue, or pull request hovercard, closes the hovercard and refocuses on the element the hovercard is in ## Repositories @@ -33,10 +33,10 @@ Below is a list of some of the available keyboard shortcuts. |-----------|------------ |g c | Go to the **Code** tab |g i | Go to the **Issues** tab. For more information, see "[About issues](/articles/about-issues)." -|g p | Go to the **Pull requests** tab. For more information, see "[About pull requests](/articles/about-pull-requests)."{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +|g p | Go to the **Pull requests** tab. For more information, see "[About pull requests](/articles/about-pull-requests)."{% ifversion fpt or ghes > 2.21 %} |g a | Go to the **Actions** tab. For more information, see "[About Actions](/actions/getting-started-with-github-actions/about-github-actions)."{% endif %} |g b | Go to the **Projects** tab. For more information, see "[About project boards](/articles/about-project-boards)." -|g w | Go to the **Wiki** tab. For more information, see "[About wikis](/communities/documenting-your-project-with-wikis/about-wikis)."{% if currentVersion == "free-pro-team@latest" %} +|g w | Go to the **Wiki** tab. For more information, see "[About wikis](/communities/documenting-your-project-with-wikis/about-wikis)."{% ifversion fpt %} |g g | Go to the **Discussions** tab. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)."{% endif %} ## Source code editing @@ -77,12 +77,12 @@ For more keyboard shortcuts, see the [CodeMirror documentation](https://codemirr | Keyboard shortcut | Description |-----------|------------ | control b or command b | Inserts Markdown formatting for bolding text -| control i or command i | Inserts Markdown formatting for italicizing text{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %} +| control i or command i | Inserts Markdown formatting for italicizing text{% ifversion fpt or ghae-next or ghes > 3.1 %} | control e or command e | Inserts Markdown formatting for code or a command within a line{% endif %} | control k or command k | Inserts Markdown formatting for creating a link | control shift p or command shift p| Toggles between the **Write** and **Preview** comment tabs | control enter | Submits a comment -| control . and then control [saved reply number] | Opens saved replies menu and then autofills comment field with a saved reply. For more information, see "[About saved replies](/articles/about-saved-replies)."{% if currentVersion == "free-pro-team@latest" %} +| control . and then control [saved reply number] | Opens saved replies menu and then autofills comment field with a saved reply. For more information, see "[About saved replies](/articles/about-saved-replies)."{% ifversion fpt %} |control g or command g | Insert a suggestion. For more information, see "[Reviewing proposed changes in a pull request](/articles/reviewing-proposed-changes-in-a-pull-request)." |{% endif %} | r | Quote the selected text in your reply. For more information, see "[Basic writing and formatting syntax](/articles/basic-writing-and-formatting-syntax#quoting-text)." | @@ -106,7 +106,7 @@ For more keyboard shortcuts, see the [CodeMirror documentation](https://codemirr |m | Set a milestone. For more information, see "[Associating milestones with issues and pull requests](/articles/associating-milestones-with-issues-and-pull-requests/)." |l | Apply a label. For more information, see "[Applying labels to issues and pull requests](/articles/applying-labels-to-issues-and-pull-requests/)." |a | Set an assignee. For more information, see "[Assigning issues and pull requests to other {% data variables.product.company_short %} users](/articles/assigning-issues-and-pull-requests-to-other-github-users/)." -|cmd + shift + p or control + shift + p | Toggles between the **Write** and **Preview** tabs{% if currentVersion == "free-pro-team@latest" %} +|cmd + shift + p or control + shift + p | Toggles between the **Write** and **Preview** tabs{% ifversion fpt %} |alt and click | When creating an issue from a task list, open the new issue form in the current tab by holding alt and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." |shift and click | When creating an issue from a task list, open the new issue form in a new tab by holding shift and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." |command or control + shift and click | When creating an issue from a task list, open the new issue form in the new window by holding command or control + shift and clicking the {% octicon "issue-opened" aria-label="The issue opened icon" %} in the upper-right corner of the task. For more information, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)."{% endif %} @@ -120,7 +120,7 @@ For more keyboard shortcuts, see the [CodeMirror documentation](https://codemirr |j | Move selection down in the list |k | Move selection up in the list | cmd + shift + enter | Add a single comment on a pull request diff | -| alt and click | Toggle between collapsing and expanding all outdated review comments in a pull request by holding down `alt` and clicking **Show outdated** or **Hide outdated**.|{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +| alt and click | Toggle between collapsing and expanding all outdated review comments in a pull request by holding down `alt` and clicking **Show outdated** or **Hide outdated**.|{% ifversion fpt or ghes or ghae %} | Click, then shift and click | Comment on multiple lines of a pull request by clicking a line number, holding shift, then clicking another line number. For more information, see "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)."|{% endif %} ## Project boards @@ -163,7 +163,7 @@ For more keyboard shortcuts, see the [CodeMirror documentation](https://codemirr |-----------|------------ |esc | Close the card preview pane -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## {% data variables.product.prodname_actions %} | Keyboard shortcut | Description @@ -178,7 +178,7 @@ For more keyboard shortcuts, see the [CodeMirror documentation](https://codemirr ## Notifications -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} | Keyboard shortcut | Description |-----------|------------ |e | Mark as done diff --git a/content/get-started/using-github/supported-browsers.md b/content/get-started/using-github/supported-browsers.md index a59a5af06c..513e2bb2dd 100644 --- a/content/get-started/using-github/supported-browsers.md +++ b/content/get-started/using-github/supported-browsers.md @@ -8,9 +8,9 @@ redirect_from: - /github/getting-started-with-github/using-github/supported-browsers intro: 'We design {% data variables.product.product_name %} to support the latest web browsers. We support the current versions of [Chrome](https://www.google.com/chrome/), [Firefox](http://www.mozilla.org/firefox/), [Safari](http://www.apple.com/safari/), and [Microsoft Edge](https://www.microsoft.com/en-us/windows/microsoft-edge).' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Firefox Extended Support Release diff --git a/content/get-started/using-github/troubleshooting-connectivity-problems.md b/content/get-started/using-github/troubleshooting-connectivity-problems.md index fa8094ded3..e47d722c6d 100644 --- a/content/get-started/using-github/troubleshooting-connectivity-problems.md +++ b/content/get-started/using-github/troubleshooting-connectivity-problems.md @@ -6,7 +6,7 @@ redirect_from: - /github/getting-started-with-github/troubleshooting-connectivity-problems - /github/getting-started-with-github/using-github/troubleshooting-connectivity-problems versions: - free-pro-team: '*' + fpt: '*' --- Most often, connection problems occur because a firewall, proxy server, corporate network, or other network is configured in a way that blocks {% data variables.product.prodname_dotcom %}. diff --git a/content/github/administering-a-repository/configuring-pull-request-merges/about-merge-methods-on-github.md b/content/github/administering-a-repository/configuring-pull-request-merges/about-merge-methods-on-github.md index aa40ed6c1b..33cb416113 100644 --- a/content/github/administering-a-repository/configuring-pull-request-merges/about-merge-methods-on-github.md +++ b/content/github/administering-a-repository/configuring-pull-request-merges/about-merge-methods-on-github.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-merge-methods-on-github - /github/administering-a-repository/about-merge-methods-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -15,7 +15,7 @@ topics: {% data reusables.pull_requests.default_merge_option %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} The default merge method creates a merge commit. You can prevent anyone from pushing merge commits to a protected branch by enforcing a linear commit history. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-linear-history)."{% endif %} ## Squashing your merge commits diff --git a/content/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md b/content/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md index 1b728a29b1..708be0ce33 100644 --- a/content/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md +++ b/content/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-rebasing-for-pull-requests.md @@ -5,9 +5,9 @@ redirect_from: - /articles/configuring-commit-rebasing-for-pull-requests - /github/administering-a-repository/configuring-commit-rebasing-for-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md b/content/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md index 9d640b60ad..2187b605b9 100644 --- a/content/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md +++ b/content/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests.md @@ -5,9 +5,9 @@ redirect_from: - /articles/configuring-commit-squashing-for-pull-requests - /github/administering-a-repository/configuring-commit-squashing-for-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/configuring-pull-request-merges/index.md b/content/github/administering-a-repository/configuring-pull-request-merges/index.md index 40e6a3820d..6c1889b40c 100644 --- a/content/github/administering-a-repository/configuring-pull-request-merges/index.md +++ b/content/github/administering-a-repository/configuring-pull-request-merges/index.md @@ -4,9 +4,9 @@ intro: 'You can configure pull request merges on {% data variables.product.produ redirect_from: - /articles/configuring-pull-request-merges versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/administering-a-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository.md b/content/github/administering-a-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository.md index 89fd64f024..dbc45aceeb 100644 --- a/content/github/administering-a-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository.md +++ b/content/github/administering-a-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository.md @@ -3,9 +3,9 @@ title: Managing auto-merge for pull requests in your repository intro: You can allow or disallow auto-merge for pull requests in your repository. product: '{% data reusables.gated-features.auto-merge %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.1' - github-ae: '*' + fpt: '*' + ghes: '>=3.1' + ghae: '*' permissions: People with maintainer permissions can manage auto-merge for pull requests in a repository. topics: - Repositories @@ -14,7 +14,7 @@ redirect_from: --- ## About auto-merge -If you allow auto-merge for pull requests in your repository, people with write permissions can configure individual pull requests in the repository to merge automatically when all merge requirements are met. {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}If someone who does not have write permissions pushes changes to a pull request that has auto-merge enabled, auto-merge will be disabled for that pull request. {% endif %}For more information, see "[Automatically merging a pull request](/github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request)." +If you allow auto-merge for pull requests in your repository, people with write permissions can configure individual pull requests in the repository to merge automatically when all merge requirements are met. {% ifversion fpt or ghae-next or ghes > 3.1 %}If someone who does not have write permissions pushes changes to a pull request that has auto-merge enabled, auto-merge will be disabled for that pull request. {% endif %}For more information, see "[Automatically merging a pull request](/github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request)." ## Managing auto-merge diff --git a/content/github/administering-a-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches.md b/content/github/administering-a-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches.md index 2de6e0c488..9d8ace62b5 100644 --- a/content/github/administering-a-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches.md +++ b/content/github/administering-a-repository/configuring-pull-request-merges/managing-the-automatic-deletion-of-branches.md @@ -5,9 +5,9 @@ redirect_from: - /articles/managing-the-automatic-deletion-of-branches - /github/administering-a-repository/managing-the-automatic-deletion-of-branches versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md b/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md index ce4318121f..3f39c2d03a 100644 --- a/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md +++ b/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.md @@ -17,9 +17,9 @@ redirect_from: - /github/administering-a-repository/about-required-reviews-for-pull-requests - /github/administering-a-repository/about-protected-branches versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -40,7 +40,7 @@ By default, the restrictions of a branch protection rule don't apply to people w For each branch protection rule, you can choose to enable or disable the following settings. - [Require pull request reviews before merging](#require-pull-request-reviews-before-merging) - [Require status checks before merging](#require-status-checks-before-merging) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@issue-4382" %} +{% ifversion fpt or ghes > 3.1 or ghae-issue-4382 %} - [Require conversation resolution before merging](#require-conversation-resolution-before-merging){% endif %} - [Require signed commits](#require-signed-commits) - [Require linear history](#require-linear-history) @@ -98,7 +98,7 @@ You can set up required status checks to either be "loose" or "strict." The type For troubleshooting information, see "[Troubleshooting required status checks](/github/administering-a-repository/troubleshooting-required-status-checks)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@issue-4382" %} +{% ifversion fpt or ghes > 3.1 or ghae-issue-4382 %} ### Require conversation resolution before merging Requires all comments on the pull request to be resolved before it can be merged to a protected branch. This ensures that all comments are addressed or acknowledged before merge. @@ -106,11 +106,11 @@ Requires all comments on the pull request to be resolved before it can be merged ### Require signed commits -When you enable required commit signing on a branch, contributors {% if currentVersion == "free-pro-team@latest" %}and bots{% endif %} can only push commits that have been signed and verified to the branch. For more information, see "[About commit signature verification](/articles/about-commit-signature-verification)." +When you enable required commit signing on a branch, contributors {% ifversion fpt %}and bots{% endif %} can only push commits that have been signed and verified to the branch. For more information, see "[About commit signature verification](/articles/about-commit-signature-verification)." {% note %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} **Notes:** * If you have enabled vigilant mode, which indicates that your commits will always be signed, any commits that {% data variables.product.prodname_dotcom %} identifies as "Partially verified" are permitted on branches that require signed commits. For more information about vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)." @@ -122,9 +122,9 @@ When you enable required commit signing on a branch, contributors {% if currentV {% endnote %} -You can always push local commits to the branch if the commits are signed and verified. {% if currentVersion == "free-pro-team@latest" %}You can also merge signed and verified commits into the branch using a pull request on {% data variables.product.product_name %}. However, you cannot squash and merge a pull request into the branch on {% data variables.product.product_name %} unless you are the author of the pull request.{% else %} However, you cannot merge pull requests into the branch on {% data variables.product.product_name %}.{% endif %} You can {% if currentVersion == "free-pro-team@latest" %}squash and {% endif %}merge pull requests locally. For more information, see "[Checking out pull requests locally](/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally)." +You can always push local commits to the branch if the commits are signed and verified. {% ifversion fpt %}You can also merge signed and verified commits into the branch using a pull request on {% data variables.product.product_name %}. However, you cannot squash and merge a pull request into the branch on {% data variables.product.product_name %} unless you are the author of the pull request.{% else %} However, you cannot merge pull requests into the branch on {% data variables.product.product_name %}.{% endif %} You can {% ifversion fpt %}squash and {% endif %}merge pull requests locally. For more information, see "[Checking out pull requests locally](/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally)." -{% if currentVersion == "free-pro-team@latest" %} For more information about merge methods, see "[About merge methods on {% data variables.product.prodname_dotcom %}](/github/administering-a-repository/about-merge-methods-on-github)."{% endif %} +{% ifversion fpt %} For more information about merge methods, see "[About merge methods on {% data variables.product.prodname_dotcom %}](/github/administering-a-repository/about-merge-methods-on-github)."{% endif %} ### Require linear history @@ -138,7 +138,7 @@ By default, protected branch rules do not apply to people with admin permissions ### Restrict who can push to matching branches -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can enable branch restrictions if your repository is owned by an organization using {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %}. {% endif %} @@ -152,7 +152,7 @@ By default, {% data variables.product.product_name %} blocks force pushes on all Enabling force pushes will not override any other branch protection rules. For example, if a branch requires a linear commit history, you cannot force push merge commits to that branch. -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}You cannot enable force pushes for a protected branch if a site administrator has blocked force pushes to all branches in your repository. For more information, see "[Blocking force pushes to repositories owned by a user account or organization](/enterprise/{{ currentVersion }}/admin/developer-workflow/blocking-force-pushes-to-repositories-owned-by-a-user-account-or-organization)." +{% ifversion ghes or ghae %}You cannot enable force pushes for a protected branch if a site administrator has blocked force pushes to all branches in your repository. For more information, see "[Blocking force pushes to repositories owned by a user account or organization](/enterprise/{{ currentVersion }}/admin/developer-workflow/blocking-force-pushes-to-repositories-owned-by-a-user-account-or-organization)." If a site administrator has blocked force pushes to the default branch only, you can still enable force pushes for any other protected branch.{% endif %} diff --git a/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/index.md b/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/index.md index 9127f2995c..914afcb156 100644 --- a/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/index.md +++ b/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/index.md @@ -7,9 +7,9 @@ redirect_from: - /enterprise/admin/developer-workflow/establishing-pull-request-merge-conditions product: '{% data reusables.gated-features.protected-branches %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md b/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md index a6104d03cc..638ed2126c 100644 --- a/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md +++ b/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/managing-a-branch-protection-rule.md @@ -18,9 +18,9 @@ redirect_from: - /github/administering-a-repository/enabling-deletion-of-a-protected-branch - /github/administering-a-repository/managing-a-branch-protection-rule versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' permissions: People with admin permissions to a repository can manage branch protection rules. topics: - Repositories @@ -65,7 +65,7 @@ When you create a branch rule, the branch you specify doesn't have to exist yet ![Loose or strict required status checkbox](/assets/images/help/repository/protecting-branch-loose-status.png) - From the list of available status checks, select the checks you want to require. ![List of available status checks](/assets/images/help/repository/required-statuses-list.png) -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@issue-4382" %} +{%- ifversion fpt or ghes > 3.1 or ghae-issue-4382 %} 1. Optionally, select **Require conversation resolution before merging**. ![Require conversation resolution before merging option](/assets/images/help/repository/require-conversation-resolution.png) {%- endif %} @@ -75,7 +75,7 @@ When you create a branch rule, the branch you specify doesn't have to exist yet ![Required linear history option](/assets/images/help/repository/required-linear-history.png) 1. Optionally, select **Include administrators**. ![Include administrators checkbox](/assets/images/help/repository/include-admins-protected-branches.png) -1. Optionally,{% if currentVersion == "free-pro-team@latest" %} if your repository is owned by an organization using {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %},{% endif %} enable branch restrictions. +1. Optionally,{% ifversion fpt %} if your repository is owned by an organization using {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %},{% endif %} enable branch restrictions. - Select **Restrict who can push to matching branches**. ![Branch restriction checkbox](/assets/images/help/repository/restrict-branch.png) - Search for and select the people, teams, or apps who will have permission to push to the protected branch. diff --git a/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks.md b/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks.md index 67f2f5da22..207f7ec69e 100644 --- a/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks.md +++ b/content/github/administering-a-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks.md @@ -3,9 +3,9 @@ title: Troubleshooting required status checks intro: You can check for common errors and resolve issues with required status checks. product: '{% data reusables.gated-features.protected-branches %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories redirect_from: @@ -33,7 +33,7 @@ remote: error: Required status check "ci-build" is failing {% endnote %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} +{% ifversion fpt or ghae or ghes %} Sometimes, the results of the status checks for the test merge commit and head commit will conflict. If the test merge commit has a status, the test merge commit must pass. Otherwise, the status of the head commit must pass before you can merge the branch. For more information about test merge commits, see "[Pulls](/rest/reference/pulls#get-a-pull-request)." diff --git a/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-assignees.md b/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-assignees.md index 5d67b93e59..a6a0704a5b 100644 --- a/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-assignees.md +++ b/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-assignees.md @@ -6,9 +6,9 @@ redirect_from: - /articles/filtering-issues-and-pull-requests-by-assignees - /github/managing-your-work-on-github/filtering-issues-and-pull-requests-by-assignees versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-labels.md b/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-labels.md index 09c1cc8df4..ff0c18da98 100644 --- a/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-labels.md +++ b/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests-by-labels.md @@ -6,9 +6,9 @@ redirect_from: - /articles/filtering-issues-and-pull-requests-by-labels - /github/managing-your-work-on-github/filtering-issues-and-pull-requests-by-labels versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests.md b/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests.md index 2feffb342f..801b3fe824 100644 --- a/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests.md +++ b/content/github/administering-a-repository/finding-information-in-a-repository/filtering-issues-and-pull-requests.md @@ -6,9 +6,9 @@ redirect_from: - /articles/filtering-issues-and-pull-requests - /github/managing-your-work-on-github/filtering-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/administering-a-repository/finding-information-in-a-repository/filtering-pull-requests-by-review-status.md b/content/github/administering-a-repository/finding-information-in-a-repository/filtering-pull-requests-by-review-status.md index e9c2d2dfe7..8b24574466 100644 --- a/content/github/administering-a-repository/finding-information-in-a-repository/filtering-pull-requests-by-review-status.md +++ b/content/github/administering-a-repository/finding-information-in-a-repository/filtering-pull-requests-by-review-status.md @@ -6,9 +6,9 @@ redirect_from: - /articles/filtering-pull-requests-by-review-status - /github/managing-your-work-on-github/filtering-pull-requests-by-review-status versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/administering-a-repository/finding-information-in-a-repository/index.md b/content/github/administering-a-repository/finding-information-in-a-repository/index.md index 286a291c62..ec57cb19ca 100644 --- a/content/github/administering-a-repository/finding-information-in-a-repository/index.md +++ b/content/github/administering-a-repository/finding-information-in-a-repository/index.md @@ -5,9 +5,9 @@ redirect_from: - /github/managing-your-work-on-github/finding-information-in-a-repository/ - /articles/finding-information-in-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests children: diff --git a/content/github/administering-a-repository/finding-information-in-a-repository/sharing-filters.md b/content/github/administering-a-repository/finding-information-in-a-repository/sharing-filters.md index 232626ef79..e838f4dfe6 100644 --- a/content/github/administering-a-repository/finding-information-in-a-repository/sharing-filters.md +++ b/content/github/administering-a-repository/finding-information-in-a-repository/sharing-filters.md @@ -6,9 +6,9 @@ redirect_from: - /articles/sharing-filters - /github/managing-your-work-on-github/sharing-filters versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/administering-a-repository/finding-information-in-a-repository/sorting-issues-and-pull-requests.md b/content/github/administering-a-repository/finding-information-in-a-repository/sorting-issues-and-pull-requests.md index 9ccaa0ab08..e3070cb389 100644 --- a/content/github/administering-a-repository/finding-information-in-a-repository/sorting-issues-and-pull-requests.md +++ b/content/github/administering-a-repository/finding-information-in-a-repository/sorting-issues-and-pull-requests.md @@ -6,9 +6,9 @@ redirect_from: - /articles/sorting-issues-and-pull-requests - /github/managing-your-work-on-github/sorting-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/administering-a-repository/finding-information-in-a-repository/using-search-to-filter-issues-and-pull-requests.md b/content/github/administering-a-repository/finding-information-in-a-repository/using-search-to-filter-issues-and-pull-requests.md index 6f998b213c..5d4165d6f6 100644 --- a/content/github/administering-a-repository/finding-information-in-a-repository/using-search-to-filter-issues-and-pull-requests.md +++ b/content/github/administering-a-repository/finding-information-in-a-repository/using-search-to-filter-issues-and-pull-requests.md @@ -6,9 +6,9 @@ redirect_from: - /articles/using-search-to-filter-issues-and-pull-requests - /github/managing-your-work-on-github/using-search-to-filter-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -30,7 +30,7 @@ With issue and pull request search terms, you can: - Filter issues and pull requests by label: `state:open type:issue label:"bug"` - Filter out search terms by using `-` before the term: `state:open type:issue -author:octocat` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} For issues, you can also use search to: - Filter for issues that are linked to a pull request by a closing reference: `linked:pr` @@ -44,7 +44,7 @@ For pull requests, you can also use search to: - Filter pull requests in which a reviewer has asked for changes: `state:open type:pr review:changes_requested` - Filter pull requests by [reviewer](/articles/about-pull-request-reviews/): `state:open type:pr reviewed-by:octocat` - Filter pull requests by the specific user [requested for review](/articles/requesting-a-pull-request-review): `state:open type:pr review-requested:octocat` -- Filter pull requests by the team requested for review: `state:open type:pr team-review-requested:github/atom`{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +- Filter pull requests by the team requested for review: `state:open type:pr team-review-requested:github/atom`{% ifversion fpt or ghes or ghae %} - Filter for pull requests that are linked to an issue that the pull request may close: `linked:issue`{% endif %} ## Further reading diff --git a/content/github/administering-a-repository/index.md b/content/github/administering-a-repository/index.md index 19142d0b39..57eda04128 100644 --- a/content/github/administering-a-repository/index.md +++ b/content/github/administering-a-repository/index.md @@ -3,9 +3,9 @@ title: Administering a repository redirect_from: - /categories/administering-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: @@ -15,4 +15,5 @@ children: - /defining-the-mergeability-of-pull-requests - /releasing-projects-on-github - /finding-information-in-a-repository ---- \ No newline at end of file +--- + diff --git a/content/github/administering-a-repository/managing-branches-in-your-repository/changing-the-default-branch.md b/content/github/administering-a-repository/managing-branches-in-your-repository/changing-the-default-branch.md index eb20200e78..b67ccf74f4 100644 --- a/content/github/administering-a-repository/managing-branches-in-your-repository/changing-the-default-branch.md +++ b/content/github/administering-a-repository/managing-branches-in-your-repository/changing-the-default-branch.md @@ -3,9 +3,9 @@ title: Changing the default branch intro: 'If you have more than one branch in your repository, you can configure any branch as the default branch.' permissions: People with admin permissions to a repository can change the default branch for the repository. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' redirect_from: - /github/administering-a-repository/setting-the-default-branch - /articles/setting-the-default-branch @@ -17,7 +17,7 @@ topics: You can choose the default branch for a repository. The default branch is the base branch for pull requests and code commits. For more information about the default branch, see "[About branches](/github/collaborating-with-issues-and-pull-requests/about-branches#about-the-default-branch)." -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} {% note %} **Note**: If you use the Git-Subversion bridge, changing the default branch will affect your `trunk` branch contents and the `HEAD` you see when you list references for the remote repository. For more information, see "[Support for Subversion clients](/github/importing-your-projects-to-github/support-for-subversion-clients)" and [git-ls-remote](https://git-scm.com/docs/git-ls-remote.html) in the Git documentation. @@ -25,13 +25,13 @@ You can choose the default branch for a repository. The default branch is the ba {% endnote %} {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} You can also rename the default branch. For more information, see "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} {% data reusables.branches.set-default-branch %} @@ -43,7 +43,7 @@ To change the default branch, your repository must have more than one branch. Fo ## Changing the default branch -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} diff --git a/content/github/administering-a-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request.md b/content/github/administering-a-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request.md index 9540363866..66c10939e4 100644 --- a/content/github/administering-a-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request.md +++ b/content/github/administering-a-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request.md @@ -8,9 +8,9 @@ redirect_from: - /articles/deleting-and-restoring-branches-in-a-pull-request - /github/administering-a-repository/deleting-and-restoring-branches-in-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/managing-branches-in-your-repository/index.md b/content/github/administering-a-repository/managing-branches-in-your-repository/index.md index 7c9e0f7aea..abfb73343e 100644 --- a/content/github/administering-a-repository/managing-branches-in-your-repository/index.md +++ b/content/github/administering-a-repository/managing-branches-in-your-repository/index.md @@ -4,9 +4,9 @@ intro: 'Whenever you propose a change in Git, you [create a new branch](/article redirect_from: - /articles/managing-branches-in-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/administering-a-repository/managing-branches-in-your-repository/renaming-a-branch.md b/content/github/administering-a-repository/managing-branches-in-your-repository/renaming-a-branch.md index 54d05ba3b2..ade2a1c72a 100644 --- a/content/github/administering-a-repository/managing-branches-in-your-repository/renaming-a-branch.md +++ b/content/github/administering-a-repository/managing-branches-in-your-repository/renaming-a-branch.md @@ -3,8 +3,8 @@ title: Renaming a branch intro: You can change the name of a branch in a repository. permissions: People with write permissions to a repository can rename a branch in the repository. People with admin permissions can rename the default branch. versions: - free-pro-team: '*' - enterprise-server: '>=3.1' + fpt: '*' + ghes: '>=3.1' topics: - Repositories redirect_from: diff --git a/content/github/administering-a-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository.md b/content/github/administering-a-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository.md index 353091ac31..d387049aae 100644 --- a/content/github/administering-a-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository.md +++ b/content/github/administering-a-repository/managing-branches-in-your-repository/viewing-branches-in-your-repository.md @@ -5,9 +5,9 @@ redirect_from: - /articles/viewing-branches-in-your-repository - /github/administering-a-repository/viewing-branches-in-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository.md b/content/github/administering-a-repository/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository.md index eaf9bea959..0109e72800 100644 --- a/content/github/administering-a-repository/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/about-email-notifications-for-pushes-to-your-repository.md @@ -9,9 +9,9 @@ redirect_from: - /github/receiving-notifications-about-activity-on-github/about-email-notifications-for-pushes-to-your-repository - /github/administering-a-repository/about-email-notifications-for-pushes-to-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -27,7 +27,7 @@ Each email notification for a push to a repository lists the new commits and lin - The files that were changed as part of the commit - The commit message -You can filter email notifications you receive for pushes to a repository. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#filtering-email-notifications){% else %}"[About notification emails](/github/receiving-notifications-about-activity-on-github/about-email-notifications)." You can also turn off email notifications for pushes. For more information, see "[Choosing the delivery method for your notifications](/enterprise/{{ currentVersion }}/user/github/receiving-notifications-about-activity-on-github/choosing-the-delivery-method-for-your-notifications){% endif %}." +You can filter email notifications you receive for pushes to a repository. For more information, see {% ifversion fpt or ghae or ghes %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#filtering-email-notifications){% else %}"[About notification emails](/github/receiving-notifications-about-activity-on-github/about-email-notifications)." You can also turn off email notifications for pushes. For more information, see "[Choosing the delivery method for your notifications](/enterprise/{{ currentVersion }}/user/github/receiving-notifications-about-activity-on-github/choosing-the-delivery-method-for-your-notifications){% endif %}." ## Enabling email notifications for pushes to your repository @@ -42,7 +42,7 @@ You can filter email notifications you receive for pushes to a repository. For m ![Setup notifications button](/assets/images/help/settings/setup_notifications_settings.png) ## Further reading -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} +{% ifversion fpt or ghae or ghes %} - "[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications)" {% else %} - "[About notifications](/enterprise/{{ currentVersion }}/user/github/receiving-notifications-about-activity-on-github/about-notifications)" diff --git a/content/github/administering-a-repository/managing-repository-settings/classifying-your-repository-with-topics.md b/content/github/administering-a-repository/managing-repository-settings/classifying-your-repository-with-topics.md index fb0267ca41..4a853c3859 100644 --- a/content/github/administering-a-repository/managing-repository-settings/classifying-your-repository-with-topics.md +++ b/content/github/administering-a-repository/managing-repository-settings/classifying-your-repository-with-topics.md @@ -6,31 +6,31 @@ redirect_from: - /articles/classifying-your-repository-with-topics - /github/administering-a-repository/classifying-your-repository-with-topics versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- ## About topics -With topics, you can explore repositories in a particular subject area, find projects to contribute to, and discover new solutions to a specific problem. Topics appear on the main page of a repository. You can click a topic name to {% if currentVersion == "free-pro-team@latest" %}see related topics and a list of other repositories classified with that topic{% else %}search for other repositories with that topic{% endif %}. +With topics, you can explore repositories in a particular subject area, find projects to contribute to, and discover new solutions to a specific problem. Topics appear on the main page of a repository. You can click a topic name to {% ifversion fpt %}see related topics and a list of other repositories classified with that topic{% else %}search for other repositories with that topic{% endif %}. ![Main page of the test repository showing topics](/assets/images/help/repository/os-repo-with-topics.png) To browse the most used topics, go to https://github.com/topics/. -{% if currentVersion == "free-pro-team@latest" %}You can contribute to {% data variables.product.product_name %}'s set of featured topics in the [github/explore](https://github.com/github/explore) repository. {% endif %} +{% ifversion fpt %}You can contribute to {% data variables.product.product_name %}'s set of featured topics in the [github/explore](https://github.com/github/explore) repository. {% endif %} -Repository admins can add any topics they'd like to a repository. Helpful topics to classify a repository include the repository's intended purpose, subject area, community, or language.{% if currentVersion == "free-pro-team@latest" %} Additionally, {% data variables.product.product_name %} analyzes public repository content and generates suggested topics that repository admins can accept or reject. Private repository content is not analyzed and does not receive topic suggestions.{% endif %} +Repository admins can add any topics they'd like to a repository. Helpful topics to classify a repository include the repository's intended purpose, subject area, community, or language.{% ifversion fpt %} Additionally, {% data variables.product.product_name %} analyzes public repository content and generates suggested topics that repository admins can accept or reject. Private repository content is not analyzed and does not receive topic suggestions.{% endif %} -{% if currentVersion == "github-ae@latest" %}Internal {% else %}Public, internal, {% endif %}and private repositories can have topics, although you will only see private repositories that you have access to in topic search results. +{% ifversion ghae %}Internal {% else %}Public, internal, {% endif %}and private repositories can have topics, although you will only see private repositories that you have access to in topic search results. You can search for repositories that are associated with a particular topic. For more information, see "[Searching for repositories](/articles/searching-for-repositories#search-by-topic)." You can also search for a list of topics on {% data variables.product.product_name %}. For more information, see "[Searching topics](/articles/searching-topics)." ## Adding topics to your repository -{% data reusables.repositories.navigate-to-repo %}{% if currentVersion ver_lt "enterprise-server@2.22" %} +{% data reusables.repositories.navigate-to-repo %}{% ifversion ghes < 2.22 %} 2. Under your repository description, click **Add topics**. ![Add topics link on a repository's main page](/assets/images/help/repository/add-topics-link.png) 3. Type the topic you want to add to your repository, then type a space. diff --git a/content/github/administering-a-repository/managing-repository-settings/configuring-autolinks-to-reference-external-resources.md b/content/github/administering-a-repository/managing-repository-settings/configuring-autolinks-to-reference-external-resources.md index 5744cf4126..811a3a3a1a 100644 --- a/content/github/administering-a-repository/managing-repository-settings/configuring-autolinks-to-reference-external-resources.md +++ b/content/github/administering-a-repository/managing-repository-settings/configuring-autolinks-to-reference-external-resources.md @@ -6,13 +6,13 @@ redirect_from: - /articles/configuring-autolinks-to-reference-external-resources - /github/administering-a-repository/configuring-autolinks-to-reference-external-resources versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- -Anyone with admin permissions to a repository can configure autolink references to link issues, pull requests,{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %} commit messages, and release descriptions{% else %} and commit messages{% endif %} to external third-party services. +Anyone with admin permissions to a repository can configure autolink references to link issues, pull requests,{% ifversion fpt or ghae or ghes > 2.21 %} commit messages, and release descriptions{% else %} and commit messages{% endif %} to external third-party services. If you use Zendesk to track user-reported tickets, for example, you can reference a ticket number in the pull request you open to fix the issue. diff --git a/content/github/administering-a-repository/managing-repository-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository.md b/content/github/administering-a-repository/managing-repository-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository.md index 07eb853012..f882ed6ea0 100644 --- a/content/github/administering-a-repository/managing-repository-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-repository.md @@ -2,9 +2,9 @@ title: Configuring the retention period for GitHub Actions artifacts and logs in your repository intro: 'You can configure the retention period for {% data variables.product.prodname_actions %} artifacts and logs in your repository.' versions: - free-pro-team: '*' - enterprise-server: '>=2.23' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Repositories redirect_from: diff --git a/content/github/administering-a-repository/managing-repository-settings/customizing-how-changed-files-appear-on-github.md b/content/github/administering-a-repository/managing-repository-settings/customizing-how-changed-files-appear-on-github.md index 47ca92844e..d46b19eebe 100644 --- a/content/github/administering-a-repository/managing-repository-settings/customizing-how-changed-files-appear-on-github.md +++ b/content/github/administering-a-repository/managing-repository-settings/customizing-how-changed-files-appear-on-github.md @@ -5,9 +5,9 @@ redirect_from: - /articles/customizing-how-changed-files-appear-on-github - /github/administering-a-repository/customizing-how-changed-files-appear-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/managing-repository-settings/customizing-your-repositorys-social-media-preview.md b/content/github/administering-a-repository/managing-repository-settings/customizing-your-repositorys-social-media-preview.md index e3fec94480..a8dffdfc2e 100644 --- a/content/github/administering-a-repository/managing-repository-settings/customizing-your-repositorys-social-media-preview.md +++ b/content/github/administering-a-repository/managing-repository-settings/customizing-your-repositorys-social-media-preview.md @@ -5,15 +5,15 @@ redirect_from: - /articles/customizing-your-repositorys-social-media-preview - /github/administering-a-repository/customizing-your-repositorys-social-media-preview versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- Until you add an image, repository links expand to show basic information about the repository and the owner's avatar. Adding an image to your repository can help identify your project across various social platforms. -{% if currentVersion != "github-ae@latest" %}You can upload an image to a private repository, but your image can only be shared from a public repository.{% endif %} +{% ifversion not ghae %}You can upload an image to a private repository, but your image can only be shared from a public repository.{% endif %} {% tip %} Tip: Your image should be a PNG, JPG, or GIF file under 1 MB in size. For the best quality rendering, we recommend keeping the image at 640 by 320 pixels. diff --git a/content/github/administering-a-repository/managing-repository-settings/deleting-a-repository.md b/content/github/administering-a-repository/managing-repository-settings/deleting-a-repository.md index 5ef9fb66ad..a05a574a4b 100644 --- a/content/github/administering-a-repository/managing-repository-settings/deleting-a-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/deleting-a-repository.md @@ -7,26 +7,26 @@ redirect_from: - /articles/deleting-a-repository - /github/administering-a-repository/deleting-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- {% data reusables.organizations.owners-and-admins-can %} delete an organization repository. If **Allow members to delete or transfer repositories for this organization** has been disabled, only organization owners can delete organization repositories. {% data reusables.organizations.new-repo-permissions-more-info %} -{% if currentVersion != "github-ae@latest" %}Deleting a public repository will not delete any forks of the repository.{% endif %} +{% ifversion not ghae %}Deleting a public repository will not delete any forks of the repository.{% endif %} {% warning %} **Warnings**: - Deleting a repository will **permanently** delete release attachments and team permissions. This action **cannot** be undone. -- Deleting a private {% if currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}or internal {% endif %}repository will delete all forks of the repository. +- Deleting a private {% ifversion ghes or fpt or ghae %}or internal {% endif %}repository will delete all forks of the repository. {% endwarning %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can restore some deleted repositories within 90 days. For more information, see "[Restoring a deleted repository](/articles/restoring-a-deleted-repository)." {% endif %} diff --git a/content/github/administering-a-repository/managing-repository-settings/disabling-issues.md b/content/github/administering-a-repository/managing-repository-settings/disabling-issues.md index 3ab622375a..da7deb38d0 100644 --- a/content/github/administering-a-repository/managing-repository-settings/disabling-issues.md +++ b/content/github/administering-a-repository/managing-repository-settings/disabling-issues.md @@ -6,9 +6,9 @@ redirect_from: - /articles/disabling-issues - /github/managing-your-work-on-github/disabling-issues versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -19,7 +19,7 @@ topics: If you decide to enable issues again in the future, any issues that were previously added will be available. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% tip %} diff --git a/content/github/administering-a-repository/managing-repository-settings/disabling-or-limiting-github-actions-for-a-repository.md b/content/github/administering-a-repository/managing-repository-settings/disabling-or-limiting-github-actions-for-a-repository.md index 0ebbaf16d1..9f8ca79ee5 100644 --- a/content/github/administering-a-repository/managing-repository-settings/disabling-or-limiting-github-actions-for-a-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/disabling-or-limiting-github-actions-for-a-repository.md @@ -2,9 +2,9 @@ title: Disabling or limiting GitHub Actions for a repository intro: 'Repository owners can disable, enable, and limit {% data variables.product.prodname_actions %} for a specific repository.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' topics: - Repositories redirect_from: @@ -21,13 +21,13 @@ You can enable {% data variables.product.prodname_actions %} for your repository Alternatively, you can enable {% data variables.product.prodname_actions %} in your repository but limit the actions a workflow can run. {% data reusables.github-actions.enabled-local-github-actions %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %} +{% ifversion ghes < 3.0 %} ## Managing {% data variables.product.prodname_actions %} permissions for your repository {% note %} -**Note:** You might not be able to manage these settings if your organization has an overriding policy or is managed by an enterprise that has overriding policy. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)" or {% if currentVersion == "free-pro-team@latest" %}"[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)."{% elsif currentVersion ver_gt "enterprise-server@2.21"%}"[Enforcing {% data variables.product.prodname_actions %} policies for your enterprise](/enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)."{% endif %} +**Note:** You might not be able to manage these settings if your organization has an overriding policy or is managed by an enterprise that has overriding policy. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)" or {% ifversion fpt %}"[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)."{% elsif ghes > 2.21 %}"[Enforcing {% data variables.product.prodname_actions %} policies for your enterprise](/enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)."{% endif %} {% endnote %} @@ -39,7 +39,7 @@ Alternatively, you can enable {% data variables.product.prodname_actions %} in y {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Managing {% data variables.product.prodname_actions %} permissions for your repository @@ -49,7 +49,7 @@ You can disable all workflows for a repository or set a policy that configures w {% note %} -**Note:** You might not be able to manage these settings if your organization has an overriding policy or is managed by an enterprise that has overriding policy. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)" or {% if currentVersion == "free-pro-team@latest" %}"[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)."{% elsif currentVersion ver_gt "enterprise-server@2.21" %}"[Enforcing {% data variables.product.prodname_actions %} policies for your enterprise](/enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)." +**Note:** You might not be able to manage these settings if your organization has an overriding policy or is managed by an enterprise that has overriding policy. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization)" or {% ifversion fpt %}"[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)."{% elsif ghes > 2.21 %}"[Enforcing {% data variables.product.prodname_actions %} policies for your enterprise](/enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)." {% endif %} @@ -74,7 +74,7 @@ You can disable all workflows for a repository or set a policy that configures w 2. Click **Save**. {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Enabling workflows for private repository forks {% data reusables.github-actions.private-repository-forks-overview %} @@ -87,7 +87,7 @@ You can disable all workflows for a repository or set a policy that configures w {% data reusables.github-actions.private-repository-forks-configure %} {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## Setting the permissions of the `GITHUB_TOKEN` for your repository {% data reusables.github-actions.workflow-permissions-intro %} diff --git a/content/github/administering-a-repository/managing-repository-settings/disabling-project-boards-in-a-repository.md b/content/github/administering-a-repository/managing-repository-settings/disabling-project-boards-in-a-repository.md index 605bb121ec..801604bb26 100644 --- a/content/github/administering-a-repository/managing-repository-settings/disabling-project-boards-in-a-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/disabling-project-boards-in-a-repository.md @@ -6,9 +6,9 @@ redirect_from: - /articles/disabling-project-boards-in-a-repository - /github/managing-your-work-on-github/disabling-project-boards-in-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/administering-a-repository/managing-repository-settings/displaying-a-sponsor-button-in-your-repository.md b/content/github/administering-a-repository/managing-repository-settings/displaying-a-sponsor-button-in-your-repository.md index 3b28a97506..27b240a53e 100644 --- a/content/github/administering-a-repository/managing-repository-settings/displaying-a-sponsor-button-in-your-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/displaying-a-sponsor-button-in-your-repository.md @@ -6,7 +6,7 @@ redirect_from: - /articles/displaying-a-sponsor-button-in-your-repository - /github/administering-a-repository/displaying-a-sponsor-button-in-your-repository versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository.md b/content/github/administering-a-repository/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository.md index e4dc8e32ad..f74743502a 100644 --- a/content/github/administering-a-repository/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/enabling-anonymous-git-read-access-for-a-repository.md @@ -5,7 +5,7 @@ redirect_from: - /articles/enabling-anonymous-git-read-access-for-a-repository - /github/administering-a-repository/enabling-anonymous-git-read-access-for-a-repository versions: - enterprise-server: '*' + ghes: '*' --- Repository administrators can change the anonymous Git read access setting for a specific repository if: - A site administrator has enabled private mode and anonymous Git read access. diff --git a/content/github/administering-a-repository/managing-repository-settings/enabling-or-disabling-github-discussions-for-a-repository.md b/content/github/administering-a-repository/managing-repository-settings/enabling-or-disabling-github-discussions-for-a-repository.md index 4cc8f23d62..447dcf3db5 100644 --- a/content/github/administering-a-repository/managing-repository-settings/enabling-or-disabling-github-discussions-for-a-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/enabling-or-disabling-github-discussions-for-a-repository.md @@ -4,7 +4,7 @@ intro: 'You can use discussions in a repository as a place for your community to product: '{% data reusables.gated-features.discussions %}' permissions: People with admin permissions to a repository can enable discussions for the repository. versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories redirect_from: diff --git a/content/github/administering-a-repository/managing-repository-settings/index.md b/content/github/administering-a-repository/managing-repository-settings/index.md index a97aa51ab2..44fcef72bc 100644 --- a/content/github/administering-a-repository/managing-repository-settings/index.md +++ b/content/github/administering-a-repository/managing-repository-settings/index.md @@ -4,9 +4,9 @@ intro: 'Repository administrators and organization owners can change settings fo redirect_from: - /articles/managing-repository-settings versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/administering-a-repository/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md b/content/github/administering-a-repository/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md index 8ab105b3bb..67cd62863f 100644 --- a/content/github/administering-a-repository/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md @@ -4,9 +4,9 @@ shortTitle: 'Managing {% data variables.large_files.product_name_short %} object intro: 'You can choose whether {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) objects are included in source code archives, such as ZIP files and tarballs, {% data variables.product.product_name %} creates for your repository.' permissions: 'People with admin permissions for a repository can manage whether {% data variables.large_files.product_name_short %} objects are included in archives of the repository.' versions: - free-pro-team: '*' - enterprise-server: '>3.0' - github-ae: '*' + fpt: '*' + ghes: '>3.0' + ghae: '*' topics: - Repositories redirect_from: @@ -16,7 +16,7 @@ redirect_from: {% data variables.product.product_name %} creates source code archives of your repository in the form of ZIP files and tarballs. People can download these archives on the main page of your repository or as release assets. By default, {% data variables.large_files.product_name_short %} objects are not included in these archives, only the pointer files to these objects. To improve the usability of archives for your repository, you can choose to include the {% data variables.large_files.product_name_short %} objects instead. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you choose to include {% data variables.large_files.product_name_short %} objects in archives of your repository, every download of those archives will count towards bandwidth usage for your account. Each account receives {% data variables.large_files.initial_bandwidth_quota %} per month of bandwidth for free, and you can pay for additional usage. For more information, see "[About storage and bandwidth usage](/github/managing-large-files/about-storage-and-bandwidth-usage)" and "[Managing billing for {% data variables.large_files.product_name_long %}](/billing/managing-billing-for-git-large-file-storage)." {% endif %} diff --git a/content/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository.md b/content/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository.md index 82ed8121ad..3ad19d84b7 100644 --- a/content/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository.md @@ -9,9 +9,9 @@ redirect_from: - /github/managing-security-vulnerabilities/managing-alerts-for-vulnerable-dependencies-in-your-organization - /github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' type: how_to topics: - Dependabot @@ -21,7 +21,7 @@ topics: - Secret scanning - Repositories --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Enabling or disabling security and analysis features for public repositories You can manage a subset of security and analysis features for public repositories. Other features are permanently enabled, including dependency graph and secret scanning. @@ -33,36 +33,36 @@ You can manage a subset of security and analysis features for public repositorie !["Enable" or "Disable" button for "Configure security and analysis" features in a public repository](/assets/images/help/repository/security-and-analysis-disable-or-enable-dotcom-public.png) {% endif %} -## Enabling or disabling security and analysis features{% if currentVersion == "free-pro-team@latest" %} for private repositories{% endif %} +## Enabling or disabling security and analysis features{% ifversion fpt %} for private repositories{% endif %} -You can manage the security and analysis features for your {% if currentVersion == "free-pro-team@latest" %}private or internal {% endif %}repository.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} If your organization belongs to an enterprise with a license for {% data variables.product.prodname_GH_advanced_security %} then extra options are available. {% data reusables.advanced-security.more-info-ghas %}{% endif %} +You can manage the security and analysis features for your {% ifversion fpt %}private or internal {% endif %}repository.{% ifversion fpt or ghes > 2.22 %} If your organization belongs to an enterprise with a license for {% data variables.product.prodname_GH_advanced_security %} then extra options are available. {% data reusables.advanced-security.more-info-ghas %}{% endif %} {% data reusables.security.security-and-analysis-features-enable-read-only %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-security-and-analysis %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} -4. Under "Configure security and analysis features", to the right of the feature, click **Disable** or **Enable**. The control for "{% data variables.product.prodname_GH_advanced_security %}" is disabled if your enterprise has no available licenses for {% data variables.product.prodname_advanced_security %}.{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt or ghes > 3.0 %} +4. Under "Configure security and analysis features", to the right of the feature, click **Disable** or **Enable**. The control for "{% data variables.product.prodname_GH_advanced_security %}" is disabled if your enterprise has no available licenses for {% data variables.product.prodname_advanced_security %}.{% ifversion fpt %} !["Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/help/repository/security-and-analysis-disable-or-enable-dotcom-private.png){% else %} !["Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/enterprise/3.1/help/repository/security-and-analysis-disable-or-enable-ghes.png){% endif %} {% note %} - **Note:** If you disable {% data variables.product.prodname_GH_advanced_security %}, {% if currentVersion == "free-pro-team@latest" %}dependency review, {% endif %}{% data variables.product.prodname_secret_scanning %} and {% data variables.product.prodname_code_scanning %} are disabled. Any workflows, SARIF uploads, or API calls for {% data variables.product.prodname_code_scanning %} will fail. + **Note:** If you disable {% data variables.product.prodname_GH_advanced_security %}, {% ifversion fpt %}dependency review, {% endif %}{% data variables.product.prodname_secret_scanning %} and {% data variables.product.prodname_code_scanning %} are disabled. Any workflows, SARIF uploads, or API calls for {% data variables.product.prodname_code_scanning %} will fail. {% endnote %} {% endif %} - {% if currentVersion == "enterprise-server@3.0" %} + {% ifversion ghes = 3.0 %} 4. Under "Configure security and analysis features", to the right of the feature, click **Disable** or **Enable**. !["Enable" or "Disable" button for "Configure security and analysis" features](/assets/images/help/repository/security-and-analysis-disable-or-enable-ghe.png) {% endif %} - {% if currentVersion == "github-ae@latest" %} + {% ifversion ghae %} 4. Under "Configure security and analysis features", to the right of the feature, click **Disable** or **Enable**. Before you can enable "{% data variables.product.prodname_secret_scanning %}" for your repository, you may need to enable {% data variables.product.prodname_GH_advanced_security %}. ![Enable or disable {% data variables.product.prodname_GH_advanced_security %} or {% data variables.product.prodname_secret_scanning %} for your repository](/assets/images/enterprise/github-ae/repository/enable-ghas-secret-scanning-ghae.png) {% endif %} ## Granting access to security alerts -After you enable {% if currentVersion != "github-ae@latest" %}{% data variables.product.prodname_dependabot %} or {% endif %}{% data variables.product.prodname_secret_scanning %} alerts for a repository in an organization, organization owners and repository administrators can view the alerts by default. You can give additional teams and people access to the alerts for a repository. +After you enable {% ifversion not ghae %}{% data variables.product.prodname_dependabot %} or {% endif %}{% data variables.product.prodname_secret_scanning %} alerts for a repository in an organization, organization owners and repository administrators can view the alerts by default. You can give additional teams and people access to the alerts for a repository. {% note %} @@ -74,21 +74,21 @@ Organization owners and repository administrators can only grant access to view {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-security-and-analysis %} 4. Under "Access to alerts", in the search field, start typing the name of the person or team you'd like to find, then click a name in the list of matches. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} ![Search field for granting people or teams access to security alerts](/assets/images/help/repository/security-and-analysis-security-alerts-person-or-team-search.png) {% endif %} - {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} ![Search field for granting people or teams access to security alerts](/assets/images/help/repository/security-and-analysis-security-alerts-person-or-team-search-ghe.png) {% endif %} - {% if currentVersion == "github-ae@latest" %} + {% ifversion ghae %} ![Search field for granting people or teams access to security alerts](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-person-or-team-search-ghae.png) {% endif %} 5. Click **Save changes**. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion fpt or ghes > 2.22 %} !["Save changes" button for changes to security alert settings](/assets/images/help/repository/security-and-analysis-security-alerts-save-changes.png) {% endif %} - {% if currentVersion == "github-ae@latest" %} + {% ifversion ghae %} !["Save changes" button for changes to security alert settings](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-save-changes-ghae.png) {% endif %} @@ -98,13 +98,13 @@ Organization owners and repository administrators can only grant access to view {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-security-and-analysis %} 4. Under "Access to alerts", to the right of the person or team whose access you'd like to remove, click {% octicon "x" aria-label="X symbol" %}. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} !["x" button to remove someone's access to security alerts for your repository](/assets/images/help/repository/security-and-analysis-security-alerts-username-x.png) {% endif %} - {% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} !["x" button to remove someone's access to security alerts for your repository](/assets/images/help/repository/security-and-analysis-security-alerts-username-x-ghe.png) {% endif %} - {% if currentVersion == "github-ae@latest" %} + {% ifversion ghae %} !["x" button to remove someone's access to security alerts for your repository](/assets/images/enterprise/github-ae/repository/security-and-analysis-security-alerts-username-x-ghae.png) {% endif %} diff --git a/content/github/administering-a-repository/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md b/content/github/administering-a-repository/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md index 7a4249e068..cbca0c7851 100644 --- a/content/github/administering-a-repository/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository.md @@ -6,7 +6,7 @@ redirect_from: - /github/administering-a-repository/managing-people-and-teams-with-access-to-your-repository - /github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/managing-repository-settings/managing-the-forking-policy-for-your-repository.md b/content/github/administering-a-repository/managing-repository-settings/managing-the-forking-policy-for-your-repository.md index 83302e8831..66b7b678b4 100644 --- a/content/github/administering-a-repository/managing-repository-settings/managing-the-forking-policy-for-your-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/managing-the-forking-policy-for-your-repository.md @@ -1,19 +1,19 @@ --- title: Managing the forking policy for your repository -intro: 'You can allow or prevent the forking of a specific private{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} or internal{% endif %} repository owned by an organization.' +intro: 'You can allow or prevent the forking of a specific private{% ifversion fpt or ghae or ghes %} or internal{% endif %} repository owned by an organization.' redirect_from: - /articles/allowing-people-to-fork-a-private-repository-owned-by-your-organization - /github/administering-a-repository/allowing-people-to-fork-a-private-repository-owned-by-your-organization - /github/administering-a-repository/managing-the-forking-policy-for-your-repository permissions: People with admin permissions for a repository can manage the forking policy for the repository. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- -An organization owner must allow forks of private{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} and internal{% endif %} repositories on the organization level before you can allow or disallow forks for a specific repository. For more information, see "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization)." +An organization owner must allow forks of private{% ifversion fpt or ghae or ghes %} and internal{% endif %} repositories on the organization level before you can allow or disallow forks for a specific repository. For more information, see "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization)." {% data reusables.organizations.internal-repos-enterprise %} diff --git a/content/github/administering-a-repository/managing-repository-settings/renaming-a-repository.md b/content/github/administering-a-repository/managing-repository-settings/renaming-a-repository.md index 5e284afb08..f56a1d5810 100644 --- a/content/github/administering-a-repository/managing-repository-settings/renaming-a-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/renaming-a-repository.md @@ -5,9 +5,9 @@ redirect_from: - /articles/renaming-a-repository - /github/administering-a-repository/renaming-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -28,7 +28,7 @@ $ git remote set-url origin new_url For more information, see "[Managing remote repositories](/github/getting-started-with-github/managing-remote-repositories)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you plan to rename a repository that has a {% data variables.product.prodname_pages %} site, we recommend using a custom domain for your site. This ensures that the site's URL isn't impacted by renaming the repository. For more information, see "[About custom domains and {% data variables.product.prodname_pages %} site](/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages)." diff --git a/content/github/administering-a-repository/managing-repository-settings/restoring-a-deleted-repository.md b/content/github/administering-a-repository/managing-repository-settings/restoring-a-deleted-repository.md index a8fef552e8..4f318fb7ed 100644 --- a/content/github/administering-a-repository/managing-repository-settings/restoring-a-deleted-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/restoring-a-deleted-repository.md @@ -5,7 +5,7 @@ redirect_from: - /articles/restoring-a-deleted-repository - /github/administering-a-repository/restoring-a-deleted-repository versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/managing-repository-settings/setting-repository-visibility.md b/content/github/administering-a-repository/managing-repository-settings/setting-repository-visibility.md index a9b7ce59db..51ec4e29f7 100644 --- a/content/github/administering-a-repository/managing-repository-settings/setting-repository-visibility.md +++ b/content/github/administering-a-repository/managing-repository-settings/setting-repository-visibility.md @@ -8,9 +8,9 @@ redirect_from: - /articles/setting-repository-visibility - /github/administering-a-repository/setting-repository-visibility versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -20,7 +20,7 @@ Organization owners can restrict the ability to change repository visibility to We recommend reviewing the following caveats before you change the visibility of a repository. -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} {% warning %} @@ -28,23 +28,23 @@ We recommend reviewing the following caveats before you change the visibility of - Wait for a period of reduced activity on {% data variables.product.product_location %}. -- Contact your {% if enterpriseServerVersions contains currentVersion %}site administrator{% elsif currentVersion == "github-ae@latest" %}enterprise owner{% endif %} before proceeding. Your {% if enterpriseServerVersions contains currentVersion %}site administrator{% elsif currentVersion == "github-ae@latest" %}enterprise owner{% endif %} can contact {% data variables.contact.contact_ent_support %} for further guidance. +- Contact your {% ifversion ghes %}site administrator{% elsif ghae %}enterprise owner{% endif %} before proceeding. Your {% ifversion ghes %}site administrator{% elsif ghae %}enterprise owner{% endif %} can contact {% data variables.contact.contact_ent_support %} for further guidance. {% endwarning %} {% endif %} ### Making a repository private -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} * {% data variables.product.product_name %} will detach public forks of the public repository and put them into a new network. Public forks are not made private.{% endif %} -* If you change a repository's visibility from internal to private, {% data variables.product.prodname_dotcom %} will remove forks that belong to any user without access to the newly private repository. {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}The visibility of any forks will also change to private.{% elsif currentVersion == "github-ae@latest" %}If the internal repository has any forks, the visibility of the forks is already private.{% endif %} For more information, see "[What happens to forks when a repository is deleted or changes visibility?](/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility)"{% if currentVersion == "free-pro-team@latest" %} +* If you change a repository's visibility from internal to private, {% data variables.product.prodname_dotcom %} will remove forks that belong to any user without access to the newly private repository. {% ifversion fpt or ghes %}The visibility of any forks will also change to private.{% elsif ghae %}If the internal repository has any forks, the visibility of the forks is already private.{% endif %} For more information, see "[What happens to forks when a repository is deleted or changes visibility?](/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility)"{% ifversion fpt %} * If you're using {% data variables.product.prodname_free_user %} for user accounts or organizations, some features won't be available in the repository after you change the visibility to private. {% data reusables.gated-features.more-info %}{% endif %} -* Any published {% data variables.product.prodname_pages %} site will be automatically unpublished.{% if currentVersion == "free-pro-team@latest" %} If you added a custom domain to the {% data variables.product.prodname_pages %} site, you should remove or update your DNS records before making the repository private, to avoid the risk of a domain takeover. For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %}{% if currentVersion == "free-pro-team@latest" %} -* {% data variables.product.prodname_dotcom %} will no longer include the repository in the {% data variables.product.prodname_archive %}. For more information, see "[About archiving content and data on {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github#about-the-github-archive-program)."{% endif %}{% if currentVersion == "free-pro-team@latest" %} -* {% data variables.product.prodname_GH_advanced_security %} features, such as {% data variables.product.prodname_code_scanning %}, will stop working unless the repository is owned by an organization that is part of an enterprise with a license for {% data variables.product.prodname_advanced_security %} and sufficient spare seats. {% data reusables.advanced-security.more-info-ghas %}{% endif %}{% if enterpriseServerVersions contains currentVersion %} +* Any published {% data variables.product.prodname_pages %} site will be automatically unpublished.{% ifversion fpt %} If you added a custom domain to the {% data variables.product.prodname_pages %} site, you should remove or update your DNS records before making the repository private, to avoid the risk of a domain takeover. For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %}{% ifversion fpt %} +* {% data variables.product.prodname_dotcom %} will no longer include the repository in the {% data variables.product.prodname_archive %}. For more information, see "[About archiving content and data on {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github#about-the-github-archive-program)."{% endif %}{% ifversion fpt %} +* {% data variables.product.prodname_GH_advanced_security %} features, such as {% data variables.product.prodname_code_scanning %}, will stop working unless the repository is owned by an organization that is part of an enterprise with a license for {% data variables.product.prodname_advanced_security %} and sufficient spare seats. {% data reusables.advanced-security.more-info-ghas %}{% endif %}{% ifversion ghes %} * Anonymous Git read access is no longer available. For more information, see "[Enabling anonymous Git read access for a repository](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository)."{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} ### Making a repository internal @@ -58,11 +58,11 @@ We recommend reviewing the following caveats before you change the visibility of {% endif %} -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ### Making a repository public -* {% data variables.product.product_name %} will detach private forks and turn them into a standalone private repository. For more information, see "[What happens to forks when a repository is deleted or changes visibility?](/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility#changing-a-private-repository-to-a-public-repository)"{% if currentVersion == "free-pro-team@latest" %} +* {% data variables.product.product_name %} will detach private forks and turn them into a standalone private repository. For more information, see "[What happens to forks when a repository is deleted or changes visibility?](/articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility#changing-a-private-repository-to-a-public-repository)"{% ifversion fpt %} * If you're converting your private repository to a public repository as part of a move toward creating an open source project, see the [Open Source Guides](http://opensource.guide) for helpful tips and guidelines. You can also take a free course on managing an open source project with [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}). Once your repository is public, you can also view your repository's community profile to see whether your project meets best practices for supporting contributors. For more information, see "[Viewing your community profile](/articles/viewing-your-community-profile)." * The repository will automatically gain access to {% data variables.product.prodname_GH_advanced_security %} features. @@ -70,7 +70,7 @@ For information about improving repository security, see "[Securing your reposit {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghae or ghes > 2.21 %} ## Changing a repository's visibility @@ -79,17 +79,17 @@ For information about improving repository security, see "[Securing your reposit 3. Under "Danger Zone", to the right of to "Change repository visibility", click **Change visibility**. ![Change visibility button](/assets/images/help/repository/repo-change-vis.png) 4. Select a visibility. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ![Dialog of options for repository visibility](/assets/images/help/repository/repo-change-select.png){% else %} ![Dialog of options for repository visibility](/assets/images/enterprise/repos/repo-change-select.png){% endif %} 5. To verify that you're changing the correct repository's visibility, type the name of the repository you want to change the visibility of. 6. Click **I understand, change repository visibility**. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ![Confirm change of repository visibility button](/assets/images/help/repository/repo-change-confirm.png){% else %} ![Confirm change of repository visibility button](/assets/images/enterprise/repos/repo-change-confirm.png){% endif %} {% endif %} -{% if currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} ## Making a repository private @@ -113,7 +113,7 @@ For information about improving repository security, see "[Securing your reposit 5. Type the name of the repository that you want to make public, for example `accountname/reponame`. 6. Click **I understand, make this repository public**. -{% if currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion ghes %} ## Making a repository internal {% data reusables.organizations.internal-repos-enterprise %} diff --git a/content/github/administering-a-repository/managing-repository-settings/transferring-a-repository.md b/content/github/administering-a-repository/managing-repository-settings/transferring-a-repository.md index 00b0e9913e..c9efc59a12 100644 --- a/content/github/administering-a-repository/managing-repository-settings/transferring-a-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/transferring-a-repository.md @@ -14,9 +14,9 @@ redirect_from: - /articles/transferring-a-repository - /github/administering-a-repository/transferring-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -24,14 +24,14 @@ topics: When you transfer a repository to a new owner, they can immediately administer the repository's contents, issues, pull requests, releases, project boards, and settings. -Prerequisites for repository transfers: {% if currentVersion == "free-pro-team@latest" %} +Prerequisites for repository transfers: {% ifversion fpt %} - When you transfer a repository that you own to another user account, the new owner will receive a confirmation email. The confirmation email includes instructions for accepting the transfer. If the new owner doesn't accept the transfer within one day, the invitation will expire.{% endif %} - To transfer a repository that you own to an organization, you must have permission to create a repository in the target organization. - The target account must not have a repository with the same name, or a fork in the same network. - The original owner of the repository is added as a collaborator on the transferred repository. Other collaborators to the transferred repository remain intact. - Private forks can't be transferred. -{% if currentVersion == "free-pro-team@latest" %}If you transfer a private repository to a {% data variables.product.prodname_free_user %} user or organization account, the repository will lose access to features like protected branches and {% data variables.product.prodname_pages %}. {% data reusables.gated-features.more-info %}{% endif %} +{% ifversion fpt %}If you transfer a private repository to a {% data variables.product.prodname_free_user %} user or organization account, the repository will lose access to features like protected branches and {% data variables.product.prodname_pages %}. {% data reusables.gated-features.more-info %}{% endif %} ### What's transferred with a repository? @@ -39,7 +39,7 @@ When you transfer a repository, its issues, pull requests, wiki, stars, and watc - If the transferred repository is a fork, then it remains associated with the upstream repository. - If the transferred repository has any forks, then those forks will remain associated with the repository after the transfer is complete. -- If the transferred repository uses {% data variables.large_files.product_name_long %}, all {% data variables.large_files.product_name_short %} objects are automatically moved. This transfer occurs in the background, so if you have a large number of {% data variables.large_files.product_name_short %} objects or if the {% data variables.large_files.product_name_short %} objects themselves are large, it may take some time for the transfer to occur.{% if currentVersion == "free-pro-team@latest" %} Before you transfer a repository that uses {% data variables.large_files.product_name_short %}, make sure the receiving account has enough data packs to store the {% data variables.large_files.product_name_short %} objects you'll be moving over. For more information on adding storage for user accounts, see "[Upgrading {% data variables.large_files.product_name_long %}](/articles/upgrading-git-large-file-storage)."{% endif %} +- If the transferred repository uses {% data variables.large_files.product_name_long %}, all {% data variables.large_files.product_name_short %} objects are automatically moved. This transfer occurs in the background, so if you have a large number of {% data variables.large_files.product_name_short %} objects or if the {% data variables.large_files.product_name_short %} objects themselves are large, it may take some time for the transfer to occur.{% ifversion fpt %} Before you transfer a repository that uses {% data variables.large_files.product_name_short %}, make sure the receiving account has enough data packs to store the {% data variables.large_files.product_name_short %} objects you'll be moving over. For more information on adding storage for user accounts, see "[Upgrading {% data variables.large_files.product_name_long %}](/articles/upgrading-git-large-file-storage)."{% endif %} - When a repository is transferred between two user accounts, issue assignments are left intact. When you transfer a repository from a user account to an organization, issues assigned to members in the organization remain intact, and all other issue assignees are cleared. Only owners in the organization are allowed to create new issue assignments. When you transfer a repository from an organization to a user account, only issues assigned to the repository's owner are kept, and all other issue assignees are removed. - If the transferred repository contains a {% data variables.product.prodname_pages %} site, then links to the Git repository on the Web and through Git activity are redirected. However, we don't redirect {% data variables.product.prodname_pages %} associated with the repository. - All links to the previous repository location are automatically redirected to the new location. When you use `git clone`, `git fetch`, or `git push` on a transferred repository, these commands will redirect to the new repository location or URL. However, to avoid confusion, we strongly recommend updating any existing local clones to point to the new repository URL. You can do this by using `git remote` on the command line: @@ -60,7 +60,7 @@ Once a repository is transferred to an organization, the organization's default You can transfer your repository to any user account that accepts your repository transfer. When a repository is transferred between two user accounts, the original repository owner and collaborators are automatically added as collaborators to the new repository. -{% if currentVersion == "free-pro-team@latest" %}If you published a {% data variables.product.prodname_pages %} site in a private repository and added a custom domain, before transferring the repository, you may want to remove or update your DNS records to avoid the risk of a domain takeover. For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %} +{% ifversion fpt %}If you published a {% data variables.product.prodname_pages %} site in a private repository and added a custom domain, before transferring the repository, you may want to remove or update your DNS records to avoid the risk of a domain takeover. For more information, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} diff --git a/content/github/administering-a-repository/managing-repository-settings/viewing-deployment-activity-for-your-repository.md b/content/github/administering-a-repository/managing-repository-settings/viewing-deployment-activity-for-your-repository.md index 9d90ba2501..04d970c545 100644 --- a/content/github/administering-a-repository/managing-repository-settings/viewing-deployment-activity-for-your-repository.md +++ b/content/github/administering-a-repository/managing-repository-settings/viewing-deployment-activity-for-your-repository.md @@ -5,9 +5,9 @@ redirect_from: - /articles/viewing-deployment-activity-for-your-repository - /github/administering-a-repository/viewing-deployment-activity-for-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -24,7 +24,7 @@ You can also see deployment information on the "Conversation" tab of a pull requ ## Viewing the deployments dashboard {% data reusables.repositories.navigate-to-repo %} -2. {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %}To the right of the list of files, click **Environments**. +2. {% ifversion fpt or ghae or ghes > 2.21 %}To the right of the list of files, click **Environments**. ![Environments on the right of the repository page](/assets/images/help/repository/environments.png){% else %}Above the list of files, click **Environments**. ![Environments on top of repository page](/assets/images/help/repository/environments-top.png){% endif %} diff --git a/content/github/administering-a-repository/releasing-projects-on-github/about-releases.md b/content/github/administering-a-repository/releasing-projects-on-github/about-releases.md index 2b57987471..fce501eabe 100644 --- a/content/github/administering-a-repository/releasing-projects-on-github/about-releases.md +++ b/content/github/administering-a-repository/releasing-projects-on-github/about-releases.md @@ -9,9 +9,9 @@ redirect_from: - /github/administering-a-repository/getting-the-download-count-for-your-releases - /github/administering-a-repository/about-releases versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -23,15 +23,15 @@ Releases are deployable software iterations you can package and make available f Releases are based on [Git tags](https://git-scm.com/book/en/Git-Basics-Tagging), which mark a specific point in your repository's history. A tag date may be different than a release date since they can be created at different times. For more information about viewing your existing tags, see "[Viewing your repository's releases and tags](/github/administering-a-repository/viewing-your-repositorys-releases-and-tags)." -You can receive notifications when new releases are published in a repository without receiving notifications about other updates to the repository. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}"[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions){% else %}"[Watching and unwatching releases for a repository](/github/receiving-notifications-about-activity-on-github/watching-and-unwatching-releases-for-a-repository){% endif %}." +You can receive notifications when new releases are published in a repository without receiving notifications about other updates to the repository. For more information, see {% ifversion fpt or ghae or ghes %}"[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions){% else %}"[Watching and unwatching releases for a repository](/github/receiving-notifications-about-activity-on-github/watching-and-unwatching-releases-for-a-repository){% endif %}." Anyone with read access to a repository can view and compare releases, but only people with write permissions to a repository can manage releases. For more information, see "[Managing releases in a repository](/github/administering-a-repository/managing-releases-in-a-repository)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} People with admin permissions to a repository can choose whether {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) objects are included in the ZIP files and tarballs that {% data variables.product.product_name %} creates for each release. For more information, see "[Managing {% data variables.large_files.product_name_short %} objects in archives of your repository](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If a release fixes a security vulnerability, you should publish a security advisory in your repository. {% data variables.product.prodname_dotcom %} reviews each published security advisory and may use it to send {% data variables.product.prodname_dependabot_alerts %} to affected repositories. For more information, see "[About GitHub Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." You can view the **Dependents** tab of the dependency graph to see which repositories and packages depend on code in your repository, and may therefore be affected by a new release. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." @@ -39,7 +39,7 @@ You can view the **Dependents** tab of the dependency graph to see which reposit You can also use the Releases API to gather information, such as the number of times people download a release asset. For more information, see "[Releases](/rest/reference/repos#releases)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Storage and bandwidth quotas Each file included in a release must be under {% data variables.large_files.max_file_size %}. There is no limit on the total size of a release, nor bandwidth usage. diff --git a/content/github/administering-a-repository/releasing-projects-on-github/automation-for-release-forms-with-query-parameters.md b/content/github/administering-a-repository/releasing-projects-on-github/automation-for-release-forms-with-query-parameters.md index 1128b93d97..db796650d4 100644 --- a/content/github/administering-a-repository/releasing-projects-on-github/automation-for-release-forms-with-query-parameters.md +++ b/content/github/administering-a-repository/releasing-projects-on-github/automation-for-release-forms-with-query-parameters.md @@ -5,9 +5,9 @@ redirect_from: - /articles/automation-for-release-forms-with-query-parameters - /github/administering-a-repository/automation-for-release-forms-with-query-parameters versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/releasing-projects-on-github/comparing-releases.md b/content/github/administering-a-repository/releasing-projects-on-github/comparing-releases.md index 801830ee1e..dcf989a79d 100644 --- a/content/github/administering-a-repository/releasing-projects-on-github/comparing-releases.md +++ b/content/github/administering-a-repository/releasing-projects-on-github/comparing-releases.md @@ -3,9 +3,9 @@ title: Comparing releases intro: You can compare release tags to see changes to your repository between different releases. permissions: People with read access to a repository can view and compare releases. versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories redirect_from: diff --git a/content/github/administering-a-repository/releasing-projects-on-github/index.md b/content/github/administering-a-repository/releasing-projects-on-github/index.md index b46eaeee01..a4cc3fdba1 100644 --- a/content/github/administering-a-repository/releasing-projects-on-github/index.md +++ b/content/github/administering-a-repository/releasing-projects-on-github/index.md @@ -5,9 +5,9 @@ redirect_from: - /categories/85/articles/ - /categories/releases/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/administering-a-repository/releasing-projects-on-github/linking-to-releases.md b/content/github/administering-a-repository/releasing-projects-on-github/linking-to-releases.md index 3de723b376..f7165ea51b 100644 --- a/content/github/administering-a-repository/releasing-projects-on-github/linking-to-releases.md +++ b/content/github/administering-a-repository/releasing-projects-on-github/linking-to-releases.md @@ -5,9 +5,9 @@ redirect_from: - /articles/linking-to-releases - /github/administering-a-repository/linking-to-releases versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository.md b/content/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository.md index 3c371b6621..47be0bed7c 100644 --- a/content/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository.md +++ b/content/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository.md @@ -11,24 +11,24 @@ redirect_from: - /github/administering-a-repository/managing-releases-in-a-repository permissions: 'Repository collaborators and people with write access to a repository can create, edit, and delete a release.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ## About release management -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can also publish an action from a specific release in {% data variables.product.prodname_marketplace %}. For more information, see "Publishing an action in the {% data variables.product.prodname_marketplace %}." {% endif %} You can choose whether {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) objects are included in the ZIP files and tarballs that {% data variables.product.product_name %} creates for each release. For more information, see "[Managing {% data variables.large_files.product_name_short %} objects in archives of your repository](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository)." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also manage releases using the {% data variables.product.prodname_cli %}. For more information, see "[`gh release`](https://cli.github.com/manual/gh_release)" in the {% data variables.product.prodname_cli %} documentation. @@ -52,7 +52,7 @@ You can choose whether {% data variables.large_files.product_name_long %} ({% da ![Providing a DMG with the Release](/assets/images/help/releases/releases_adding_binary.gif) 8. To notify users that the release is not ready for production and may be unstable, select **This is a pre-release**. ![Checkbox to mark a release as prerelease](/assets/images/help/releases/prerelease_checkbox.png) -{%- if currentVersion == "free-pro-team@latest" %} +{%- ifversion fpt %} 1. Optionally, select **Create a discussion for this release**, then select the **Category** drop-down menu and click a category for the release discussion. ![Checkbox to create a release discussion and drop-down menu to choose a category](/assets/images/help/releases/create-release-discussion.png) {%- endif %} diff --git a/content/github/administering-a-repository/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags.md b/content/github/administering-a-repository/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags.md index df7dad939d..025483162f 100644 --- a/content/github/administering-a-repository/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags.md +++ b/content/github/administering-a-repository/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags.md @@ -7,13 +7,13 @@ redirect_from: - /github/administering-a-repository/viewing-your-repositorys-tags - /github/administering-a-repository/viewing-your-repositorys-releases-and-tags versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also view a release using the {% data variables.product.prodname_cli %}. For more information, see "[`gh release view`](https://cli.github.com/manual/gh_release_view)" in the {% data variables.product.prodname_cli %} documentation. diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md index 1d4e4dfe70..98304c11fa 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md +++ b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on.md @@ -1,19 +1,19 @@ --- title: About authentication with SAML single sign-on -intro: 'You can access {% if currentVersion == "github-ae@latest" %}{% data variables.product.product_location %}{% elsif currentVersion == "free-pro-team@latest" %}an organization that uses SAML single sign-on (SSO){% endif %} by authenticating {% if currentVersion == "github-ae@latest" %}with SAML single sign-on (SSO) {% endif %}through an identity provider (IdP).{% if currentVersion == "free-pro-team@latest" %} After you authenticate with the IdP successfully from {% data variables.product.product_name %}, you must authorize any personal access token, SSH key, or {% data variables.product.prodname_oauth_app %} you would like to access the organization''s resources.{% endif %}' +intro: 'You can access {% ifversion ghae %}{% data variables.product.product_location %}{% elsif fpt %}an organization that uses SAML single sign-on (SSO){% endif %} by authenticating {% ifversion ghae %}with SAML single sign-on (SSO) {% endif %}through an identity provider (IdP).{% ifversion fpt %} After you authenticate with the IdP successfully from {% data variables.product.product_name %}, you must authorize any personal access token, SSH key, or {% data variables.product.prodname_oauth_app %} you would like to access the organization''s resources.{% endif %}' product: '{% data reusables.gated-features.saml-sso %}' redirect_from: - /articles/about-authentication-with-saml-single-sign-on - /github/authenticating-to-github/about-authentication-with-saml-single-sign-on versions: - free-pro-team: '*' - github-ae: '*' + fpt: '*' + ghae: '*' topics: - SSO --- ## About authentication with SAML SSO -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} SAML SSO allows an enterprise owner to centrally control and secure access to {% data variables.product.product_name %} from a SAML IdP. When you visit {% data variables.product.product_location %} in a browser, {% data variables.product.product_name %} will redirect you to your IdP to authenticate. After you successfully authenticate with an account on the IdP, the IdP redirects you back to {% data variables.product.product_location %}. {% data variables.product.product_name %} validates the response from your IdP, then grants access. @@ -23,7 +23,7 @@ If you can't access {% data variables.product.product_name %}, contact your loca {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.saml.dotcom-saml-explanation %} Organization owners can invite your user account on {% data variables.product.prodname_dotcom %} to join their organization that uses SAML SSO, which allows you to contribute to the organization and retain your existing identity and contributions on {% data variables.product.prodname_dotcom %}. @@ -51,5 +51,5 @@ After an enterprise or organization owner enables or enforces SAML SSO for an or ## Further reading -{% if currentVersion == "free-pro-team@latest" %}- "[About identity and access management with SAML single sign-on](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)"{% endif %} -{% if currentVersion == "github-ae@latest" %}- "[About identity and access management for your enterprise](/admin/authentication/about-identity-and-access-management-for-your-enterprise)"{% endif %} +{% ifversion fpt %}- "[About identity and access management with SAML single sign-on](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)"{% endif %} +{% ifversion ghae %}- "[About identity and access management for your enterprise](/admin/authentication/about-identity-and-access-management-for-your-enterprise)"{% endif %} diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md index f2d104d6ee..f0c9a800e0 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md +++ b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on.md @@ -6,7 +6,7 @@ redirect_from: - /articles/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on - /github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on versions: - free-pro-team: '*' + fpt: '*' topics: - SSO --- diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md index 9b0744c9b0..f1e6b97bab 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md +++ b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/authorizing-an-ssh-key-for-use-with-saml-single-sign-on.md @@ -6,7 +6,7 @@ redirect_from: - /articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on - /github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on versions: - free-pro-team: '*' + fpt: '*' topics: - SSO --- diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/index.md b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/index.md index 23ea867219..4370ad9f0f 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/index.md +++ b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/index.md @@ -1,13 +1,13 @@ --- title: Authenticating with SAML single sign-on -intro: 'You can authenticate to {% if currentVersion == "free-pro-team@latest" %}a {% data variables.product.product_name %} organization {% elsif currentVersion == "github-ae@latest" %}{% data variables.product.product_location %} {% endif %}with SAML single sign-on (SSO){% if currentVersion == "free-pro-team@latest" %} and view your active sessions{% endif %}.' +intro: 'You can authenticate to {% ifversion fpt %}a {% data variables.product.product_name %} organization {% elsif ghae %}{% data variables.product.product_location %} {% endif %}with SAML single sign-on (SSO){% ifversion fpt %} and view your active sessions{% endif %}.' product: '{% data reusables.gated-features.saml-sso %}' redirect_from: - /articles/authenticating-to-a-github-organization-with-saml-single-sign-on/ - /articles/authenticating-with-saml-single-sign-on versions: - free-pro-team: '*' - github-ae: '*' + fpt: '*' + ghae: '*' topics: - SSO children: diff --git a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md index f10b100326..46d0e15877 100644 --- a/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md +++ b/content/github/authenticating-to-github/authenticating-with-saml-single-sign-on/viewing-and-managing-your-active-saml-sessions.md @@ -5,7 +5,7 @@ redirect_from: - /articles/viewing-and-managing-your-active-saml-sessions - /github/authenticating-to-github/viewing-and-managing-your-active-saml-sessions versions: - free-pro-team: '*' + fpt: '*' topics: - SSO --- diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh.md b/content/github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh.md index 12a85ff901..ee62b62294 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh.md +++ b/content/github/authenticating-to-github/connecting-to-github-with-ssh/about-ssh.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-ssh - /github/authenticating-to-github/about-ssh versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- @@ -15,11 +15,11 @@ When you set up SSH, you will need to generate a new SSH key and add it to the s You can further secure your SSH key by using a hardware security key, which requires the physical hardware security key to be attached to your computer when the key pair is used to authenticate with SSH. You can also secure your SSH key by adding your key to the ssh-agent and using a passphrase. For more information, see "[Working with SSH key passphrases](/github/authenticating-to-github/working-with-ssh-key-passphrases)." -{% if currentVersion == "free-pro-team@latest" %}To use your SSH key with a repository owned by an organization that uses SAML single sign-on, you must authorize the key. For more information, see "[Authorizing an SSH key for use with SAML single sign-on](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)."{% endif %} +{% ifversion fpt %}To use your SSH key with a repository owned by an organization that uses SAML single sign-on, you must authorize the key. For more information, see "[Authorizing an SSH key for use with SAML single sign-on](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)."{% endif %} To maintain account security, you can regularly review your SSH keys list and revoke any keys that are invalid or have been compromised. For more information, see "[Reviewing your SSH keys](/github/authenticating-to-github/reviewing-your-ssh-keys)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you haven't used your SSH key for a year, then {% data variables.product.prodname_dotcom %} will automatically delete your inactive SSH key as a security precaution. For more information, see "[Deleted or missing SSH keys](/articles/deleted-or-missing-ssh-keys)." {% endif %} diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md b/content/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md index 2642e91736..361749a707 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md +++ b/content/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account.md @@ -5,9 +5,9 @@ redirect_from: - /articles/adding-a-new-ssh-key-to-your-github-account - /github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- @@ -19,7 +19,7 @@ After adding a new SSH key to your {% data variables.product.product_name %} acc {% data reusables.ssh.dsa-support %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also add an SSH key using the {% data variables.product.prodname_cli %}. For more information, see "[`gh ssh-key add`](https://cli.github.com/manual/gh_ssh-key_add)" in the {% data variables.product.prodname_cli %} documentation. @@ -122,7 +122,7 @@ After adding a new SSH key to your {% data variables.product.product_name %} acc {% endlinux %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading - "[Authorizing an SSH key for use with SAML single sign-on](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)" diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md b/content/github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md index c363df0241..c547089046 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md +++ b/content/github/authenticating-to-github/connecting-to-github-with-ssh/checking-for-existing-ssh-keys.md @@ -5,9 +5,9 @@ redirect_from: - /articles/checking-for-existing-ssh-keys - /github/authenticating-to-github/checking-for-existing-ssh-keys versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md b/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md index 3393439fad..f7ab16daea 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md +++ b/content/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md @@ -7,9 +7,9 @@ redirect_from: - /articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent - /github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- @@ -17,7 +17,7 @@ topics: If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/github/authenticating-to-github/checking-for-existing-ssh-keys)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2). @@ -177,7 +177,7 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav {% endlinux %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghae-next or ghes > 3.1 %} ## Generating a new SSH key for a hardware security key If you are using macOS or Linux, you may need to update your SSH client or install a new SSH client prior to generating a new SSH key. For more information, see "[Error: Unknown key type](/github/authenticating-to-github/error-unknown-key-type)." @@ -236,6 +236,6 @@ If you are using macOS or Linux, you may need to update your SSH client or insta - "[About SSH](/articles/about-ssh)" - "[Working with SSH key passphrases](/articles/working-with-ssh-key-passphrases)" -{%- if currentVersion == "free-pro-team@latest" %} +{%- ifversion fpt %} - "[Authorizing an SSH key for use with SAML single sign-on](/articles/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)" {%- endif %} diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/index.md b/content/github/authenticating-to-github/connecting-to-github-with-ssh/index.md index a222285836..29ee92e9bb 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/index.md +++ b/content/github/authenticating-to-github/connecting-to-github-with-ssh/index.md @@ -11,9 +11,9 @@ redirect_from: - /articles/generating-an-ssh-key/ - /articles/connecting-to-github-with-ssh versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH children: diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection.md b/content/github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection.md index 93993016bc..1025bce04b 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection.md +++ b/content/github/authenticating-to-github/connecting-to-github-with-ssh/testing-your-ssh-connection.md @@ -5,9 +5,9 @@ redirect_from: - /articles/testing-your-ssh-connection - /github/authenticating-to-github/testing-your-ssh-connection versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- @@ -33,7 +33,7 @@ When you test your connection, you'll need to authenticate this action using you > Are you sure you want to continue connecting (yes/no)? ``` -3. Verify that the fingerprint in the message you see matches {% if currentVersion == "free-pro-team@latest" %}[{% data variables.product.prodname_dotcom %}'s RSA public key fingerprint](/github/authenticating-to-github/githubs-ssh-key-fingerprints){% else %} your enterprise's public key fingerprint{% endif %}. If it does, then type `yes`: +3. Verify that the fingerprint in the message you see matches {% ifversion fpt %}[{% data variables.product.prodname_dotcom %}'s RSA public key fingerprint](/github/authenticating-to-github/githubs-ssh-key-fingerprints){% else %} your enterprise's public key fingerprint{% endif %}. If it does, then type `yes`: ```shell > Hi username! You've successfully authenticated, but GitHub does not > provide shell access. diff --git a/content/github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md b/content/github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md index d5993e1eb6..dfa4636b92 100644 --- a/content/github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md +++ b/content/github/authenticating-to-github/connecting-to-github-with-ssh/working-with-ssh-key-passphrases.md @@ -7,9 +7,9 @@ redirect_from: - /articles/working-with-ssh-key-passphrases - /github/authenticating-to-github/working-with-ssh-key-passphrases versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/index.md b/content/github/authenticating-to-github/index.md index b148d49abb..095328d7ce 100644 --- a/content/github/authenticating-to-github/index.md +++ b/content/github/authenticating-to-github/index.md @@ -1,7 +1,7 @@ --- title: Authenticating to GitHub shortTitle: Authentication -intro: 'Keep your account and data secure with features like {% if currentVersion != "github-ae@latest" %}two-factor authentication, {% endif %}SSH{% if currentVersion != "github-ae@latest" %},{% endif %} and commit signature verification.' +intro: 'Keep your account and data secure with features like {% ifversion not ghae %}two-factor authentication, {% endif %}SSH{% ifversion not ghae %},{% endif %} and commit signature verification.' redirect_from: - /categories/56/articles/ - /categories/ssh/ @@ -14,9 +14,9 @@ redirect_from: - /categories/security/ - /categories/authenticating-to-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - 2FA - Identity diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls.md index 998084eba3..b7dfe173cd 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-anonymized-urls.md @@ -7,7 +7,7 @@ redirect_from: - /authenticating-to-github/about-anonymized-image-urls - /github/authenticating-to-github/about-anonymized-urls versions: - free-pro-team: '*' + fpt: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github.md index 44ff133cf5..d94c73d99b 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-authentication-to-github.md @@ -2,9 +2,9 @@ title: About authentication to GitHub intro: 'You can securely access your account''s resources by authenticating to {% data variables.product.product_name %}, using different credentials depending on where you authenticate.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -13,17 +13,17 @@ redirect_from: --- ## About authentication to {% data variables.product.prodname_dotcom %} -To keep your account secure, you must authenticate before you can access{% if currentVersion != "github-ae@latest" %} certain{% endif %} resources on {% data variables.product.product_name %}. When you authenticate to {% data variables.product.product_name %}, you supply or confirm credentials that are unique to you to prove that you are exactly who you declare to be. +To keep your account secure, you must authenticate before you can access{% ifversion not ghae %} certain{% endif %} resources on {% data variables.product.product_name %}. When you authenticate to {% data variables.product.product_name %}, you supply or confirm credentials that are unique to you to prove that you are exactly who you declare to be. You can access your resources in {% data variables.product.product_name %} in a variety of ways: in the browser, via {% data variables.product.prodname_desktop %} or another desktop application, with the API, or via the command line. Each way of accessing {% data variables.product.product_name %} supports different modes of authentication. -- {% if currentVersion == "github-ae@latest" %}Your identity provider (IdP){% else %}Username and password with two-factor authentication{% endif %} +- {% ifversion ghae %}Your identity provider (IdP){% else %}Username and password with two-factor authentication{% endif %} - Personal access token - SSH key ## Authenticating in your browser -You can authenticate to {% data variables.product.product_name %} in your browser {% if currentVersion == "github-ae@latest" %}using your IdP. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)."{% else %}in different ways. +You can authenticate to {% data variables.product.product_name %} in your browser {% ifversion ghae %}using your IdP. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)."{% else %}in different ways. - **Username and password only** - You'll create a password when you create your user account on {% data variables.product.product_name %}. We recommend that you use a password manager to generate a random and unique password. For more information, see "[Creating a strong password](/github/authenticating-to-github/creating-a-strong-password)." @@ -55,9 +55,9 @@ You can access repositories on {% data variables.product.product_name %} from th * You can work with all repositories on {% data variables.product.product_name %} over SSH, although firewalls and proxys might refuse to allow SSH connections. Using SSH requires you to generate an SSH public/private keypair on your local machine and add the public key to your {% data variables.product.product_name %} account. Every time you use Git to authenticate with {% data variables.product.product_name %}, you'll be prompted to enter your SSH key passphrase, unless you've [stored the key](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent). For more information, see "[Generating a new SSH key and adding it to the ssh-agent](/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)." -{% if currentVersion == "free-pro-team@latest" %}To use a personal access token or SSH key to access resources owned by an organization that uses SAML single sign-on, you must also authorize the personal token or SSH key. For more information, see "[Authorizing a personal access token for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" or "[Authorizing an SSH key for use with SAML single sign-on](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)."{% endif %} +{% ifversion fpt %}To use a personal access token or SSH key to access resources owned by an organization that uses SAML single sign-on, you must also authorize the personal token or SSH key. For more information, see "[Authorizing a personal access token for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)" or "[Authorizing an SSH key for use with SAML single sign-on](/github/authenticating-to-github/authorizing-an-ssh-key-for-use-with-saml-single-sign-on)."{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## {% data variables.product.company_short %}'s token formats diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md index f26a00ec2c..2a338f7334 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/about-githubs-ip-addresses.md @@ -10,7 +10,7 @@ redirect_from: - /articles/about-githubs-ip-addresses - /github/authenticating-to-github/about-githubs-ip-addresses versions: - free-pro-team: '*' + fpt: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps.md index 8ee2619241..e17d626f73 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/authorizing-oauth-apps.md @@ -5,16 +5,16 @@ redirect_from: - /articles/authorizing-oauth-apps - /github/authenticating-to-github/authorizing-oauth-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management --- When an {% data variables.product.prodname_oauth_app %} wants to identify you by your {% data variables.product.product_name %} account, you'll see a page with the app's developer contact information and a list of the specific data that's being requested. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% tip %} @@ -71,7 +71,7 @@ When you want to use an {% data variables.product.prodname_oauth_app %} that int When {% data variables.product.prodname_oauth_app %}s request new access permissions, they will notify you of the differences between their current permissions and the new permissions. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## {% data variables.product.prodname_oauth_app %}s and organizations diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md index 0ece6392d5..380fd5a714 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/connecting-with-third-party-applications.md @@ -5,9 +5,9 @@ redirect_from: - /articles/connecting-with-third-party-applications - /github/authenticating-to-github/connecting-with-third-party-applications versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -59,12 +59,12 @@ There are several types of data that applications can request. | --- | --- | | Commit status | You can grant access for a third-party application to report your commit status. Commit status access allows applications to determine if a build is a successful against a specific commit. Applications won't have access to your code, but they can read and write status information against a specific commit. | | Deployments | Deployment status access allows applications to determine if a deployment is successful against a specific commit for a repository. Applications won't have access to your code. | -| Gists | [Gist](https://gist.github.com) access allows applications to read or write to {% if currentVersion != "github-ae@latest" %}both your public and{% else %}both your internal and{% endif %} secret Gists. | +| Gists | [Gist](https://gist.github.com) access allows applications to read or write to {% ifversion not ghae %}both your public and{% else %}both your internal and{% endif %} secret Gists. | | Hooks | [Webhooks](/webhooks) access allows applications to read or write hook configurations on repositories you manage. | | Notifications | Notification access allows applications to read your {% data variables.product.product_name %} notifications, such as comments on issues and pull requests. However, applications remain unable to access anything in your repositories. | | Organizations and teams | Organization and teams access allows apps to access and manage organization and team membership. | | Personal user data | User data includes information found in your user profile, like your name, e-mail address, and location. | -| Repositories | Repository information includes the names of contributors, the branches you've created, and the actual files within your repository. Applications can request access for either {% if currentVersion != "github-ae@latest" %}public{% else %}internal{% endif %} or private repositories on a user-wide level. | +| Repositories | Repository information includes the names of contributors, the branches you've created, and the actual files within your repository. Applications can request access for either {% ifversion not ghae %}public{% else %}internal{% endif %} or private repositories on a user-wide level. | | Repository delete | Applications can request to delete repositories that you administer, but they won't have access to your code. | ## Requesting updated permissions diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token.md index 07a0094ced..602ddeaf9a 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token.md @@ -8,22 +8,22 @@ redirect_from: - /github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line - /github/authenticating-to-github/creating-a-personal-access-token versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management --- Personal access tokens (PATs) are an alternative to using passwords for authentication to {% data variables.product.product_name %} when using the [GitHub API](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens) or the [command line](#using-a-token-on-the-command-line). -{% if currentVersion == "free-pro-team@latest" %}If you want to use a PAT to access resources owned by an organization that uses SAML SSO, you must authorize the PAT. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" and "[Authorizing a personal access token for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)."{% endif %} +{% ifversion fpt %}If you want to use a PAT to access resources owned by an organization that uses SAML SSO, you must authorize the PAT. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" and "[Authorizing a personal access token for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)."{% endif %} -{% if currentVersion == "free-pro-team@latest" %}{% data reusables.user_settings.removes-personal-access-tokens %}{% endif %} +{% ifversion fpt %}{% data reusables.user_settings.removes-personal-access-tokens %}{% endif %} ## Creating a token -{% if currentVersion == "free-pro-team@latest" %}1. [Verify your email address](/github/getting-started-with-github/verifying-your-email-address), if it hasn't been verified yet.{% endif %} +{% ifversion fpt %}1. [Verify your email address](/github/getting-started-with-github/verifying-your-email-address), if it hasn't been verified yet.{% endif %} {% data reusables.user_settings.access_settings %} {% data reusables.user_settings.developer_settings %} {% data reusables.user_settings.personal_access_tokens %} @@ -32,17 +32,17 @@ Personal access tokens (PATs) are an alternative to using passwords for authenti 5. Give your token a descriptive name. ![Token description field](/assets/images/help/settings/token_description.png) 6. Select the scopes, or permissions, you'd like to grant this token. To use your token to access repositories from the command line, select **repo**. - {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} + {% ifversion fpt or ghes %} ![Selecting token scopes](/assets/images/help/settings/token_scopes.gif) - {% elsif currentVersion == "github-ae@latest" %} + {% elsif ghae %} ![Selecting token scopes](/assets/images/enterprise/github-ae/settings/access-token-scopes-for-ghae.png) {% endif %} 7. Click **Generate token**. ![Generate token button](/assets/images/help/settings/generate_token.png) 8. Click {% octicon "clippy" aria-label="The copy to clipboard icon" %} to copy the token to your clipboard. For security reasons, after you navigate off the page, you will not be able to see the token again. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} ![Newly created token](/assets/images/help/settings/personal_access_tokens.png) - {% elsif currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + {% elsif ghes > 3.1 or ghae-next %} ![Newly created token](/assets/images/help/settings/personal_access_tokens_ghe.png) {% else %} ![Newly created token](/assets/images/help/settings/personal_access_tokens_ghe_legacy.png) @@ -53,7 +53,7 @@ Personal access tokens (PATs) are an alternative to using passwords for authenti {% endwarning %} -{% if currentVersion == "free-pro-team@latest" %}9. To use your token to authenticate to an organization that uses SAML SSO, [authorize the token for use with a SAML single-sign-on organization](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on).{% endif %} +{% ifversion fpt %}9. To use your token to authenticate to an organization that uses SAML SSO, [authorize the token for use with a SAML single-sign-on organization](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on).{% endif %} ## Using a token on the command line diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password.md index 4115ad76ad..176ce32a20 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-strong-password.md @@ -6,14 +6,14 @@ redirect_from: - /articles/creating-a-strong-password - /github/authenticating-to-github/creating-a-strong-password versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Identity - Access management --- You must choose or generate a password for your {% data variables.product.product_name %} account that is at least: -- {% if enterpriseServerVersions contains currentVersion %}Seven{% else %}Eight{% endif %} characters long, if it includes a number and a lowercase letter, or +- {% ifversion ghes %}Seven{% else %}Eight{% endif %} characters long, if it includes a number and a lowercase letter, or - 15 characters long with any combination of characters To keep your account secure, we recommend you follow these best practices: @@ -26,7 +26,7 @@ To keep your account secure, we recommend you follow these best practices: You can only use your password to log on to {% data variables.product.product_name %} using your browser. When you authenticate to {% data variables.product.product_name %} with other means, such as the command line or API, you should use other credentials. For more information, see "[About authentication to {% data variables.product.prodname_dotcom %}](/github/authenticating-to-github/about-authentication-to-github)." -{% if currentVersion == "free-pro-team@latest" %}{% data reusables.user_settings.password-authentication-deprecation %}{% endif %} +{% ifversion fpt %}{% data reusables.user_settings.password-authentication-deprecation %}{% endif %} ## Further reading diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md index 962789c935..cf677d718c 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints.md @@ -7,7 +7,7 @@ redirect_from: - /articles/githubs-ssh-key-fingerprints - /github/authenticating-to-github/githubs-ssh-key-fingerprints versions: - free-pro-team: '*' + fpt: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/index.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/index.md index 9119cc2271..e1bf1c01ee 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/index.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/index.md @@ -4,9 +4,9 @@ intro: 'To protect your personal information, you should keep both your {% data redirect_from: - /articles/keeping-your-account-and-data-secure versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access.md index de0b18bb0f..bc15117640 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/preventing-unauthorized-access.md @@ -5,8 +5,8 @@ redirect_from: - /articles/preventing-unauthorized-access - /github/authenticating-to-github/preventing-unauthorized-access versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Identity - Access management @@ -17,7 +17,7 @@ After changing your password, you should perform these actions to make sure that - [Enable two-factor authentication](/articles/about-two-factor-authentication) on your account so that access requires more than just a password. - [Review your SSH keys](/articles/reviewing-your-ssh-keys), [deploy keys](/articles/reviewing-your-deploy-keys), and [authorized integrations](/articles/reviewing-your-authorized-integrations) and revoke unauthorized or unfamiliar access in your SSH and Applications settings. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - [Verify all your email addresses](/articles/verifying-your-email-address). If an attacker added their email address to your account, it could allow them to force an unintended password reset. {% endif %} - [Review your account's security log](/github/authenticating-to-github/reviewing-your-security-log). This provides an overview on various configurations made to your repositories. For example, you can ensure that no private repositories were turned public, or that no repositories were transferred. diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md index 4f61c37117..e9e284bf63 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md @@ -8,9 +8,9 @@ redirect_from: - /articles/removing-sensitive-data-from-a-repository - /github/authenticating-to-github/removing-sensitive-data-from-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md index a7fc5aec1a..1ca5f49e49 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-applications-oauth.md @@ -5,9 +5,9 @@ redirect_from: - /articles/reviewing-your-authorized-applications-oauth - /github/authenticating-to-github/reviewing-your-authorized-applications-oauth versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -18,6 +18,6 @@ topics: {% data reusables.user_settings.review-oauth-apps %} ## Further reading -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - "[About integrations](/articles/about-integrations)"{% endif %} - "[Reviewing your authorized integrations](/articles/reviewing-your-authorized-integrations)" diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md index 96d41eb5e4..65b630116a 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-authorized-integrations.md @@ -5,9 +5,9 @@ redirect_from: - /articles/reviewing-your-authorized-integrations - /github/authenticating-to-github/reviewing-your-authorized-integrations versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -29,6 +29,6 @@ topics: ![List of authorized {% data variables.product.prodname_github_app %}](/assets/images/help/settings/revoke-github-app.png) ## Further reading -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - "[About integrations](/articles/about-integrations)"{% endif %} - "[Reviewing your authorized applications (OAuth)](/articles/reviewing-your-authorized-applications-oauth)" diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md index 9e8a06eafd..723f002ae2 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-deploy-keys.md @@ -5,9 +5,9 @@ redirect_from: - /articles/reviewing-your-deploy-keys - /github/authenticating-to-github/reviewing-your-deploy-keys versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md index ed22a5ae28..4892b93590 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-security-log.md @@ -6,9 +6,9 @@ redirect_from: - /articles/reviewing-your-security-log - /github/authenticating-to-github/reviewing-your-security-log versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -18,7 +18,7 @@ topics: The security log lists all actions performed within the last 90 days. {% data reusables.user_settings.access_settings %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} 2. In the user settings sidebar, click **Security log**. ![Security log tab](/assets/images/help/settings/audit-log-tab.png) {% else %} @@ -29,7 +29,7 @@ The security log lists all actions performed within the last 90 days. ![Security log](/assets/images/help/settings/user_security_history_action.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} ## Searching your security log {% data reusables.audit_log.audit-log-search %} @@ -42,24 +42,24 @@ The security log lists all actions performed within the last 90 days. The events listed in your security log are triggered by your actions. Actions are grouped into the following categories: | Category name | Description -|------------------|-------------------{% if currentVersion == "free-pro-team@latest" %} +|------------------|-------------------{% ifversion fpt %} | [`account_recovery_token`](#account_recovery_token-category-actions) | Contains all activities related to [adding a recovery token](/articles/configuring-two-factor-authentication-recovery-methods). | [`billing`](#billing-category-actions) | Contains all activities related to your billing information. | [`codespaces`](#codespaces-category-actions) | Contains all activities related to {% data variables.product.prodname_codespaces %}. For more information, see "[About {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/about-codespaces)." | [`marketplace_agreement_signature`](#marketplace_agreement_signature-category-actions) | Contains all activities related to signing the {% data variables.product.prodname_marketplace %} Developer Agreement. | [`marketplace_listing`](#marketplace_listing-category-actions) | Contains all activities related to listing apps in {% data variables.product.prodname_marketplace %}.{% endif %} -| [`oauth_access`](#oauth_access-category-actions) | Contains all activities related to [{% data variables.product.prodname_oauth_app %}s](/articles/authorizing-oauth-apps) you've connected with.{% if currentVersion == "free-pro-team@latest" %} +| [`oauth_access`](#oauth_access-category-actions) | Contains all activities related to [{% data variables.product.prodname_oauth_app %}s](/articles/authorizing-oauth-apps) you've connected with.{% ifversion fpt %} | [`payment_method`](#payment_method-category-actions) | Contains all activities related to paying for your {% data variables.product.prodname_dotcom %} subscription.{% endif %} | [`profile_picture`](#profile_picture-category-actions) | Contains all activities related to your profile picture. | [`project`](#project-category-actions) | Contains all activities related to project boards. | [`public_key`](#public_key-category-actions) | Contains all activities related to [your public SSH keys](/articles/adding-a-new-ssh-key-to-your-github-account). -| [`repo`](#repo-category-actions) | Contains all activities related to the repositories you own.{% if currentVersion == "free-pro-team@latest" %} -| [`sponsors`](#sponsors-category-actions) | Contains all events related to {% data variables.product.prodname_sponsors %} and sponsor buttons (see "[About {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)" and "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)"){% endif %}{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} -| [`team`](#team-category-actions) | Contains all activities related to teams you are a part of.{% endif %}{% if currentVersion != "github-ae@latest" %} +| [`repo`](#repo-category-actions) | Contains all activities related to the repositories you own.{% ifversion fpt %} +| [`sponsors`](#sponsors-category-actions) | Contains all events related to {% data variables.product.prodname_sponsors %} and sponsor buttons (see "[About {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)" and "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)"){% endif %}{% ifversion ghes or ghae %} +| [`team`](#team-category-actions) | Contains all activities related to teams you are a part of.{% endif %}{% ifversion not ghae %} | [`two_factor_authentication`](#two_factor_authentication-category-actions) | Contains all activities related to [two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa).{% endif %} | [`user`](#user-category-actions) | Contains all activities related to your account. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Exporting your security log @@ -72,7 +72,7 @@ The events listed in your security log are triggered by your actions. Actions ar An overview of some of the most common actions that are recorded as events in the security log. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `account_recovery_token` category actions @@ -124,7 +124,7 @@ An overview of some of the most common actions that are recorded as events in th | `create` | Triggered when you [grant access to an {% data variables.product.prodname_oauth_app %}](/articles/authorizing-oauth-apps). | `destroy` | Triggered when you [revoke an {% data variables.product.prodname_oauth_app %}'s access to your account](/articles/reviewing-your-authorized-integrations). -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `payment_method` category actions @@ -167,16 +167,16 @@ An overview of some of the most common actions that are recorded as events in th | Action | Description |------------------|------------------- | `access` | Triggered when you a repository you own is [switched from "private" to "public"](/articles/making-a-private-repository-public) (or vice versa). -| `add_member` | Triggered when a {% data variables.product.product_name %} user is {% if currentVersion == "free-pro-team@latest" %}[invited to have collaboration access](/articles/inviting-collaborators-to-a-personal-repository){% else %}[given collaboration access](/articles/inviting-collaborators-to-a-personal-repository){% endif %} to a repository. +| `add_member` | Triggered when a {% data variables.product.product_name %} user is {% ifversion fpt %}[invited to have collaboration access](/articles/inviting-collaborators-to-a-personal-repository){% else %}[given collaboration access](/articles/inviting-collaborators-to-a-personal-repository){% endif %} to a repository. | `add_topic` | Triggered when a repository owner [adds a topic](/articles/classifying-your-repository-with-topics) to a repository. -| `archived` | Triggered when a repository owner [archives a repository](/articles/about-archiving-repositories).{% if enterpriseServerVersions contains currentVersion %} +| `archived` | Triggered when a repository owner [archives a repository](/articles/about-archiving-repositories).{% ifversion ghes %} | `config.disable_anonymous_git_access` | Triggered when [anonymous Git read access is disabled](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository) in a public repository. | `config.enable_anonymous_git_access` | Triggered when [anonymous Git read access is enabled](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository) in a public repository. | `config.lock_anonymous_git_access` | Triggered when a repository's [anonymous Git read access setting is locked](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access). | `config.unlock_anonymous_git_access` | Triggered when a repository's [anonymous Git read access setting is unlocked](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access).{% endif %} | `create` | Triggered when [a new repository is created](/articles/creating-a-new-repository). -| `destroy` | Triggered when [a repository is deleted](/articles/deleting-a-repository).{% if currentVersion == "free-pro-team@latest" %} -| `disable` | Triggered when a repository is disabled (e.g., for [insufficient funds](/articles/unlocking-a-locked-account)).{% endif %}{% if currentVersion == "free-pro-team@latest" %} +| `destroy` | Triggered when [a repository is deleted](/articles/deleting-a-repository).{% ifversion fpt %} +| `disable` | Triggered when a repository is disabled (e.g., for [insufficient funds](/articles/unlocking-a-locked-account)).{% endif %}{% ifversion fpt %} | `enable` | Triggered when a repository is re-enabled.{% endif %} | `remove_member` | Triggered when a {% data variables.product.product_name %} user is [removed from a repository as a collaborator](/articles/removing-a-collaborator-from-a-personal-repository). | `remove_topic` | Triggered when a repository owner removes a topic from a repository. @@ -185,7 +185,7 @@ An overview of some of the most common actions that are recorded as events in th | `transfer_start` | Triggered when a repository transfer is about to occur. | `unarchived` | Triggered when a repository owner unarchives a repository. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `sponsors` category actions | Action | Description @@ -209,7 +209,7 @@ An overview of some of the most common actions that are recorded as events in th | `waitlist_join` | Triggered when you join the waitlist to become a sponsored developer (see "[Setting up {% data variables.product.prodname_sponsors %} for your user account](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account)") {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `successor_invitation` category actions | Action | Description @@ -221,7 +221,7 @@ An overview of some of the most common actions that are recorded as events in th | `revoke` | Triggered when you revoke a succession invitation (see "[Maintaining ownership continuity of your user account's repositories](/github/setting-up-and-managing-your-github-user-account/maintaining-ownership-continuity-of-your-user-accounts-repositories)") {% endif %} -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} ### `team` category actions @@ -236,7 +236,7 @@ An overview of some of the most common actions that are recorded as events in th {% endif %} -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ### `two_factor_authentication` category actions | Action | Description @@ -249,20 +249,20 @@ An overview of some of the most common actions that are recorded as events in th | Action | Description |--------------------|--------------------- -| `add_email` | Triggered when you {% if currentVersion != "github-ae@latest" %}[add a new email address](/articles/changing-your-primary-email-address){% else %}add a new email address{% endif %}.{% if currentVersion == "free-pro-team@latest" %} +| `add_email` | Triggered when you {% ifversion not ghae %}[add a new email address](/articles/changing-your-primary-email-address){% else %}add a new email address{% endif %}.{% ifversion fpt %} | `codespaces_trusted_repo_access_granted` | Triggered when you [allow the codespaces you create for a repository to access other repositories owned by your user account](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces. | `codespaces_trusted_repo_access_revoked` | Triggered when you [disallow the codespaces you create for a repository to access other repositories owned by your user account](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces. {% endif %} -| `create` | Triggered when you create a new user account.{% if currentVersion != "github-ae@latest" %} +| `create` | Triggered when you create a new user account.{% ifversion not ghae %} | `change_password` | Triggered when you change your password. | `forgot_password` | Triggered when you ask for [a password reset](/articles/how-can-i-reset-my-password).{% endif %} | `hide_private_contributions_count` | Triggered when you [hide private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile). -| `login` | Triggered when you log in to {% data variables.product.product_location %}.{% if currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +| `login` | Triggered when you log in to {% data variables.product.product_location %}.{% ifversion ghes > 2.22 or ghae %} `mandatory_message_viewed` | Triggered when you view a mandatory message (see "[Customizing user messages](/admin/user-management/customizing-user-messages-for-your-enterprise)" for details) | {% endif %} | `failed_login` | Triggered when you failed to log in successfully. | `remove_email` | Triggered when you remove an email address. -| `rename` | Triggered when you rename your account.{% if currentVersion == "free-pro-team@latest" %} +| `rename` | Triggered when you rename your account.{% ifversion fpt %} | `report_content` | Triggered when you [report an issue or pull request, or a comment on an issue, pull request, or commit](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam).{% endif %} -| `show_private_contributions_count` | Triggered when you [publicize private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile).{% if currentVersion != "github-ae@latest" %} +| `show_private_contributions_count` | Triggered when you [publicize private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile).{% ifversion not ghae %} | `two_factor_requested` | Triggered when {% data variables.product.product_name %} asks you for [your two-factor authentication code](/articles/accessing-github-using-two-factor-authentication).{% endif %} ### `user_status` category actions diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md index 1d81c74a4f..dcd73c85d2 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/reviewing-your-ssh-keys.md @@ -7,9 +7,9 @@ redirect_from: - /articles/reviewing-your-ssh-keys - /github/authenticating-to-github/reviewing-your-ssh-keys versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -33,7 +33,7 @@ You can delete unauthorized (or possibly compromised) SSH keys to ensure that an {% data reusables.command_line.start_ssh_agent %} -6. Find and take a note of your public key fingerprint. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older: +6. Find and take a note of your public key fingerprint. {% ifversion ghes < 3.0 %}If you're using OpenSSH 6.7 or older: ```shell $ ssh-add -l > 2048 a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA) @@ -73,7 +73,7 @@ You can delete unauthorized (or possibly compromised) SSH keys to ensure that an {% data reusables.desktop.windows_git_for_windows_turn_on_ssh_agent %} -6. Find and take a note of your public key fingerprint. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older: +6. Find and take a note of your public key fingerprint. {% ifversion ghes < 3.0 %}If you're using OpenSSH 6.7 or older: ```shell $ ssh-add -l > 2048 a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA) @@ -111,7 +111,7 @@ You can delete unauthorized (or possibly compromised) SSH keys to ensure that an {% data reusables.command_line.start_ssh_agent %} -6. Find and take a note of your public key fingerprint. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older: +6. Find and take a note of your public key fingerprint. {% ifversion ghes < 3.0 %}If you're using OpenSSH 6.7 or older: ```shell $ ssh-add -l > 2048 a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA) diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode.md index 13fb2452dd..293633e3fa 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/sudo-mode.md @@ -5,8 +5,8 @@ redirect_from: - /articles/sudo-mode - /github/authenticating-to-github/sudo-mode versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md index ba4be14316..723493164e 100644 --- a/content/github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md +++ b/content/github/authenticating-to-github/keeping-your-account-and-data-secure/updating-your-github-access-credentials.md @@ -1,30 +1,30 @@ --- title: Updating your GitHub access credentials -intro: '{% data variables.product.product_name %} credentials include{% if currentVersion != "github-ae@latest" %} not only your password, but also{% endif %} the access tokens, SSH keys, and application API tokens you use to communicate with {% data variables.product.product_name %}. Should you have the need, you can reset all of these access credentials yourself.' +intro: '{% data variables.product.product_name %} credentials include{% ifversion not ghae %} not only your password, but also{% endif %} the access tokens, SSH keys, and application API tokens you use to communicate with {% data variables.product.product_name %}. Should you have the need, you can reset all of these access credentials yourself.' redirect_from: - /articles/rolling-your-credentials/ - /articles/how-can-i-reset-my-password/ - /articles/updating-your-github-access-credentials - /github/authenticating-to-github/updating-your-github-access-credentials versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management --- -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ## Requesting a new password -1. To request a new password, visit {% if currentVersion == "free-pro-team@latest" %}https://{% data variables.product.product_url %}/password_reset{% else %}`https://{% data variables.product.product_url %}/password_reset`{% endif %}. +1. To request a new password, visit {% ifversion fpt %}https://{% data variables.product.product_url %}/password_reset{% else %}`https://{% data variables.product.product_url %}/password_reset`{% endif %}. 2. Enter the email address associated with your personal {% data variables.product.product_name %} account, then click **Send password reset email.** The email will be sent to the backup email address if you have one configured. ![Password reset email request dialog](/assets/images/help/settings/password-recovery-email-request.png) 3. We'll email you a link that will allow you to reset your password. You must click on this link within 3 hours of receiving the email. If you didn't receive an email from us, make sure to check your spam folder. 4. If you have enabled two-factor authentication, you will be prompted for your 2FA credentials. Type your 2FA credentials or one of your 2FA recovery codes and click **Verify**. ![Two-factor authentication prompt](/assets/images/help/2fa/2fa-password-reset.png) 5. Type a new password, confirm your new password, and click **Change password**. For help creating a strong password, see "[Creating a strong password](/articles/creating-a-strong-password)." - {% if currentVersion == "free-pro-team@latest" %}![Password recovery box](/assets/images/help/settings/password-recovery-page.png){% else %} + {% ifversion fpt %}![Password recovery box](/assets/images/help/settings/password-recovery-page.png){% else %} ![Password recovery box](/assets/images/enterprise/settings/password-recovery-page.png){% endif %} {% tip %} @@ -61,7 +61,7 @@ See "[Reviewing your SSH keys](/articles/reviewing-your-ssh-keys)" for instructi If you have any applications registered with {% data variables.product.product_name %}, you'll want to reset their OAuth tokens. For more information, see the "[Reset an authorization](/rest/reference/apps#reset-an-authorization)" endpoint. -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ## Preventing unauthorized access For more tips on securing your account and preventing unauthorized access, see "[Preventing unauthorized access](/articles/preventing-unauthorized-access)." diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification.md b/content/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification.md index 6c5778ee93..0284de7513 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification.md @@ -7,20 +7,20 @@ redirect_from: - /articles/about-commit-signature-verification - /github/authenticating-to-github/about-commit-signature-verification versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management --- ## About commit signature verification -You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG or S/MIME signature that is cryptographically verifiable, GitHub marks the commit or tag {% if currentVersion == "free-pro-team@latest" %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} +You can sign commits and tags locally, to give other people confidence about the origin of a change you have made. If a commit or tag has a GPG or S/MIME signature that is cryptographically verifiable, GitHub marks the commit or tag {% ifversion fpt %}"Verified" or "Partially verified."{% else %}"Verified."{% endif %} ![Verified commit](/assets/images/help/commits/verified-commit.png) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Commits and tags have the following verification statuses, depending on whether you have enabled vigilant mode. By default vigilant mode is not enabled. For information on how to enable vigilant mode, see "[Displaying verification statuses for all of your commits](/github/authenticating-to-github/displaying-verification-statuses-for-all-of-your-commits)." {% data reusables.identity-and-permissions.vigilant-mode-beta-note %} @@ -45,7 +45,7 @@ Repository administrators can enforce required commit signing on a branch to blo {% data reusables.identity-and-permissions.verification-status-check %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data variables.product.product_name %} will automatically use GPG to sign commits you make using the {% data variables.product.product_name %} web interface, except for when you squash and merge a pull request that you are not the author of. Commits signed by {% data variables.product.product_name %} will have a verified status on {% data variables.product.product_name %}. You can verify the signature locally using the public key available at https://github.com/web-flow.gpg. The full fingerprint of the key is `5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23`. You can optionally choose to have {% data variables.product.product_name %} sign commits you make in {% data variables.product.prodname_codespaces %}. For more information about enabling GPG verification for your codespaces, see "[Managing GPG verification for {% data variables.product.prodname_codespaces %}](/github/developing-online-with-codespaces/managing-gpg-verification-for-codespaces)." {% endif %} @@ -80,7 +80,7 @@ To sign commits using S/MIME and have those commits verified on {% data variable You don't need to upload your public key to {% data variables.product.product_name %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Signature verification for bots Organizations and {% data variables.product.prodname_github_app %}s that require commit signing can use bots to sign commits. If a commit or tag has a bot signature that is cryptographically verifiable, {% data variables.product.product_name %} marks the commit or tag as verified. diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md b/content/github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md index 43c5d788ab..0c005461bf 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/adding-a-new-gpg-key-to-your-github-account.md @@ -5,9 +5,9 @@ redirect_from: - /articles/adding-a-new-gpg-key-to-your-github-account - /github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md b/content/github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md index 84a06a0ca7..9c3daef414 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/associating-an-email-with-your-gpg-key.md @@ -5,9 +5,9 @@ redirect_from: - /articles/associating-an-email-with-your-gpg-key - /github/authenticating-to-github/associating-an-email-with-your-gpg-key versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -29,7 +29,7 @@ If you're using a GPG key that matches your committer identity and your verified ```shell $ gpg> adduid ``` -6. Follow the prompts to supply your real name, email address, and any comments. You can modify your entries by choosing `N`, `C`, or `E`. {% data reusables.gpg.private-email %} {% if currentVersion == "free-pro-team@latest" %} For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address)."{% endif %} +6. Follow the prompts to supply your real name, email address, and any comments. You can modify your entries by choosing `N`, `C`, or `E`. {% data reusables.gpg.private-email %} {% ifversion fpt %} For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address)."{% endif %} ```shell Real Name: Octocat Email address: octocat@github.com diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys.md b/content/github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys.md index 0a9a82bf70..ccd63cf035 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/checking-for-existing-gpg-keys.md @@ -5,9 +5,9 @@ redirect_from: - /articles/checking-for-existing-gpg-keys - /github/authenticating-to-github/checking-for-existing-gpg-keys versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md b/content/github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md index 371c7c15fd..9f561f68ec 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/displaying-verification-statuses-for-all-of-your-commits.md @@ -3,7 +3,7 @@ title: Displaying verification statuses for all of your commits shortTitle: Displaying verification for all commits intro: You can enable vigilant mode for commit signature verification to mark all of your commits and tags with a signature verification status. versions: - free-pro-team: '*' + fpt: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key.md b/content/github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key.md index 14163465a3..66ad53eca9 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/generating-a-new-gpg-key.md @@ -5,9 +5,9 @@ redirect_from: - /articles/generating-a-new-gpg-key - /github/authenticating-to-github/generating-a-new-gpg-key versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -18,7 +18,7 @@ topics: {% note %} -**Note:** Before generating a new GPG key, make sure you've verified your email address. If you haven't verified your email address, you won't be able to sign commits and tags with GPG.{% if currentVersion == "free-pro-team@latest" %} For more information, see "[Verifying your email address](/articles/verifying-your-email-address)."{% endif %} +**Note:** Before generating a new GPG key, make sure you've verified your email address. If you haven't verified your email address, you won't be able to sign commits and tags with GPG.{% ifversion fpt %} For more information, see "[Verifying your email address](/articles/verifying-your-email-address)."{% endif %} {% endnote %} @@ -41,7 +41,7 @@ topics: {% note %} - **Note:** When asked to enter your email address, ensure that you enter the verified email address for your GitHub account. {% data reusables.gpg.private-email %} {% if currentVersion == "free-pro-team@latest" %} For more information, see "[Verifying your email address](/articles/verifying-your-email-address)" and "[Setting your commit email address](/articles/setting-your-commit-email-address)."{% endif %} + **Note:** When asked to enter your email address, ensure that you enter the verified email address for your GitHub account. {% data reusables.gpg.private-email %} {% ifversion fpt %} For more information, see "[Verifying your email address](/articles/verifying-your-email-address)" and "[Setting your commit email address](/articles/setting-your-commit-email-address)."{% endif %} {% endnote %} diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/index.md b/content/github/authenticating-to-github/managing-commit-signature-verification/index.md index a0aac99ba4..dd4fbd995e 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/index.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/index.md @@ -1,14 +1,14 @@ --- title: Managing commit signature verification -intro: 'You can sign your work locally using GPG or S/MIME. {% data variables.product.product_name %} will verify these signatures so other people will know that your commits come from a trusted source.{% if currentVersion == "free-pro-team@latest" %} {% data variables.product.product_name %} will automatically sign commits you make using the {% data variables.product.product_name %} web interface.{% endif %}' +intro: 'You can sign your work locally using GPG or S/MIME. {% data variables.product.product_name %} will verify these signatures so other people will know that your commits come from a trusted source.{% ifversion fpt %} {% data variables.product.product_name %} will automatically sign commits you make using the {% data variables.product.product_name %} web interface.{% endif %}' redirect_from: - /articles/generating-a-gpg-key/ - /articles/signing-commits-with-gpg/ - /articles/managing-commit-signature-verification versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/signing-commits.md b/content/github/authenticating-to-github/managing-commit-signature-verification/signing-commits.md index 52dcd981f0..76275fb9f1 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/signing-commits.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/signing-commits.md @@ -7,9 +7,9 @@ redirect_from: - /articles/signing-commits - /github/authenticating-to-github/signing-commits versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/signing-tags.md b/content/github/authenticating-to-github/managing-commit-signature-verification/signing-tags.md index da01417b22..ad9d72c22b 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/signing-tags.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/signing-tags.md @@ -6,9 +6,9 @@ redirect_from: - /articles/signing-tags - /github/authenticating-to-github/signing-tags versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key.md b/content/github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key.md index 53a8e68568..4a5b6ba970 100644 --- a/content/github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key.md +++ b/content/github/authenticating-to-github/managing-commit-signature-verification/telling-git-about-your-signing-key.md @@ -6,9 +6,9 @@ redirect_from: - /articles/telling-git-about-your-signing-key - /github/authenticating-to-github/telling-git-about-your-signing-key versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md index 1f339ebf2f..22f82b8fea 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication.md @@ -5,12 +5,12 @@ redirect_from: - /articles/about-two-factor-authentication - /github/authenticating-to-github/about-two-factor-authentication versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - 2FA --- -For {% data variables.product.product_name %}, the second form of authentication is a code that's generated by an application on your mobile device{% if currentVersion == "free-pro-team@latest" %} or sent as a text message (SMS){% endif %}. After you enable 2FA, {% data variables.product.product_name %} generates an authentication code any time someone attempts to sign into your {% data variables.product.product_name %} account. The only way someone can sign into your account is if they know both your password and have access to the authentication code on your phone. +For {% data variables.product.product_name %}, the second form of authentication is a code that's generated by an application on your mobile device{% ifversion fpt %} or sent as a text message (SMS){% endif %}. After you enable 2FA, {% data variables.product.product_name %} generates an authentication code any time someone attempts to sign into your {% data variables.product.product_name %} account. The only way someone can sign into your account is if they know both your password and have access to the authentication code on your phone. {% data reusables.two_fa.after-2fa-add-security-key %} @@ -24,7 +24,7 @@ For more information, see "[Accessing {% data variables.product.prodname_dotcom {% data reusables.two_fa.about-recovery-codes %} For more information, see "[Recovering your account if you lose your 2FA credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% warning %} @@ -36,6 +36,6 @@ For more information, see "[Accessing {% data variables.product.prodname_dotcom ## Requiring two-factor authentication in your organization -Organization owners can require that organization members{% if currentVersion == "free-pro-team@latest" %}, billing managers,{% endif %} and outside collaborators use two-factor authentication to secure their personal accounts. For more information, see "[Requiring two-factor authentication in your organization](/articles/requiring-two-factor-authentication-in-your-organization)." +Organization owners can require that organization members{% ifversion fpt %}, billing managers,{% endif %} and outside collaborators use two-factor authentication to secure their personal accounts. For more information, see "[Requiring two-factor authentication in your organization](/articles/requiring-two-factor-authentication-in-your-organization)." {% data reusables.two_fa.auth_methods_2fa %} diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md index d6aa69dfc3..0e19f568e3 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md @@ -8,8 +8,8 @@ redirect_from: - /articles/accessing-github-using-two-factor-authentication - /github/authenticating-to-github/accessing-github-using-two-factor-authentication versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - 2FA --- @@ -17,7 +17,7 @@ With two-factor authentication enabled, you'll need to provide an authentication ## Providing a 2FA code when signing in to the website -After you sign in to {% data variables.product.product_name %} using your password, you'll be prompted to provide an authentication code from {% if currentVersion == "free-pro-team@latest" %}a text message or{% endif %} your TOTP app. +After you sign in to {% data variables.product.product_name %} using your password, you'll be prompted to provide an authentication code from {% ifversion fpt %}a text message or{% endif %} your TOTP app. {% data variables.product.product_name %} will only ask you to provide your 2FA authentication code again if you've logged out, are using a new device, or your session expires. @@ -27,7 +27,7 @@ If you chose to set up two-factor authentication using a TOTP application on you If you delete the mobile application after configuring two-factor authentication, you'll need to provide your recovery code to get access to your account. For more information, see "[Recovering your account if you lose your two-factor authentication credentials](/articles/recovering-your-account-if-you-lose-your-2fa-credentials)" -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Receiving a text message diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md index f1042670e8..6147ccafb3 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/changing-two-factor-authentication-delivery-methods-for-your-mobile-device.md @@ -6,7 +6,7 @@ redirect_from: - /articles/changing-two-factor-authentication-delivery-methods-for-your-mobile-device - /github/authenticating-to-github/changing-two-factor-authentication-delivery-methods-for-your-mobile-device versions: - free-pro-team: '*' + fpt: '*' topics: - 2FA --- diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md index 8fa82e5072..496c5ae5ff 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods.md @@ -10,8 +10,8 @@ redirect_from: - /articles/configuring-two-factor-authentication-recovery-methods - /github/authenticating-to-github/configuring-two-factor-authentication-recovery-methods versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - 2FA --- @@ -51,7 +51,7 @@ Once you use a recovery code to regain access to your account, it cannot be reus You can set up a security key as a secondary two-factor authentication method, and use the security key to regain access to your account. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Setting a fallback authentication number diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md index 2b6f435e97..903abe7118 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md @@ -8,19 +8,19 @@ redirect_from: - /articles/configuring-two-factor-authentication - /github/authenticating-to-github/configuring-two-factor-authentication versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - 2FA --- -You can configure two-factor authentication using a mobile app{% if currentVersion == "free-pro-team@latest" %} or via text message{% endif %}. You can also add a security key. +You can configure two-factor authentication using a mobile app{% ifversion fpt %} or via text message{% endif %}. You can also add a security key. -We strongly recommend using a time-based one-time password (TOTP) application to configure 2FA.{% if currentVersion == "free-pro-team@latest" %} TOTP applications are more reliable than SMS, especially for locations outside the United States.{% endif %} TOTP apps support the secure backup of your authentication codes in the cloud and can be restored if you lose access to your device. +We strongly recommend using a time-based one-time password (TOTP) application to configure 2FA.{% ifversion fpt %} TOTP applications are more reliable than SMS, especially for locations outside the United States.{% endif %} TOTP apps support the secure backup of your authentication codes in the cloud and can be restored if you lose access to your device. {% warning %} **Warning:** -- If you're a member{% if currentVersion == "free-pro-team@latest" %}, billing manager,{% endif %} or outside collaborator to a private repository of an organization that requires two-factor authentication, you must leave the organization before you can disable 2FA on {% data variables.product.product_location %}. +- If you're a member{% ifversion fpt %}, billing manager,{% endif %} or outside collaborator to a private repository of an organization that requires two-factor authentication, you must leave the organization before you can disable 2FA on {% data variables.product.product_location %}. - If you disable 2FA, you will automatically lose access to the organization and any private forks you have of the organization's private repositories. To regain access to the organization and your forks, re-enable two-factor authentication and contact an organization owner. {% endwarning %} @@ -54,7 +54,7 @@ A time-based one-time password (TOTP) application automatically generates an aut ![TOTP Enable field](/assets/images/help/2fa/totp-enter-code.png) {% data reusables.two_fa.test_2fa_immediately %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Configuring two-factor authentication using text messages @@ -87,9 +87,9 @@ Before using this method, be sure that you can receive text messages. Carrier ra On most devices and browsers, you can use a physical security key over USB or NFC. Some browsers can use the fingerprint reader, facial recognition, or password/PIN on your device as a security key. -Authentication with a security key is *secondary* to authentication with a TOTP application{% if currentVersion == "free-pro-team@latest" %} or a text message{% endif %}. If you lose your security key, you'll still be able to use your phone's code to sign in. +Authentication with a security key is *secondary* to authentication with a TOTP application{% ifversion fpt %} or a text message{% endif %}. If you lose your security key, you'll still be able to use your phone's code to sign in. -1. You must have already configured 2FA via a TOTP mobile app{% if currentVersion == "free-pro-team@latest" %} or via SMS{% endif %}. +1. You must have already configured 2FA via a TOTP mobile app{% ifversion fpt %} or via SMS{% endif %}. 2. Ensure that you have a WebAuthn compatible security key inserted into your computer. {% data reusables.user_settings.access_settings %} {% data reusables.user_settings.security %} diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md index 303318e0d6..9638a4fdcf 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/countries-where-sms-authentication-is-supported.md @@ -5,7 +5,7 @@ redirect_from: - /articles/countries-where-sms-authentication-is-supported - /github/authenticating-to-github/countries-where-sms-authentication-is-supported versions: - free-pro-team: '*' + fpt: '*' topics: - 2FA --- diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md index 6336264e4e..f3be713e02 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md @@ -5,8 +5,8 @@ redirect_from: - /articles/disabling-two-factor-authentication-for-your-personal-account - /github/authenticating-to-github/disabling-two-factor-authentication-for-your-personal-account versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - 2FA --- @@ -14,7 +14,7 @@ We strongly recommend using two-factor authentication to secure your account. If {% warning %} -**Warning:** If you're a member{% if currentVersion == "free-pro-team@latest" %}, billing manager,{% endif %} or outside collaborator to a public repository of an organization that requires two-factor authentication and you disable 2FA, you'll be automatically removed from the organization, and you'll lose your access to their repositories. To regain access to the organization, re-enable two-factor authentication and contact an organization owner. +**Warning:** If you're a member{% ifversion fpt %}, billing manager,{% endif %} or outside collaborator to a public repository of an organization that requires two-factor authentication and you disable 2FA, you'll be automatically removed from the organization, and you'll lose your access to their repositories. To regain access to the organization, re-enable two-factor authentication and contact an organization owner. {% endwarning %} diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/index.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/index.md index 5cb69a8555..0231f68387 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/index.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/index.md @@ -6,8 +6,8 @@ redirect_from: - /categories/two-factor-authentication-2fa/ - /articles/securing-your-account-with-two-factor-authentication-2fa versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - 2FA children: diff --git a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md index e434ca1de0..f95440368f 100644 --- a/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md +++ b/content/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa/recovering-your-account-if-you-lose-your-2fa-credentials.md @@ -7,12 +7,12 @@ redirect_from: - /articles/recovering-your-account-if-you-lose-your-2fa-credentials - /github/authenticating-to-github/recovering-your-account-if-you-lose-your-2fa-credentials versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - 2FA --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% warning %} @@ -26,7 +26,7 @@ topics: Use one of your recovery codes to automatically regain entry into your account. You may have saved your recovery codes to a password manager or your computer's downloads folder. The default filename for recovery codes is `github-recovery-codes.txt`. For more information about recovery codes, see "[Configuring two-factor authentication recovery methods](/articles/configuring-two-factor-authentication-recovery-methods#downloading-your-two-factor-authentication-recovery-codes)." -{% data reusables.two_fa.username-password %}{% if currentVersion == "free-pro-team@latest" %} +{% data reusables.two_fa.username-password %}{% ifversion fpt %} 2. Under "Having Problems?", click **Enter a two-factor recovery code**. ![Link to use a recovery code](/assets/images/help/2fa/2fa-recovery-code-link.png){% else %} 2. On the 2FA page, under "Don't have your phone?", click **Enter a two-factor recovery code**. @@ -34,7 +34,7 @@ Use one of your recovery codes to automatically regain entry into your account. 3. Type one of your recovery codes, then click **Verify**. ![Field to type a recovery code and Verify button](/assets/images/help/2fa/2fa-type-verify-recovery-code.png) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Authenticating with a fallback number If you lose access to your primary TOTP app or phone number, you can provide a two-factor authentication code sent to your fallback number to automatically regain access to your account. @@ -44,7 +44,7 @@ If you lose access to your primary TOTP app or phone number, you can provide a t If you configured two-factor authentication using a security key, you can use your security key as a secondary authentication method to automatically regain access to your account. For more information, see "[Configuring two-factor authentication](/articles/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Authenticating with a verified device, SSH token, or personal access token If you know your {% data variables.product.product_name %} password but don't have the two-factor authentication credentials or your two-factor authentication recovery codes, you can have a one-time password sent to your verified email address to begin the verification process and regain access to your account. diff --git a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md b/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md index 837ee630d6..10d12c3eed 100644 --- a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md +++ b/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/checking-your-commit-and-tag-signature-verification-status.md @@ -6,9 +6,9 @@ redirect_from: - /articles/checking-your-commit-and-tag-signature-verification-status - /github/authenticating-to-github/checking-your-commit-and-tag-signature-verification-status versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management @@ -17,9 +17,9 @@ topics: 1. On {% data variables.product.product_name %}, navigate to your pull request. {% data reusables.repositories.review-pr-commits %} -3. Next to your commit's abbreviated commit hash, there is a box that shows whether your commit signature is verified{% if currentVersion == "free-pro-team@latest" %}, partially verified,{% endif %} or unverified. +3. Next to your commit's abbreviated commit hash, there is a box that shows whether your commit signature is verified{% ifversion fpt %}, partially verified,{% endif %} or unverified. ![Signed commit](/assets/images/help/commits/gpg-signed-commit-verified-without-details.png) -4. To view more detailed information about the commit signature, click **Verified**{% if currentVersion == "free-pro-team@latest" %}, **Partially verified**,{% endif %} or **Unverified**. +4. To view more detailed information about the commit signature, click **Verified**{% ifversion fpt %}, **Partially verified**,{% endif %} or **Unverified**. ![Verified signed commit](/assets/images/help/commits/gpg-signed-commit_verified_details.png) ## Checking your tag signature verification status @@ -28,9 +28,9 @@ topics: {% data reusables.repositories.releases %} 2. At the top of the Releases page, click **Tags**. ![Tags page](/assets/images/help/releases/tags-list.png) -3. Next to your tag description, there is a box that shows whether your tag signature is verified{% if currentVersion == "free-pro-team@latest" %}, partially verified,{% endif %} or unverified. +3. Next to your tag description, there is a box that shows whether your tag signature is verified{% ifversion fpt %}, partially verified,{% endif %} or unverified. ![verified tag signature](/assets/images/help/commits/gpg-signed-tag-verified.png) -4. To view more detailed information about the tag signature, click **Verified**{% if currentVersion == "free-pro-team@latest" %}, **Partially verified**,{% endif %} or **Unverified**. +4. To view more detailed information about the tag signature, click **Verified**{% ifversion fpt %}, **Partially verified**,{% endif %} or **Unverified**. ![Verified signed tag](/assets/images/help/commits/gpg-signed-tag-verified-details.png) ## Further reading diff --git a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/index.md b/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/index.md index 7db4da4616..003a1a8af4 100644 --- a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/index.md +++ b/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/index.md @@ -5,9 +5,9 @@ redirect_from: - /articles/troubleshooting-gpg/ - /articles/troubleshooting-commit-signature-verification versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md b/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md index ed40bd51b3..ec3f042344 100644 --- a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md +++ b/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/updating-an-expired-gpg-key.md @@ -5,9 +5,9 @@ redirect_from: - /articles/updating-an-expired-gpg-key - /github/authenticating-to-github/updating-an-expired-gpg-key versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management diff --git a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md b/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md index 67eb4445a1..fa5ee2680e 100644 --- a/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md +++ b/content/github/authenticating-to-github/troubleshooting-commit-signature-verification/using-a-verified-email-address-in-your-gpg-key.md @@ -5,14 +5,14 @@ redirect_from: - /articles/using-a-verified-email-address-in-your-gpg-key - /github/authenticating-to-github/using-a-verified-email-address-in-your-gpg-key versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Identity - Access management --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you need to verify your GitHub email address, see "[Verifying your email address](/articles/verifying-your-email-address/)." {% endif %}If you need to update or add an email address to your GPG key, see "[Associating an email with your GPG key](/articles/associating-an-email-with-your-gpg-key)." Commits and tags may contain several email addresses. For commits, there is the author — the person who wrote the code — and the committer — the person who added the commit to the tree. When signing a commit with Git, whether it be during a merge, cherry-pick, or normal `git commit`, the committer email address will be yours, even if the author email address isn't. Tags are more simple: The tagger email address is always the user who created the tag. diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys.md b/content/github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys.md index 75d37e8f43..2ebb1966fa 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/deleted-or-missing-ssh-keys.md @@ -5,7 +5,7 @@ redirect_from: - /articles/deleted-or-missing-ssh-keys - /github/authenticating-to-github/deleted-or-missing-ssh-keys versions: - free-pro-team: '*' + fpt: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md b/content/github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md index 32106dbe57..4c00a53541 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/error-agent-admitted-failure-to-sign.md @@ -6,9 +6,9 @@ redirect_from: - /articles/error-agent-admitted-failure-to-sign - /github/authenticating-to-github/error-agent-admitted-failure-to-sign versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number.md b/content/github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number.md index 7b32b034f7..0db50a2d11 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/error-bad-file-number.md @@ -5,9 +5,9 @@ redirect_from: - /articles/error-bad-file-number - /github/authenticating-to-github/error-bad-file-number versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- @@ -41,7 +41,7 @@ $ git clone https://{% data variables.command_line.codeblock %}/username debug1: Connecting to {% data variables.command_line.codeblock %} port 22. ``` -The connection should be made on port 22{% if currentVersion == "free-pro-team@latest" %}, unless you're overriding settings to use [SSH over HTTPS](/articles/using-ssh-over-the-https-port){% endif %}. +The connection should be made on port 22{% ifversion fpt %}, unless you're overriding settings to use [SSH over HTTPS](/articles/using-ssh-over-the-https-port){% endif %}. ## Always use the "git" user @@ -54,7 +54,7 @@ $ ssh -T git@{% data variables.command_line.codeblock %} {% mac %} {% data reusables.command_line.open_the_multi_os_terminal %} -2. Verify that you have a private key generated and loaded into SSH. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older: +2. Verify that you have a private key generated and loaded into SSH. {% ifversion ghes < 3.0 %}If you're using OpenSSH 6.7 or older: ```shell # start the ssh-agent in the background $ eval "$(ssh-agent -s)" @@ -89,7 +89,7 @@ $ ssh -T git@{% data variables.command_line.codeblock %} 1. {% data reusables.desktop.windows_git_bash_turn_on_ssh_agent %} {% data reusables.desktop.windows_git_for_windows_turn_on_ssh_agent %} -2. Verify that you have a private key generated and loaded into SSH. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older: +2. Verify that you have a private key generated and loaded into SSH. {% ifversion ghes < 3.0 %}If you're using OpenSSH 6.7 or older: ```shell $ ssh-add -l > 2048 a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/you/.ssh/id_rsa (RSA) @@ -111,7 +111,7 @@ $ ssh -T git@{% data variables.command_line.codeblock %} {% linux %} {% data reusables.command_line.open_the_multi_os_terminal %} -2. Verify that you have a private key generated and loaded into SSH. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older: +2. Verify that you have a private key generated and loaded into SSH. {% ifversion ghes < 3.0 %}If you're using OpenSSH 6.7 or older: ```shell # start the ssh-agent in the background $ eval "$(ssh-agent -s)" @@ -189,7 +189,7 @@ You must provide your public key to {% data variables.product.product_name %} to $ eval "$(ssh-agent -s)" > Agent pid 59566 ``` -3. Find and take a note of your public key fingerprint. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older: +3. Find and take a note of your public key fingerprint. {% ifversion ghes < 3.0 %}If you're using OpenSSH 6.7 or older: ```shell $ ssh-add -l > 2048 a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA) @@ -221,7 +221,7 @@ You must provide your public key to {% data variables.product.product_name %} to $ ssh-agent -s > Agent pid 59566 ``` -3. Find and take a note of your public key fingerprint. {% if currentVersion ver_lt "enterprise-server@3.0" %}If you're using OpenSSH 6.7 or older: +3. Find and take a note of your public key fingerprint. {% ifversion ghes < 3.0 %}If you're using OpenSSH 6.7 or older: ```shell $ ssh-add -l > 2048 a0:dd:42:3c:5a:9d:e4:2a:21:52:4e:78:07:6e:c8:4d /Users/USERNAME/.ssh/id_rsa (RSA) diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md b/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md index 75592424f3..6a46e51d9b 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-other-user.md @@ -6,9 +6,9 @@ redirect_from: - /articles/error-permission-to-userrepo-denied-to-other-user - /github/authenticating-to-github/error-permission-to-userrepo-denied-to-other-user versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md b/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md index 6b43fa59e5..f1f49bae93 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/error-permission-to-userrepo-denied-to-userother-repo.md @@ -6,9 +6,9 @@ redirect_from: - /articles/error-permission-to-userrepo-denied-to-userother-repo - /github/authenticating-to-github/error-permission-to-userrepo-denied-to-userother-repo versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k.md b/content/github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k.md index 5ab9513f8b..ea4a37d805 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/error-ssh-add-illegal-option----k.md @@ -6,9 +6,9 @@ redirect_from: - /articles/error-ssh-add-illegal-option----k - /github/authenticating-to-github/error-ssh-add-illegal-option----k versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md b/content/github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md index 7efa2e4ad7..2809628be8 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok.md @@ -5,7 +5,7 @@ redirect_from: - /articles/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok - /github/authenticating-to-github/error-ssl-certificate-problem-verify-that-the-ca-cert-is-ok versions: - free-pro-team: '*' + fpt: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type.md b/content/github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type.md index 47c1ae032c..7df952c642 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/error-unknown-key-type.md @@ -2,9 +2,9 @@ title: 'Error: Unknown key type' intro: 'This error means that the SSH key type you used was unrecognized or is unsupported by your SSH client. ' versions: - free-pro-team: '*' - enterprise-server: '>=3.2' - github-ae: next + fpt: '*' + ghes: '>=3.2' + ghae: next topics: - SSH redirect_from: diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md b/content/github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md index 92a807844f..e6836c90ad 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/error-were-doing-an-ssh-key-audit.md @@ -6,9 +6,9 @@ redirect_from: - /articles/error-were-doing-an-ssh-key-audit - /github/authenticating-to-github/error-were-doing-an-ssh-key-audit versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/index.md b/content/github/authenticating-to-github/troubleshooting-ssh/index.md index ad1e80820e..d36ebae604 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/index.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/index.md @@ -4,9 +4,9 @@ intro: 'When using SSH to connect and authenticate to {% data variables.product. redirect_from: - /articles/troubleshooting-ssh versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH children: diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md b/content/github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md index 6f1683b0dc..f53dbaa349 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/recovering-your-ssh-key-passphrase.md @@ -7,9 +7,9 @@ redirect_from: - /articles/recovering-your-ssh-key-passphrase - /github/authenticating-to-github/recovering-your-ssh-key-passphrase versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - SSH --- diff --git a/content/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port.md b/content/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port.md index 36c7c312cc..ab55a1dd19 100644 --- a/content/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port.md +++ b/content/github/authenticating-to-github/troubleshooting-ssh/using-ssh-over-the-https-port.md @@ -5,7 +5,7 @@ redirect_from: - /articles/using-ssh-over-the-https-port - /github/authenticating-to-github/using-ssh-over-the-https-port versions: - free-pro-team: '*' + fpt: '*' topics: - SSH --- diff --git a/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts.md b/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts.md index 5b899ed82b..dfacd92cb1 100644 --- a/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts.md +++ b/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts.md @@ -6,9 +6,9 @@ redirect_from: - /articles/about-merge-conflicts - /github/collaborating-with-issues-and-pull-requests/about-merge-conflicts versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/index.md b/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/index.md index 530aaa3444..b4105a2384 100644 --- a/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/index.md +++ b/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/index.md @@ -5,9 +5,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/addressing-merge-conflicts/ - /articles/addressing-merge-conflicts versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests children: diff --git a/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md b/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md index 573e3bee3f..ed756bbfe6 100644 --- a/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md +++ b/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github.md @@ -6,21 +6,21 @@ redirect_from: - /articles/resolving-a-merge-conflict-on-github - /github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- You can only resolve merge conflicts on {% data variables.product.product_name %} that are caused by competing line changes, such as when people make different changes to the same line of the same file on different branches in your Git repository. For all other types of merge conflicts, you must resolve the conflict locally on the command line. For more information, see "[Resolving a merge conflict using the command line](/articles/resolving-a-merge-conflict-using-the-command-line/)." -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} If a site administrator disables the merge conflict editor for pull requests between repositories, you cannot use the conflict editor on {% data variables.product.product_name %} and must resolve merge conflicts on the command line. For example, if the merge conflict editor is disabled, you cannot use it on a pull request between a fork and upstream repository. {% endif %} {% warning %} -{% if currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} **Warning:** When you resolve a merge conflict on {% data variables.product.product_name %}, the entire [base branch](/github/getting-started-with-github/github-glossary#base-branch) of your pull request is merged into the [head branch](/github/getting-started-with-github/github-glossary#head-branch), even if the head branch is the default branch of your repository or a protected branch. Make sure you really want to commit to this branch. {% else %} **Warning:** When you resolve a merge conflict on {% data variables.product.product_name %}, the entire [base branch](/github/getting-started-with-github/github-glossary#base-branch) of your pull request is merged into the [head branch](/github/getting-started-with-github/github-glossary#head-branch). Make sure you really want to commit to this branch. If the head branch is the default branch of your repository, you'll be given the option of creating a new branch to serve as the head branch for your pull request. If the head branch is protected you won't be able to merge your conflict resolution into it, so you'll be prompted to create a new head branch. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches)." @@ -35,7 +35,7 @@ If a site administrator disables the merge conflict editor for pull requests bet {% tip %} - **Tip:** If the **Resolve conflicts** button is deactivated, your pull request's merge conflict is too complex to resolve on {% data variables.product.product_name %}{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} or the site administrator has disabled the conflict editor for pull requests between repositories{% endif %}. You must resolve the merge conflict using an alternative Git client, or by using Git on the command line. For more information see "[Resolving a merge conflict using the command line](/articles/resolving-a-merge-conflict-using-the-command-line)." + **Tip:** If the **Resolve conflicts** button is deactivated, your pull request's merge conflict is too complex to resolve on {% data variables.product.product_name %}{% ifversion ghes or ghae %} or the site administrator has disabled the conflict editor for pull requests between repositories{% endif %}. You must resolve the merge conflict using an alternative Git client, or by using Git on the command line. For more information see "[Resolving a merge conflict using the command line](/articles/resolving-a-merge-conflict-using-the-command-line)." {% endtip %} {% data reusables.pull_requests.decide-how-to-resolve-competing-line-change-merge-conflict %} @@ -46,7 +46,7 @@ If a site administrator disables the merge conflict editor for pull requests bet 1. If you have more than one file with a conflict, select the next file you want to edit on the left side of the page under "conflicting files" and repeat steps four through seven until you've resolved all of your pull request's merge conflicts. ![Select next conflicting file if applicable](/assets/images/help/pull_requests/resolve-merge-conflict-select-conflicting-file.png) 1. Once you've resolved all your merge conflicts, click **Commit merge**. This merges the entire base branch into your head branch. - ![Resolve merge conflicts button](/assets/images/help/pull_requests/merge-conflict-commit-changes.png){% if currentVersion ver_lt "enterprise-server@2.22" %} + ![Resolve merge conflicts button](/assets/images/help/pull_requests/merge-conflict-commit-changes.png){% ifversion ghes < 2.22 %} 1. If prompted, review the branch that you are committing to. If you want to commit to this branch, click **I understand, update _BRANCH_**. ![Merge conflict confirmation window](/assets/images/help/pull_requests/merge-conflict-confirmation.png){% else %} 1. If prompted, review the branch that you are committing to. diff --git a/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md b/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md index e8b84b5b1e..f477cbb1cd 100644 --- a/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md +++ b/content/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line.md @@ -7,9 +7,9 @@ redirect_from: - /articles/resolving-a-merge-conflict-using-the-command-line - /github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md b/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md index 6bc0e5a5ea..ecdf1b1e1c 100644 --- a/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md +++ b/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md @@ -7,9 +7,9 @@ redirect_from: - /articles/about-status-checks - /github/collaborating-with-issues-and-pull-requests/about-status-checks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md b/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md index 94376b7d38..89f9544617 100644 --- a/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md +++ b/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/index.md @@ -1,14 +1,14 @@ --- title: Collaborating on repositories with code quality features -intro: 'Workflow quality features like statuses, {% if enterpriseServerVersions contains currentVersion %}pre-receive hooks, {% endif %}protected branches, and required status checks help collaborators make contributions that meet conditions set by organization and repository administrators.' +intro: 'Workflow quality features like statuses, {% ifversion ghes %}pre-receive hooks, {% endif %}protected branches, and required status checks help collaborators make contributions that meet conditions set by organization and repository administrators.' redirect_from: - /github/collaborating-with-issues-and-pull-requests/collaborating-on-repositories-with-code-quality-features/ - /articles/collaborating-on-repositories-with-code-quality-features-enabled/ - /articles/collaborating-on-repositories-with-code-quality-features versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests children: diff --git a/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks.md b/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks.md index 03e1d1739f..78280890f1 100644 --- a/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks.md +++ b/content/github/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/working-with-pre-receive-hooks.md @@ -6,7 +6,7 @@ redirect_from: - /articles/working-with-pre-receive-hooks - /github/collaborating-with-issues-and-pull-requests/working-with-pre-receive-hooks versions: - enterprise-server: '*' + ghes: '*' --- Pre-receive hooks run tests on code pushed to a repository to ensure contributions meet repository or organization policy. If the commit contents pass the tests, the push will be accepted into the repository. If the commit contents do not pass the tests, the push will not be accepted. diff --git a/content/github/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md b/content/github/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md index 26e852cf47..e880736537 100644 --- a/content/github/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md +++ b/content/github/collaborating-with-pull-requests/getting-started/about-collaborative-development-models.md @@ -7,9 +7,9 @@ redirect_from: - /articles/about-collaborative-development-models - /github/collaborating-with-issues-and-pull-requests/about-collaborative-development-models versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/getting-started/index.md b/content/github/collaborating-with-pull-requests/getting-started/index.md index f204b0ccbb..86b43f9a2f 100644 --- a/content/github/collaborating-with-pull-requests/getting-started/index.md +++ b/content/github/collaborating-with-pull-requests/getting-started/index.md @@ -6,9 +6,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/getting-started/ - /github/collaborating-with-issues-and-pull-requests/overview versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues diff --git a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md index 8e51f22927..4057759516 100644 --- a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md +++ b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges.md @@ -7,9 +7,9 @@ redirect_from: - /articles/about-pull-request-merges - /github/collaborating-with-issues-and-pull-requests/about-pull-request-merges versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md index 0a3e9ab43d..da8e9fbdf3 100644 --- a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request.md @@ -3,9 +3,9 @@ title: Automatically merging a pull request intro: You can increase development velocity by enabling auto-merge for a pull request so that the pull request will merge automatically when all merge requirements are met. product: '{% data reusables.gated-features.auto-merge %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.1' - github-ae: '*' + fpt: '*' + ghes: '>=3.1' + ghae: '*' topics: - Pull requests redirect_from: @@ -16,7 +16,7 @@ redirect_from: If you enable auto-merge for a pull request, the pull request will merge automatically when all required reviews are met and status checks have passed. Auto-merge prevents you from waiting around for requirements to be met, so you can move on to other tasks. -Before you can use auto-merge with a pull request, auto-merge must be enabled for the repository. For more information, see "[Managing auto-merge for pull requests in your repository](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository)."{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %} +Before you can use auto-merge with a pull request, auto-merge must be enabled for the repository. For more information, see "[Managing auto-merge for pull requests in your repository](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository)."{% ifversion fpt or ghae-next or ghes > 3.1 %} After you enable auto-merge for a pull request, if someone who does not have write permissions to the repository pushes new changes to the head branch or switches the base branch of the pull request, auto-merge will be disabled. For example, if a maintainer enables auto-merge for a pull request from a fork, auto-merge will be disabled after a contributor pushes new changes to the pull request.{% endif %} diff --git a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request.md b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request.md index c987418e78..806da57865 100644 --- a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request.md @@ -6,9 +6,9 @@ redirect_from: - /articles/closing-a-pull-request - /github/collaborating-with-issues-and-pull-requests/closing-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md index 2102f2f616..4d39417228 100644 --- a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md +++ b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/index.md @@ -5,9 +5,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/incorporating-changes-from-a-pull-request/ - /articles/incorporating-changes-from-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests children: diff --git a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md index 96636c7291..7340846a7f 100644 --- a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md @@ -6,9 +6,9 @@ redirect_from: - /articles/merging-a-pull-request - /github/collaborating-with-issues-and-pull-requests/merging-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -26,7 +26,7 @@ You can't merge a draft pull request. For more information about draft pull requ If you decide you don't want the changes in a topic branch to be merged to the upstream branch, you can [close the pull request](/articles/closing-a-pull-request) without merging. -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also merge a pull request using the {% data variables.product.prodname_cli %}. For more information, see "[`gh pr merge`](https://cli.github.com/manual/gh_pr_merge)" in the {% data variables.product.prodname_cli %} documentation. @@ -69,7 +69,7 @@ If you decide you don't want the changes in a topic branch to be merged to the u The repository may be configured so that the head branch for a pull request is automatically deleted when you merge a pull request. For more information, see "[Managing the automatic deletion of branches](/github/administering-a-repository/managing-the-automatic-deletion-of-branches)." - {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %} + {% ifversion fpt or ghae or ghes > 2.21 %} {% note %} **Note:** {% data reusables.pull_requests.retargeted-on-branch-deletion %} diff --git a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request.md b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request.md index cdad7c7f3c..0f264140d0 100644 --- a/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/reverting-a-pull-request.md @@ -6,9 +6,9 @@ redirect_from: - /articles/reverting-a-pull-request - /github/collaborating-with-issues-and-pull-requests/reverting-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/index.md b/content/github/collaborating-with-pull-requests/index.md index c36aa2821d..146ea886a1 100644 --- a/content/github/collaborating-with-pull-requests/index.md +++ b/content/github/collaborating-with-pull-requests/index.md @@ -9,9 +9,9 @@ redirect_from: - /categories/collaborating-on-projects-using-issues-and-pull-requests/ - /categories/collaborating-with-issues-and-pull-requests/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests children: diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md index f07487e281..75ac1c848a 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md @@ -7,9 +7,9 @@ redirect_from: - /articles/about-branches - /github/collaborating-with-issues-and-pull-requests/about-branches versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -27,11 +27,11 @@ You must have write access to a repository to create a branch, open a pull reque {% data reusables.branches.new-repo-default-branch %} The default branch is the branch that {% data variables.product.prodname_dotcom %} displays when anyone visits your repository. The default branch is also the initial branch that Git checks out locally when someone clones the repository. {% data reusables.branches.default-branch-automatically-base-branch %} -By default, {% data variables.product.product_name %} names the default branch {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}`main`{% else %}`master`{% endif %} in any new repository. +By default, {% data variables.product.product_name %} names the default branch {% ifversion fpt or ghes > 2.22 or ghae %}`main`{% else %}`master`{% endif %} in any new repository. {% data reusables.branches.change-default-branch %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} {% data reusables.branches.set-default-branch %} @@ -43,7 +43,7 @@ Once you're satisfied with your work, you can open a pull request to merge the c After a pull request has been merged, or closed, you can delete the head branch as this is no longer needed. You must have write access in the repository to delete branches. You can't delete branches that are directly associated with open pull requests. For more information, see "[Deleting and restoring branches in a pull request](/github/administering-a-repository/deleting-and-restoring-branches-in-a-pull-request)" -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghae or ghes > 2.21 %} {% data reusables.pull_requests.retargeted-on-branch-deletion %} The following diagrams illustrate this. @@ -76,7 +76,7 @@ When a branch is protected: - If required status checks are enabled on the branch, you won't be able to merge changes into the branch until all of the required CI tests pass. For more information, see "[About status checks](/articles/about-status-checks)." - If required pull request reviews are enabled on the branch, you won't be able to merge changes into the branch until all requirements in the pull request review policy have been met. For more information, see "[Merging a pull request](/articles/merging-a-pull-request)." - If required review from a code owner is enabled on a branch, and a pull request modifies code that has an owner, a code owner must approve the pull request before it can be merged. For more information, see "[About code owners](/articles/about-code-owners)." -- If required commit signing is enabled on a branch, you won't be able to push any commits to the branch that are not signed and verified. For more information, see "[About commit signature verification](/articles/about-commit-signature-verification)" and "[About protected branches](/github/administering-a-repository/about-protected-branches#require-signed-commits)."{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +- If required commit signing is enabled on a branch, you won't be able to push any commits to the branch that are not signed and verified. For more information, see "[About commit signature verification](/articles/about-commit-signature-verification)" and "[About protected branches](/github/administering-a-repository/about-protected-branches#require-signed-commits)."{% ifversion fpt or ghae or ghes > 2.21 %} - If you use {% data variables.product.prodname_dotcom %}'s conflict editor to fix conflicts for a pull request that you created from a protected branch, {% data variables.product.prodname_dotcom %} helps you to create an alternative branch for the pull request, so that your resolution of the conflicts can be merged. For more information, see "[Resolving a merge conflict on {% data variables.product.prodname_dotcom %}](/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github)."{% endif %} ## Further reading diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md index 797ece9d70..1e4f8051d3 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests.md @@ -6,9 +6,9 @@ redirect_from: - /articles/about-comparing-branches-in-pull-requests - /github/collaborating-with-issues-and-pull-requests/about-comparing-branches-in-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -19,7 +19,7 @@ topics: {% endnote %} You can view proposed changes in a pull request in the Files changed tab. -{% if currentVersion ver_lt "enterprise-server@3.0" %} +{% ifversion ghes < 3.0 %} ![Pull Request Files changed tab](/assets/images/enterprise/2.22/pull-request-tabs-changed-files.png){% else %} ![Pull Request Files changed tab](/assets/images/help/pull_requests/pull-request-tabs-changed-files.png){% endif %} diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests.md index 0f370e9577..7d42f48010 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests.md @@ -7,9 +7,9 @@ redirect_from: - /articles/about-pull-requests - /github/collaborating-with-issues-and-pull-requests/about-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -29,7 +29,7 @@ Once you've created a pull request, you can push commits from your topic branch Other contributors can review your proposed changes, add review comments, contribute to the pull request discussion, and even add commits to the pull request. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can see information about the branch's current deployment status and past deployment activity on the "Conversation" tab. For more information, see "[Viewing deployment activity for a repository](/articles/viewing-deployment-activity-for-your-repository)." {% endif %} diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request.md index 1f111baab9..2172243713 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request.md @@ -6,9 +6,9 @@ redirect_from: - /articles/changing-the-base-branch-of-a-pull-request - /github/collaborating-with-issues-and-pull-requests/changing-the-base-branch-of-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request.md index c467348d26..723fce3ddd 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request.md @@ -1,6 +1,6 @@ --- title: Changing the stage of a pull request -intro: 'You can mark a draft pull request as ready for review{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} or convert a pull request to a draft{% endif %}.' +intro: 'You can mark a draft pull request as ready for review{% ifversion fpt or ghae or ghes %} or convert a pull request to a draft{% endif %}.' permissions: People with write permissions to a repository and pull request authors can change the stage of a pull request. product: '{% data reusables.gated-features.draft-prs %}' redirect_from: @@ -8,9 +8,9 @@ redirect_from: - /articles/changing-the-stage-of-a-pull-request - /github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -18,7 +18,7 @@ topics: {% data reusables.pull_requests.mark-ready-review %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also mark a pull request as ready for review using the {% data variables.product.prodname_cli %}. For more information, see "[`gh pr ready`](https://cli.github.com/manual/gh_pr_ready)" in the {% data variables.product.prodname_cli %} documentation. @@ -31,7 +31,7 @@ topics: 3. In the merge box, click **Ready for review**. ![Ready for review button](/assets/images/help/pull_requests/ready-for-review-button.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} +{% ifversion fpt or ghae or ghes %} ## Converting a pull request to a draft diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md index 6a0f534ba4..26cd657393 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md @@ -6,9 +6,9 @@ redirect_from: - /articles/committing-changes-to-a-pull-request-branch-created-from-a-fork - /github/collaborating-with-issues-and-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork.md index ba5de83c8c..effbd546ac 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork.md @@ -7,9 +7,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork permissions: Anyone with write access to a repository can create a pull request from a user-owned fork. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md index f5d7663c96..d2e91b82d1 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.md @@ -6,9 +6,9 @@ redirect_from: - /articles/creating-a-pull-request - /github/collaborating-with-issues-and-pull-requests/creating-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -20,7 +20,7 @@ You can specify which branch you'd like to merge your changes into when you crea {% data reusables.pull_requests.close-issues-using-keywords %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can create a pull request using the {% data variables.product.prodname_cli %}. For more information, see "[`gh pr create`](https://cli.github.com/manual/gh_pr_create)" in the {% data variables.product.prodname_cli %} documentation. @@ -78,4 +78,4 @@ After your pull request has been reviewed, it can be [merged into the repository - "[Adding issues and pull requests to a project board from the sidebar](/articles/adding-issues-and-pull-requests-to-a-project-board/#adding-issues-and-pull-requests-to-a-project-board-from-the-sidebar)" - "[About automation for issues and pull requests with query parameters](/issues/tracking-your-work-with-issues/creating-issues/about-automation-for-issues-and-pull-requests-with-query-parameters)" - "[Assigning issues and pull requests to other GitHub users](/issues/tracking-your-work-with-issues/managing-issues/assigning-issues-and-pull-requests-to-other-github-users)" -- "[Writing on GitHub](/github/writing-on-github)" \ No newline at end of file +- "[Writing on GitHub](/github/writing-on-github)" diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md index c09b68ad84..586468f676 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository.md @@ -7,9 +7,9 @@ redirect_from: - /articles/creating-and-deleting-branches-within-your-repository - /github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -41,7 +41,7 @@ If the branch you want to delete is associated with an open pull request, you mu 1. Scroll to the branch that you want to delete, then click {% octicon "trash" aria-label="The trash icon to delete the branch" %}. ![delete the branch](/assets/images/help/branches/branches-delete.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghae or ghes > 2.21 %} {% data reusables.pull_requests.retargeted-on-branch-deletion %} {% endif %} For more information, see "[About branches](/github/collaborating-with-issues-and-pull-requests/about-branches#working-with-branches)." diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md index 448a796d35..12a6cd21d2 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/index.md @@ -5,9 +5,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests/ - /articles/proposing-changes-to-your-work-with-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests children: diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review.md index e7aba1e446..860fd0d23d 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review.md @@ -6,15 +6,15 @@ redirect_from: - /articles/requesting-a-pull-request-review - /github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- Owners and collaborators on a repository owned by a user account can assign pull request reviews. Organization members with triage permissions to a repository can assign a pull request review. -Owners or collaborators can assign a pull request review to any person that has been explicitly granted [read access](/articles/access-permissions-on-github) to a user-owned repository. Organization members can assign a pull request review to any person or team with read access to a repository. The requested reviewer or team will receive a notification that you asked them to review the pull request. {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %}If you request a review from a team and code review assignment is enabled, specific members will be requested and the team will be removed as a reviewer. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %} +Owners or collaborators can assign a pull request review to any person that has been explicitly granted [read access](/articles/access-permissions-on-github) to a user-owned repository. Organization members can assign a pull request review to any person or team with read access to a repository. The requested reviewer or team will receive a notification that you asked them to review the pull request. {% ifversion fpt or ghae or ghes %}If you request a review from a team and code review assignment is enabled, specific members will be requested and the team will be removed as a reviewer. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %} {% note %} diff --git a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md index d46d5ebe1e..9a161eb0aa 100644 --- a/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/using-query-parameters-to-create-a-pull-request.md @@ -1,10 +1,10 @@ --- title: Using query parameters to create a pull request -intro: 'Use query parameters to create custom URLs to open pull requests with pre-populated fields.' +intro: Use query parameters to create custom URLs to open pull requests with pre-populated fields. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews.md index 3b51477716..ac124b5869 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews.md @@ -6,9 +6,9 @@ redirect_from: - /articles/about-pull-request-reviews - /github/collaborating-with-issues-and-pull-requests/about-pull-request-reviews versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -16,11 +16,11 @@ topics: After a pull request is opened, anyone with *read* access can review and comment on the changes it proposes. You can also suggest specific changes to lines of code, which the author can apply directly from the pull request. For more information, see "[Reviewing proposed changes in a pull request](/articles/reviewing-proposed-changes-in-a-pull-request)." -Repository owners and collaborators can request a pull request review from a specific person. Organization members can also request a pull request review from a team with read access to the repository. For more information, see "[Requesting a pull request review](/articles/requesting-a-pull-request-review)." {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %}You can specify a subset of team members to be automatically assigned in the place of the whole team. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %} +Repository owners and collaborators can request a pull request review from a specific person. Organization members can also request a pull request review from a team with read access to the repository. For more information, see "[Requesting a pull request review](/articles/requesting-a-pull-request-review)." {% ifversion fpt or ghae or ghes %}You can specify a subset of team members to be automatically assigned in the place of the whole team. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %} Reviews allow for discussion of proposed changes and help ensure that the changes meet the repository's contributing guidelines and other quality standards. You can define which individuals or teams own certain types or areas of code in a CODEOWNERS file. When a pull request modifies code that has a defined owner, that individual or team will automatically be requested as a reviewer. For more information, see "[About code owners](/articles/about-code-owners/)." -{% if currentVersion == "free-pro-team@latest" %}You can schedule reminders for pull requests that need to be reviewed. For more information, see "[Managing scheduled reminders for pull requests](/github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests)."{% endif %} +{% ifversion fpt %}You can schedule reminders for pull requests that need to be reviewed. For more information, see "[Managing scheduled reminders for pull requests](/github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests)."{% endif %} ![Header of review requesting changes with line comments](/assets/images/help/pull_requests/review-header-with-line-comment.png) diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews.md index 1a3411f683..05276f209a 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews.md @@ -6,9 +6,9 @@ redirect_from: - /articles/approving-a-pull-request-with-required-reviews - /github/collaborating-with-issues-and-pull-requests/approving-a-pull-request-with-required-reviews versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md index b2004bf257..49185d45ba 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md @@ -7,9 +7,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally permissions: Anyone with write access to a repository can pull a remote pull request down locally. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -19,7 +19,7 @@ topics: {% endnote %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also check out a pull request locally using the {% data variables.product.prodname_cli %}. For more information, see "[`gh pr checkout`](https://cli.github.com/manual/gh_pr_checkout)" in the {% data variables.product.prodname_cli %} documentation. @@ -30,7 +30,7 @@ topics: ## Modifying an active pull request locally {% data reusables.repositories.sidebar-pr %} -2. In the list of pull requests, click the pull request you'd like to modify.{% if currentVersion == "free-pro-team@latest" %} +2. In the list of pull requests, click the pull request you'd like to modify.{% ifversion fpt %} 3. To choose where you'd like to open the pull request, select the **Open with {% octicon "triangle-down" aria-label="The down triangle icon" %}** drop-down and click one of the tabs. ![Link to access command line pull request instructions](/assets/images/help/pull_requests/open-with-button.png){% else %} 3. In the merge box, click **command line instructions**. Follow the sequence of steps to bring down the proposed pull request. diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md index 701e33c2ac..983a24681d 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request.md @@ -9,9 +9,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request intro: 'After you open a pull request in a repository, collaborators or team members can comment on the comparison of files between the two specified branches, or leave general comments on the project as a whole.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -59,5 +59,5 @@ Anyone watching the pull request or repository will receive a notification of yo ## Further reading - "[Writing on GitHub](/github/writing-on-github)" -{% if currentVersion == "free-pro-team@latest" %}- "[Reporting abuse or spam](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)" +{% ifversion fpt %}- "[Reporting abuse or spam](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)" {% endif %} diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review.md index e94ffa101d..0c34e225ae 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review.md @@ -6,9 +6,9 @@ redirect_from: - /articles/dismissing-a-pull-request-review - /github/collaborating-with-issues-and-pull-requests/dismissing-a-pull-request-review versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md index a50615e2e5..44731052f3 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request.md @@ -7,9 +7,9 @@ redirect_from: - /articles/filtering-files-in-a-pull-request - /github/collaborating-with-issues-and-pull-requests/filtering-files-in-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request.md index c9ae722c70..fa2946a04f 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/finding-changed-methods-and-functions-in-a-pull-request.md @@ -6,9 +6,9 @@ redirect_from: - /articles/finding-changed-methods-and-functions-in-a-pull-request - /github/collaborating-with-issues-and-pull-requests/finding-changed-methods-and-functions-in-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request.md index 0b6c998106..3fa2ebfc96 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request.md @@ -6,9 +6,9 @@ redirect_from: - /articles/incorporating-feedback-in-your-pull-request - /github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md index d92dc7c34a..c42f0eaa1a 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/reviewing-changes-in-pull-requests intro: 'After a pull request has been opened, you can review and discuss the set of proposed changes.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests children: diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md index 508c75d51d..5738598f6c 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md @@ -2,7 +2,7 @@ title: Reviewing dependency changes in a pull request intro: 'If a pull request contains changes to dependencies, you can view a summary of what has changed and whether there are known vulnerabilities in any of the dependencies.' versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Pull requests diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md index 536e95bf9a..c70298f303 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request.md @@ -6,9 +6,9 @@ redirect_from: - /articles/reviewing-proposed-changes-in-a-pull-request - /github/collaborating-with-issues-and-pull-requests/reviewing-proposed-changes-in-a-pull-request versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -33,7 +33,7 @@ Before you submit your review, your line comments are _pending_ and only visible ![Cancel review button](/assets/images/help/pull_requests/cancel-review-button.png) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Reviewing dependency changes If the pull request contains changes to dependencies you can use the dependency review for a manifest or lock file to see what has changed and check whether the changes introduce security vulnerabilities. For more information, see "[Reviewing dependency changes in a pull request](/github/collaborating-with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request)." diff --git a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review.md b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review.md index c571b32d66..0dccc9af9d 100644 --- a/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review.md +++ b/content/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/viewing-a-pull-request-review.md @@ -6,9 +6,9 @@ redirect_from: - /articles/viewing-a-pull-request-review - /github/collaborating-with-issues-and-pull-requests/viewing-a-pull-request-review versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/working-with-forks/about-forks.md b/content/github/collaborating-with-pull-requests/working-with-forks/about-forks.md index 74ff68ea2a..cbd91a3cec 100644 --- a/content/github/collaborating-with-pull-requests/working-with-forks/about-forks.md +++ b/content/github/collaborating-with-pull-requests/working-with-forks/about-forks.md @@ -6,9 +6,9 @@ redirect_from: - /articles/about-forks - /github/collaborating-with-issues-and-pull-requests/about-forks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -21,7 +21,7 @@ Forking a repository is similar to copying a repository, with two major differen {% data reusables.repositories.desktop-fork %} -Deleting a fork will not delete the original upstream repository. You can make any changes you want to your fork—add collaborators, rename files, generate {% data variables.product.prodname_pages %}—with no effect on the original.{% if currentVersion == "free-pro-team@latest" %} You cannot restore a deleted forked repository. For more information, see "[Restoring a deleted repository](/articles/restoring-a-deleted-repository)."{% endif %} +Deleting a fork will not delete the original upstream repository. You can make any changes you want to your fork—add collaborators, rename files, generate {% data variables.product.prodname_pages %}—with no effect on the original.{% ifversion fpt %} You cannot restore a deleted forked repository. For more information, see "[Restoring a deleted repository](/articles/restoring-a-deleted-repository)."{% endif %} In open source projects, forks are often used to iterate on ideas or changes before they are offered back to the upstream repository. When you make changes in your user-owned fork and open a pull request that compares your work to the upstream repository, you can give anyone with push access to the upstream repository permission to push changes to your pull request branch. This speeds up collaboration by allowing repository maintainers the ability to make commits or run tests locally to your pull request branch from a user-owned fork before merging. You cannot give push permissions to a fork owned by an organization. @@ -33,5 +33,5 @@ If you want to create a new repository from the contents of an existing reposito - "[About collaborative development models](/articles/about-collaborative-development-models)" - "[Creating a pull request from a fork](/articles/creating-a-pull-request-from-a-fork)" -- [Open Source Guides](https://opensource.guide/){% if currentVersion == "free-pro-team@latest" %} +- [Open Source Guides](https://opensource.guide/){% ifversion fpt %} - [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %} diff --git a/content/github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork.md b/content/github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork.md index 6f33787f93..68213520f4 100644 --- a/content/github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork.md +++ b/content/github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork.md @@ -7,9 +7,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork permissions: People with push access to the upstream repository of a fork owned by a user account can commit to the forked branches. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork.md b/content/github/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork.md index 00dd5ff142..559d2c5778 100644 --- a/content/github/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork.md +++ b/content/github/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork.md @@ -6,9 +6,9 @@ redirect_from: - /articles/configuring-a-remote-for-a-fork - /github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/working-with-forks/index.md b/content/github/collaborating-with-pull-requests/working-with-forks/index.md index c8323eea14..068eabeaca 100644 --- a/content/github/collaborating-with-pull-requests/working-with-forks/index.md +++ b/content/github/collaborating-with-pull-requests/working-with-forks/index.md @@ -5,9 +5,9 @@ redirect_from: - /github/collaborating-with-issues-and-pull-requests/working-with-forks/ - /articles/working-with-forks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests children: diff --git a/content/github/collaborating-with-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork.md b/content/github/collaborating-with-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork.md index 099c4be272..f8ac82a491 100644 --- a/content/github/collaborating-with-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork.md +++ b/content/github/collaborating-with-pull-requests/working-with-forks/merging-an-upstream-repository-into-your-fork.md @@ -6,9 +6,9 @@ redirect_from: - /articles/merging-an-upstream-repository-into-your-fork - /github/collaborating-with-issues-and-pull-requests/merging-an-upstream-repository-into-your-fork versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md b/content/github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md index 3daf4f5fc1..aec4249f8b 100644 --- a/content/github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md +++ b/content/github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork.md @@ -6,14 +6,14 @@ redirect_from: - /articles/syncing-a-fork - /github/collaborating-with-issues-and-pull-requests/syncing-a-fork versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## Syncing a fork from the web UI diff --git a/content/github/collaborating-with-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility.md b/content/github/collaborating-with-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility.md index c3bb4f2b95..193e1c42f3 100644 --- a/content/github/collaborating-with-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility.md +++ b/content/github/collaborating-with-pull-requests/working-with-forks/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility.md @@ -7,9 +7,9 @@ redirect_from: - /articles/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility - /github/collaborating-with-issues-and-pull-requests/what-happens-to-forks-when-a-repository-is-deleted-or-changes-visibility versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -19,7 +19,7 @@ topics: When you delete a private repository, all of its private forks are also deleted. -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ## Deleting a public repository @@ -31,7 +31,7 @@ When you delete a public repository, one of the existing public forks is chosen {% data reusables.repositories.private_forks_inherit_permissions %} -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ## Changing a public repository to a private repository @@ -39,7 +39,7 @@ If a public repository is made private, its public forks are split off into a ne In other words, a public repository's forks will remain public in their own separate repository network even after the parent repository is made private. This allows the fork owners to continue to work and collaborate without interruption. If public forks were not moved into a separate network in this way, the owners of those forks would need to get the appropriate [access permissions](/articles/access-permissions-on-github) to pull changes from and submit pull requests to the (now private) parent repository—even though they didn't need those permissions before. -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} If a public repository has anonymous Git read access enabled and the repository is made private, all of the repository's forks will lose anonymous Git read access and return to the default disabled setting. If a forked repository is made public, repository administrators can re-enable anonymous Git read access. For more information, see "[Enabling anonymous Git read access for a repository](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository)." {% endif %} @@ -57,7 +57,7 @@ If a private repository is made public and then deleted, its private forks will {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} ## Changing the visibility of an internal repository @@ -81,4 +81,4 @@ If you change the visibility of an internal repository and then delete the repos - "[About forks](/articles/about-forks)" - "[Managing the forking policy for your repository](/github/administering-a-repository/managing-the-forking-policy-for-your-repository)" - "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization)" -- "{% if currentVersion == "free-pro-team@latest" %}[Enforcing repository management policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account#enforcing-a-policy-on-forking-private-or-internal-repositories){% else %}[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-on-forking-private-or-internal-repositories){% endif %}" +- "{% ifversion fpt %}[Enforcing repository management policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account#enforcing-a-policy-on-forking-private-or-internal-repositories){% else %}[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-on-forking-private-or-internal-repositories){% endif %}" diff --git a/content/github/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md b/content/github/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md index f10a5bc5a8..d1debcb666 100644 --- a/content/github/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md +++ b/content/github/committing-changes-to-your-project/creating-and-editing-commits/about-commits.md @@ -6,9 +6,9 @@ redirect_from: - /github/committing-changes-to-your-project/why-are-my-commits-in-the-wrong-order - /github/committing-changes-to-your-project/about-commits versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## About commits @@ -16,7 +16,7 @@ versions: You can add a co-author on any commits you collaborate on. For more information, see "[Creating a commit with multiple authors](/github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can also create a commit on behalf of an organization. For more information, see "[Creating a commit on behalf of an organization](/github/committing-changes-to-your-project/creating-a-commit-on-behalf-of-an-organization)."{% endif %} Rebasing allows you to change a series of commits and can modify the order of the commits in your timeline. For more information, see "[About git rebase](/github/getting-started-with-github/about-git-rebase)." diff --git a/content/github/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md b/content/github/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md index aa9a21e99c..d4d1d240c5 100644 --- a/content/github/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md +++ b/content/github/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md @@ -6,9 +6,9 @@ redirect_from: - /github/committing-changes-to-your-project/changing-a-commit-message intro: 'If a commit message contains unclear, incorrect, or sensitive information, you can amend it locally and push a new commit with a new message to {% data variables.product.product_name %}. You can also change a commit message to add missing information.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Rewriting the most recent commit message @@ -24,7 +24,7 @@ If the commit only exists in your local repository and has not been pushed to {% 2. Type `git commit --amend` and press **Enter**. 3. In your text editor, edit the commit message, and save the commit. - You can add a co-author by adding a trailer to the commit. For more information, see "[Creating a commit with multiple authors](/articles/creating-a-commit-with-multiple-authors)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - You can create commits on behalf of your organization by adding a trailer to the commit. For more information, see "[Creating a commit on behalf of an organization](/articles/creating-a-commit-on-behalf-of-an-organization)" {% endif %} diff --git a/content/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md b/content/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md index 08f73cf824..cf292c749f 100644 --- a/content/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md +++ b/content/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-on-behalf-of-an-organization.md @@ -5,7 +5,7 @@ redirect_from: - /articles/creating-a-commit-on-behalf-of-an-organization - /github/committing-changes-to-your-project/creating-a-commit-on-behalf-of-an-organization versions: - free-pro-team: '*' + fpt: '*' --- {% note %} diff --git a/content/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors.md b/content/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors.md index 1a5c46aac5..cb239941c3 100644 --- a/content/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors.md +++ b/content/github/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors.md @@ -1,19 +1,19 @@ --- title: Creating a commit with multiple authors -intro: 'You can attribute a commit to more than one author by adding one or more `Co-authored-by` trailers to the commit''s message. Co-authored commits are visible on {% data variables.product.product_name %}{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} and can be included in the profile contributions graph and the repository''s statistics{% endif %}.' +intro: 'You can attribute a commit to more than one author by adding one or more `Co-authored-by` trailers to the commit''s message. Co-authored commits are visible on {% data variables.product.product_name %}{% ifversion ghes or ghae %} and can be included in the profile contributions graph and the repository''s statistics{% endif %}.' redirect_from: - /articles/creating-a-commit-with-multiple-authors - /github/committing-changes-to-your-project/creating-a-commit-with-multiple-authors versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Required co-author information Before you can add a co-author to a commit, you must know the appropriate email to use for each co-author. For the co-author's commit to count as a contribution, you must use the email associated with their {% data variables.product.product_name %} account. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If a person chooses to keep their email address private, you should use their {% data variables.product.product_name %}-provided `no-reply` email to protect their privacy. Otherwise, the co-author's email will be available to the public in the commit message. If you want to keep your email private, you can choose to use a {% data variables.product.product_name %}-provided `no-reply` email for Git operations and ask other co-authors to list your `no-reply` email in commit trailers. @@ -79,7 +79,7 @@ After you've made changes in a file using the web editor on {% data variables.pr The new commit and message will appear on {% data variables.product.product_location %}. ## Further reading -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} - "[Viewing contributions on your profile](/articles/viewing-contributions-on-your-profile)" - "[Why are my contributions not showing up on my profile?](/articles/why-are-my-contributions-not-showing-up-on-my-profile)"{% endif %} - "[Viewing a summary of repository activity](/articles/viewing-a-summary-of-repository-activity)" diff --git a/content/github/committing-changes-to-your-project/creating-and-editing-commits/index.md b/content/github/committing-changes-to-your-project/creating-and-editing-commits/index.md index bc1c2dbfc0..893fd5f8af 100644 --- a/content/github/committing-changes-to-your-project/creating-and-editing-commits/index.md +++ b/content/github/committing-changes-to-your-project/creating-and-editing-commits/index.md @@ -4,9 +4,9 @@ intro: '' redirect_from: - /articles/creating-and-editing-commits versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /about-commits - /creating-a-commit-with-multiple-authors diff --git a/content/github/committing-changes-to-your-project/index.md b/content/github/committing-changes-to-your-project/index.md index 7e48e0ef5c..1fd244dff0 100644 --- a/content/github/committing-changes-to-your-project/index.md +++ b/content/github/committing-changes-to-your-project/index.md @@ -1,16 +1,17 @@ --- title: Committing changes to your project -intro: 'You can manage code changes in a repository by grouping work into commits.' +intro: You can manage code changes in a repository by grouping work into commits. redirect_from: - /categories/21/articles/ - /categories/commits/ - /categories/committing-changes-to-your-project versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /creating-and-editing-commits - /viewing-and-comparing-commits - /troubleshooting-commits --- + diff --git a/content/github/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md b/content/github/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md index e238329ddc..41bb044d47 100644 --- a/content/github/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md +++ b/content/github/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md @@ -5,9 +5,9 @@ redirect_from: - /articles/commit-exists-on-github-but-not-in-my-local-clone - /github/committing-changes-to-your-project/commit-exists-on-github-but-not-in-my-local-clone versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- When you use `git show` to view a specific commit on the command line, you may get a fatal error. diff --git a/content/github/committing-changes-to-your-project/troubleshooting-commits/index.md b/content/github/committing-changes-to-your-project/troubleshooting-commits/index.md index ca82b55c06..aaf95fb085 100644 --- a/content/github/committing-changes-to-your-project/troubleshooting-commits/index.md +++ b/content/github/committing-changes-to-your-project/troubleshooting-commits/index.md @@ -4,9 +4,9 @@ intro: '' redirect_from: - /articles/troubleshooting-commits versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /commit-exists-on-github-but-not-in-my-local-clone - /why-are-my-commits-linked-to-the-wrong-user diff --git a/content/github/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user.md b/content/github/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user.md index 320045cef1..275c6dfba2 100644 --- a/content/github/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user.md +++ b/content/github/committing-changes-to-your-project/troubleshooting-commits/why-are-my-commits-linked-to-the-wrong-user.md @@ -4,11 +4,11 @@ redirect_from: - /articles/how-do-i-get-my-commits-to-link-to-my-github-account/ - /articles/why-are-my-commits-linked-to-the-wrong-user - /github/committing-changes-to-your-project/why-are-my-commits-linked-to-the-wrong-user -intro: '{% data variables.product.product_name %} uses the email address in the commit header to link the commit to a GitHub user. If your commits are being linked to another user, or not linked to a user at all, you may need to change your local Git configuration settings{% if currentVersion != "github-ae@latest" %}, add an email address to your account email settings, or do both{% endif %}.' +intro: '{% data variables.product.product_name %} uses the email address in the commit header to link the commit to a GitHub user. If your commits are being linked to another user, or not linked to a user at all, you may need to change your local Git configuration settings{% ifversion not ghae %}, add an email address to your account email settings, or do both{% endif %}.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% tip %} @@ -18,7 +18,7 @@ versions: ## Commits are linked to another user -If your commits are linked to another user, that means the email address in your local Git configuration settings is connected to that user's account on {% data variables.product.product_name %}. In this case, you can change the email in your local Git configuration settings{% if currentVersion == "github-ae@latest" %} to the address associated with your account on {% data variables.product.product_name %} to link your future commits. Old commits will not be linked. For more information, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)."{% else %} and add the new email address to your {% data variables.product.product_name %} account to link future commits to your account. +If your commits are linked to another user, that means the email address in your local Git configuration settings is connected to that user's account on {% data variables.product.product_name %}. In this case, you can change the email in your local Git configuration settings{% ifversion ghae %} to the address associated with your account on {% data variables.product.product_name %} to link your future commits. Old commits will not be linked. For more information, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)."{% else %} and add the new email address to your {% data variables.product.product_name %} account to link future commits to your account. 1. To change the email address in your local Git configuration, follow the steps in "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)". If you work on multiple machines, you will need to change this setting on each one. 2. Add the email address from step 2 to your account settings by following the steps in "[Adding an email address to your GitHub account](/articles/adding-an-email-address-to-your-github-account)".{% endif %} @@ -36,11 +36,11 @@ To check the email address used for those commits and connect commits to your ac 2. To read a message about why the commit is not linked, hover over the blue {% octicon "question" aria-label="Question mark" %} to the right of the username. ![Commit hover message](/assets/images/help/commits/commit-hover-msg.png) - - **Unrecognized author (with email address)** If you see this message with an email address, the address you used to author the commit is not connected to your account on {% data variables.product.product_name %}. {% if currentVersion != "github-ae@latest" %}To link your commits, [add the email address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account).{% endif %} If the email address has a Gravatar associated with it, the Gravatar will be displayed next to the commit, rather than the default gray Octocat. - - **Unrecognized author (no email address)** If you see this message without an email address, you used a generic email address that can't be connected to your account on {% data variables.product.product_name %}.{% if currentVersion != "github-ae@latest" %} You will need to [set your commit email address in Git](/articles/setting-your-commit-email-address), then [add the new address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account) to link your future commits. Old commits will not be linked.{% endif %} - - **Invalid email** The email address in your local Git configuration settings is either blank or not formatted as an email address.{% if currentVersion != "github-ae@latest" %} You will need to [set your commit email address in Git](/articles/setting-your-commit-email-address), then [add the new address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account) to link your future commits. Old commits will not be linked.{% endif %} + - **Unrecognized author (with email address)** If you see this message with an email address, the address you used to author the commit is not connected to your account on {% data variables.product.product_name %}. {% ifversion not ghae %}To link your commits, [add the email address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account).{% endif %} If the email address has a Gravatar associated with it, the Gravatar will be displayed next to the commit, rather than the default gray Octocat. + - **Unrecognized author (no email address)** If you see this message without an email address, you used a generic email address that can't be connected to your account on {% data variables.product.product_name %}.{% ifversion not ghae %} You will need to [set your commit email address in Git](/articles/setting-your-commit-email-address), then [add the new address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account) to link your future commits. Old commits will not be linked.{% endif %} + - **Invalid email** The email address in your local Git configuration settings is either blank or not formatted as an email address.{% ifversion not ghae %} You will need to [set your commit email address in Git](/articles/setting-your-commit-email-address), then [add the new address to your GitHub email settings](/articles/adding-an-email-address-to-your-github-account) to link your future commits. Old commits will not be linked.{% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} You can change the email in your local Git configuration settings to the address associated with your account to link your future commits. Old commits will not be linked. For more information, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)." {% endif %} diff --git a/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/commit-branch-and-tag-labels.md b/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/commit-branch-and-tag-labels.md index fbfab550dd..bd80b1ee34 100644 --- a/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/commit-branch-and-tag-labels.md +++ b/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/commit-branch-and-tag-labels.md @@ -5,9 +5,9 @@ redirect_from: - /articles/commit-branch-and-tag-labels - /github/committing-changes-to-your-project/commit-branch-and-tag-labels versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- If your commit is not on the default branch, an indicator will show the branches which contain the commit. If the commit is part of an unmerged pull request, it will show a link. diff --git a/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits.md b/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits.md index 7d73aaf397..e573f89340 100644 --- a/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits.md +++ b/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/comparing-commits.md @@ -1,14 +1,14 @@ --- title: Comparing commits -intro: You can compare the state of your repository across branches, tags, commits, forks, and dates. +intro: 'You can compare the state of your repository across branches, tags, commits, forks, and dates.' redirect_from: - /articles/comparing-commits-across-time - /github/committing-changes-to-your-project/comparing-commits-across-time - /github/committing-changes-to-your-project/comparing-commits versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- To compare different versions of your repository, append `/compare` to your repository's path. @@ -28,10 +28,10 @@ Here's an example of a [comparison between two branches](https://github.com/octo ## Comparing tags -Comparing release tags will show you changes to your repository since the last release. {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} +Comparing release tags will show you changes to your repository since the last release. {% ifversion fpt or ghae or ghes %} For more information, see "[Comparing releases](/github/administering-a-repository/comparing-releases)."{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}To compare tags, you can select a tag name from the `compare` drop-down menu at the top of the page.{% else %} Instead of typing a branch name, type the name of your tag in the `compare` drop down menu.{% endif %} +{% ifversion fpt or ghae or ghes %}To compare tags, you can select a tag name from the `compare` drop-down menu at the top of the page.{% else %} Instead of typing a branch name, type the name of your tag in the `compare` drop down menu.{% endif %} Here's an example of a [comparison between two tags](https://github.com/octocat/linguist/compare/v2.2.0...octocat:v2.3.3). diff --git a/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/differences-between-commit-views.md b/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/differences-between-commit-views.md index e081da51d1..b35f30aacc 100644 --- a/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/differences-between-commit-views.md +++ b/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/differences-between-commit-views.md @@ -5,9 +5,9 @@ redirect_from: - /articles/differences-between-commit-views - /github/committing-changes-to-your-project/differences-between-commit-views versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- On {% data variables.product.product_name %}, you can see the commit history of a repository by: diff --git a/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/index.md b/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/index.md index 00f930ee6b..702ea5e364 100644 --- a/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/index.md +++ b/content/github/committing-changes-to-your-project/viewing-and-comparing-commits/index.md @@ -4,9 +4,9 @@ intro: '' redirect_from: - /articles/viewing-and-comparing-commits versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /commit-branch-and-tag-labels - /comparing-commits diff --git a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-content-and-data-on-github.md b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-content-and-data-on-github.md index 2479cece2e..52a2961b9d 100644 --- a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-content-and-data-on-github.md +++ b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-content-and-data-on-github.md @@ -5,7 +5,7 @@ redirect_from: - /articles/about-archiving-content-and-data-on-github - /github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-repositories.md b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-repositories.md index e3b8a0be31..616d937113 100644 --- a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-repositories.md +++ b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/about-archiving-repositories.md @@ -5,13 +5,13 @@ redirect_from: - /articles/about-archiving-repositories - /github/creating-cloning-and-archiving-repositories/about-archiving-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** If you have a legacy per-repository billing plan, you will still be charged for your archived repository. If you don't want to be charged for an archived repository, you must upgrade to a new product. For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)." diff --git a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/archiving-repositories.md b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/archiving-repositories.md index 50b91e7ff7..64b03cc200 100644 --- a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/archiving-repositories.md +++ b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/archiving-repositories.md @@ -5,9 +5,9 @@ redirect_from: - /articles/archiving-repositories - /github/creating-cloning-and-archiving-repositories/archiving-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/backing-up-a-repository.md b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/backing-up-a-repository.md index 2fc27ac42d..8621fbe109 100644 --- a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/backing-up-a-repository.md +++ b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/backing-up-a-repository.md @@ -1,17 +1,17 @@ --- title: Backing up a repository -intro: 'You can use{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} Git and{% endif %} the API {% if currentVersion == "free-pro-team@latest" %}or a third-party tool {% endif %}to back up your repository.' +intro: 'You can use{% ifversion ghes or ghae %} Git and{% endif %} the API {% ifversion fpt %}or a third-party tool {% endif %}to back up your repository.' redirect_from: - /articles/backing-up-a-repository - /github/creating-cloning-and-archiving-repositories/backing-up-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} To download an archive of your repository, you can use the API for user or organization migrations. For more information, see "[Migrations](/rest/reference/migrations)." {% else %} @@ -34,9 +34,9 @@ When you clone a repository or wiki, only Git data, such as project files and co - [Projects](/rest/reference/projects#list-repository-projects) {% endif %} -Once you have {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}a local version of all the content you want to back up, you can create a zip archive and {% else %}downloaded your archive, you can {% endif %}copy it to an external hard drive and/or upload it to a cloud-based backup service such as [Google Drive](https://www.google.com/drive/) or [Dropbox](https://www.dropbox.com/). +Once you have {% ifversion ghes or ghae %}a local version of all the content you want to back up, you can create a zip archive and {% else %}downloaded your archive, you can {% endif %}copy it to an external hard drive and/or upload it to a cloud-based backup service such as [Google Drive](https://www.google.com/drive/) or [Dropbox](https://www.dropbox.com/). -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Third-party backup tools A number of self-service tools exist that automate backups of repositories. Unlike archival projects, which archive _all_ public repositories on {% data variables.product.product_name %} that have not opted out and make the data accessible to anyone, backup tools will download data from _specific_ repositories and organize it within a new branch or directory. For more information about archival projects, see "[About archiving content and data on {% data variables.product.prodname_dotcom %}](/github/creating-cloning-and-archiving-repositories/about-archiving-content-and-data-on-github#about-the-github-archive-program)." For more information about self-service backup tools, see the [Backup Utilities category on {% data variables.product.prodname_marketplace %}](https://github.com/marketplace?category=backup-utilities). diff --git a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/index.md b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/index.md index 23bdfdaa48..3652f3f95c 100644 --- a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/index.md +++ b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/archiving-a-github-repository - /enterprise/admin/user-management/archiving-and-unarchiving-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/referencing-and-citing-content.md b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/referencing-and-citing-content.md index a2192ba5c6..41f1cf6db1 100644 --- a/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/referencing-and-citing-content.md +++ b/content/github/creating-cloning-and-archiving-repositories/archiving-a-github-repository/referencing-and-citing-content.md @@ -5,7 +5,7 @@ redirect_from: - /articles/referencing-and-citing-content - /github/creating-cloning-and-archiving-repositories/referencing-and-citing-content versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository.md b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository.md index 1a5949282e..676d77f782 100644 --- a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository.md +++ b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository.md @@ -5,9 +5,9 @@ redirect_from: - /articles/cloning-a-repository - /github/creating-cloning-and-archiving-repositories/cloning-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -19,7 +19,7 @@ Cloning a repository pulls down a full copy of all the repository data that {% d You can clone your existing repository or clone another person's existing repository to contribute to a project. -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also clone a repository using the {% data variables.product.prodname_cli %}. For more information, see "[`gh repo clone`](https://cli.github.com/manual/gh_repo_clone)" in the {% data variables.product.prodname_cli %} documentation. @@ -70,7 +70,7 @@ If you're unable to clone a repository, check that: - You have permission to access the repository you want to clone. For more information, see "[Error: Repository not found](/github/creating-cloning-and-archiving-repositories/error-repository-not-found)." - The default branch you want to clone still exists. For more information, see have permission to access the repository you want to clone. For more information, see "[Error: Remote HEAD refers to nonexistent ref, unable to checkout](/github/creating-cloning-and-archiving-repositories/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading diff --git a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout.md b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout.md index 00ee1377da..96c4a7839b 100644 --- a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout.md +++ b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout.md @@ -5,9 +5,9 @@ redirect_from: - /articles/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout - /github/creating-cloning-and-archiving-repositories/error-remote-head-refers-to-nonexistent-ref-unable-to-checkout versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/error-repository-not-found.md b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/error-repository-not-found.md index 5c774a87c2..8c247b96b1 100644 --- a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/error-repository-not-found.md +++ b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/error-repository-not-found.md @@ -1,13 +1,13 @@ --- title: 'Error: Repository not found' -intro: '{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}If you see this error when cloning a repository, it means that the repository does not exist or you do not have permission to access it.{% else %}If you see this error when cloning a repository, it means that the repository does not exist, you do not have permission to access it, or {% data variables.product.product_location %} is in private mode.{% endif %} There are a few solutions to this error, depending on the cause.' +intro: '{% ifversion fpt or ghae %}If you see this error when cloning a repository, it means that the repository does not exist or you do not have permission to access it.{% else %}If you see this error when cloning a repository, it means that the repository does not exist, you do not have permission to access it, or {% data variables.product.product_location %} is in private mode.{% endif %} There are a few solutions to this error, depending on the cause.' redirect_from: - /articles/error-repository-not-found - /github/creating-cloning-and-archiving-repositories/error-repository-not-found versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -46,7 +46,7 @@ If the repository belongs to an organization and you're using an SSH key generat For more information, see [Adding a new SSH key to your GitHub account](/articles/adding-a-new-ssh-key-to-your-github-account). -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Check if your instance is in private mode If your site administrator has enabled private mode on your GitHub Enterprise instance, anonymous clones over `git://` will be disabled. If you are unable to clone a repository, contact your site administrator. diff --git a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/https-cloning-errors.md b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/https-cloning-errors.md index 21a79d608e..fa240b6466 100644 --- a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/https-cloning-errors.md +++ b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/https-cloning-errors.md @@ -9,9 +9,9 @@ redirect_from: - /articles/https-cloning-errors - /github/creating-cloning-and-archiving-repositories/https-cloning-errors versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/index.md b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/index.md index ca928c7b90..b2f5a2be92 100644 --- a/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/index.md +++ b/content/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/index.md @@ -4,9 +4,9 @@ intro: 'You can clone a remote repository to your local machine. If you run into redirect_from: - /articles/cloning-a-repository-from-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners.md index b0d6d7e8a1..b2d5eccdcf 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners.md @@ -7,9 +7,9 @@ redirect_from: - /github/creating-cloning-and-archiving-repositories/about-code-owners product: '{% data reusables.gated-features.code-owners %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -23,9 +23,9 @@ Code owners are automatically requested for review when someone opens a pull req When someone with admin or owner permissions has enabled required reviews, they also can optionally require approval from a code owner before the author can merge a pull request in the repository. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging)." -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %}If a team has enabled code review assignments, the individual approvals won't satisfy the requirement for code owner approval in a protected branch. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %} +{% ifversion fpt or ghae or ghes %}If a team has enabled code review assignments, the individual approvals won't satisfy the requirement for code owner approval in a protected branch. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghae or ghes > 2.22 %} If a file has a code owner, you can see who the code owner is before you open a pull request. In the repository, you can browse to the file and hover over {% octicon "shield-lock" aria-label="The edit icon" %}. ![Code owner for a file in a repository](/assets/images/help/repository/code-owner-for-a-file.png) diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes.md index 4beae580d7..6eadb437c6 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes.md @@ -7,17 +7,17 @@ redirect_from: - /articles/about-readmes - /github/creating-cloning-and-archiving-repositories/about-readmes versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- ## About READMEs -You can add a README file to a repository to communicate important information about your project. A README, along with a repository license{% if currentVersion == "free-pro-team@latest" %}, contribution guidelines, and a code of conduct{% elsif enterpriseServerVersions contains currentVersion %} and contribution guidelines{% endif %}, communicates expectations for your project and helps you manage contributions. +You can add a README file to a repository to communicate important information about your project. A README, along with a repository license{% ifversion fpt %}, contribution guidelines, and a code of conduct{% elsif ghes %} and contribution guidelines{% endif %}, communicates expectations for your project and helps you manage contributions. -For more information about providing guidelines for your project, see {% if currentVersion == "free-pro-team@latest" %}"[Adding a code of conduct to your project](/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project)" and {% endif %}"[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)." +For more information about providing guidelines for your project, see {% ifversion fpt %}"[Adding a code of conduct to your project](/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project)" and {% endif %}"[Setting up your project for healthy contributions](/communities/setting-up-your-project-for-healthy-contributions)." A README is often the first item a visitor will see when visiting your repository. README files typically include information on: - What the project does @@ -30,9 +30,9 @@ If you put your README file in your repository's root, `docs`, or hidden `.githu ![Main page of the github/scientist repository and its README file](/assets/images/help/repository/repo-with-readme.png) -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghae or ghes > 2.21 %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21"%} +{% ifversion fpt or ghes > 2.21 %} {% data reusables.profile.profile-readme %} diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories.md index 2c990779aa..7ff0753c74 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repositories.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-repositories - /github/creating-cloning-and-archiving-repositories/about-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -17,14 +17,14 @@ You can restrict who has access to a repository by choosing the repository's vis For user-owned repositories, you can give other people collaborator access so that they can collaborate on your project. If a repository is owned by an organization, you can give organization members access permissions to collaborate on your repository. For more information, see "[Permission levels for a user account repository](/articles/permission-levels-for-a-user-account-repository/)" and "[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization/)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} With {% data variables.product.prodname_free_team %} for user accounts and organizations, you can work with unlimited collaborators on unlimited public repositories with a full feature set, or unlimited private repositories with a limited feature set. To get advanced tooling for private repositories, you can upgrade to {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, or {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info %} {% else %} Each person and organization can own unlimited repositories and invite an unlimited number of collaborators to all repositories. {% endif %} You can use repositories to manage your work and collaborate with others. -- You can use issues to collect user feedback, report software bugs, and organize tasks you'd like to accomplish. For more information, see "[About issues](/github/managing-your-work-on-github/about-issues)."{% if currentVersion == "free-pro-team@latest" %} +- You can use issues to collect user feedback, report software bugs, and organize tasks you'd like to accomplish. For more information, see "[About issues](/github/managing-your-work-on-github/about-issues)."{% ifversion fpt %} - {% data reusables.discussions.you-can-use-discussions %}{% endif %} - You can use pull requests to propose changes to a repository. For more information, see "[About pull requests](/github/collaborating-with-issues-and-pull-requests/about-pull-requests)." - You can use project boards to organize and prioritize your issues and pull requests. For more information, see "[About project boards](/github/managing-your-work-on-github/about-project-boards)." diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-languages.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-languages.md index 2f0fa0c67a..1de69451f0 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-languages.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-languages.md @@ -10,9 +10,9 @@ redirect_from: - /articles/about-repository-languages - /github/creating-cloning-and-archiving-repositories/about-repository-languages versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility.md index fec288c4d2..fbc276eb66 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-repository-visibility.md @@ -1,10 +1,10 @@ --- title: About repository visibility -intro: 'You can restrict who has access to a repository by choosing a repository''s visibility: {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %}public, internal, or private{% elsif currentVersion == "github-ae@latest" %}private or internal{% else %} public or private{% endif %}.' +intro: 'You can restrict who has access to a repository by choosing a repository''s visibility: {% ifversion fpt or ghes %}public, internal, or private{% elsif ghae %}private or internal{% else %} public or private{% endif %}.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories redirect_from: @@ -12,11 +12,11 @@ redirect_from: --- ## About repository visibility -{% if currentVersion == "github-ae@latest" %}When you create a repository owned by your user account, the repository is always private. When you create a repository owned by an organization, you can choose to make the repository private or internal.{% else %}When you create a repository, you can choose to make the repository public or private.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} If you're creating the repository in an organization{% if currentVersion == "free-pro-team@latest" %} that is owned by an enterprise account{% endif %}, you can also choose to make the repository internal.{% endif %}{% endif %} +{% ifversion ghae %}When you create a repository owned by your user account, the repository is always private. When you create a repository owned by an organization, you can choose to make the repository private or internal.{% else %}When you create a repository, you can choose to make the repository public or private.{% ifversion fpt or ghes %} If you're creating the repository in an organization{% ifversion fpt %} that is owned by an enterprise account{% endif %}, you can also choose to make the repository internal.{% endif %}{% endif %} -{% if enterpriseServerVersions contains currentVersion %} -If {% data variables.product.product_location %} is not in private mode or behind a firewall, public repositories are accessible to everyone on the internet. Otherwise, public repositories are available to everyone using {% data variables.product.product_location %}, including outside collaborators. Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members. {% if currentVersion ver_gt "enterprise-server@2.19" %} Internal repositories are accessible to enterprise members. For more information, see "[About internal repositories](#about-internal-repositories)."{% endif %} -{% elsif currentVersion == "github-ae@latest" %} +{% ifversion ghes %} +If {% data variables.product.product_location %} is not in private mode or behind a firewall, public repositories are accessible to everyone on the internet. Otherwise, public repositories are available to everyone using {% data variables.product.product_location %}, including outside collaborators. Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members. {% ifversion ghes %} Internal repositories are accessible to enterprise members. For more information, see "[About internal repositories](#about-internal-repositories)."{% endif %} +{% elsif ghae %} Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members. Internal repositories are accessible to all enterprise members. For more information, see "[About internal repositories](#about-internal-repositories)." {% else %} Public repositories are accessible to everyone on the internet. Private repositories are only accessible to you, people you explicitly share access with, and, for organization repositories, certain organization members. Internal repositories are accessible to enterprise members. For more information, see "[About internal repositories](#about-internal-repositories)." @@ -26,7 +26,7 @@ Organization owners always have access to every repository created in an organiz People with admin permissions for a repository can change an existing repository's visibility. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)." -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} ## About internal repositories {% note %} @@ -37,7 +37,7 @@ People with admin permissions for a repository can change an existing repository {% data reusables.repositories.about-internal-repos %} For more information on innersource, see {% data variables.product.prodname_dotcom %}'s whitepaper "[An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/)." -All enterprise members have read permissions to the internal repository, but internal repositories are not visible to people {% if currentVersion == "free-pro-team@latest" %}outside of the enterprise{% else %}who are not members of an organization{% endif %}, including outside collaborators on organization repositories. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)." +All enterprise members have read permissions to the internal repository, but internal repositories are not visible to people {% ifversion fpt %}outside of the enterprise{% else %}who are not members of an organization{% endif %}, including outside collaborators on organization repositories. For more information, see {% ifversion fpt or ghae %}"[Roles in an enterprise](/github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise#enterprise-members)" and {% endif %}"[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)." {% data reusables.repositories.internal-repo-default %} diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-new-repository.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-new-repository.md index 6688b6b1cf..e83d96e92e 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-new-repository.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-new-repository.md @@ -11,9 +11,9 @@ redirect_from: - /github/creating-cloning-and-archiving-repositories/creating-an-internal-repository - /github/creating-cloning-and-archiving-repositories/creating-a-new-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -23,7 +23,7 @@ topics: {% endtip %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also create a repository using the {% data variables.product.prodname_cli %}. For more information, see "[`gh repo create`](https://cli.github.com/manual/gh_repo_create)" in the {% data variables.product.prodname_cli %} documentation. @@ -33,7 +33,7 @@ topics: {% data reusables.repositories.create_new %} 2. Optionally, to create a repository with the directory structure and files of an existing repository, use the **Choose a template** drop-down and select a template repository. You'll see template repositories that are owned by you and organizations you're a member of or that you've used before. For more information, see "[Creating a repository from a template](/articles/creating-a-repository-from-a-template)." - ![Template drop-down menu](/assets/images/help/repository/template-drop-down.png){% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} + ![Template drop-down menu](/assets/images/help/repository/template-drop-down.png){% ifversion fpt or ghae or ghes %} 3. Optionally, if you chose to use a template, to include the directory structure and files from all branches in the template, and not just the default branch, select **Include all branches**. ![Include all branches checkbox](/assets/images/help/repository/include-all-branches.png){% endif %} 3. In the Owner drop-down, select the account you wish to create the repository on. @@ -42,16 +42,16 @@ topics: {% data reusables.repositories.choose-repo-visibility %} 6. If you're not using a template, there are a number of optional items you can pre-populate your repository with. If you're importing an existing repository to {% data variables.product.product_name %}, don't choose any of these options, as you may introduce a merge conflict. You can add or create new files using the user interface or choose to add new files using the command line later. For more information, see "[Importing a Git repository using the command line](/articles/importing-a-git-repository-using-the-command-line/)," "[Adding a file to a repository using the command line](/articles/adding-a-file-to-a-repository-using-the-command-line)," and "[Addressing merge conflicts](/articles/addressing-merge-conflicts/)." - You can create a README, which is a document describing your project. For more information, see "[About READMEs](/articles/about-readmes/)." - - You can create a *.gitignore* file, which is a set of ignore rules. For more information, see "[Ignoring files](/github/getting-started-with-github/ignoring-files)."{% if currentVersion == "free-pro-team@latest" %} + - You can create a *.gitignore* file, which is a set of ignore rules. For more information, see "[Ignoring files](/github/getting-started-with-github/ignoring-files)."{% ifversion fpt %} - You can choose to add a software license for your project. For more information, see "[Licensing a repository](/articles/licensing-a-repository)."{% endif %} {% data reusables.repositories.select-marketplace-apps %} {% data reusables.repositories.create-repo %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 9. At the bottom of the resulting Quick Setup page, under "Import code from an old repository", you can choose to import a project to your new repository. To do so, click **Import code**. {% endif %} ## Further reading - "[Managing access to your organization's repositories](/articles/managing-access-to-your-organization-s-repositories)" -- [Open Source Guides](https://opensource.guide/){% if currentVersion == "free-pro-team@latest" %} +- [Open Source Guides](https://opensource.guide/){% ifversion fpt %} - [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %} diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-repository-from-a-template.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-repository-from-a-template.md index 6ed594b7a2..15e12eb142 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-repository-from-a-template.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-repository-from-a-template.md @@ -5,9 +5,9 @@ redirect_from: - /articles/creating-a-repository-from-a-template - /github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -15,7 +15,7 @@ topics: Anyone with read permissions to a template repository can create a repository from that template. For more information, see "[Creating a template repository](/articles/creating-a-template-repository)." -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghae or ghes %} {% tip %} **Tip**: You can also create a repository from a template using the {% data variables.product.prodname_cli %}. For more information, see "[`gh repo create`](https://cli.github.com/manual/gh_repo_create)" in the {% data variables.product.prodname_cli %} documentation. @@ -23,7 +23,7 @@ Anyone with read permissions to a template repository can create a repository fr {% endtip %} {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} +{% ifversion fpt or ghae or ghes %} You can choose to include the directory structure and files from only the default branch of the template repository or to include all branches. Branches created from a template have unrelated histories, which means you cannot create pull requests or merge between the branches. {% endif %} @@ -41,7 +41,7 @@ For more information about forks, see "[About forks](/articles/about-forks)." ![Use this template button](/assets/images/help/repository/use-this-template-button.png) {% data reusables.repositories.owner-drop-down %} {% data reusables.repositories.repo-name %} -{% data reusables.repositories.choose-repo-visibility %}{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} +{% data reusables.repositories.choose-repo-visibility %}{% ifversion fpt or ghae or ghes %} 6. Optionally, to include the directory structure and files from all branches in the template, and not just the default branch, select **Include all branches**. ![Include all branches checkbox](/assets/images/help/repository/include-all-branches.png){% endif %} {% data reusables.repositories.select-marketplace-apps %} diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-template-repository.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-template-repository.md index 851aeba080..3449a92fa6 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-template-repository.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-template-repository.md @@ -1,14 +1,14 @@ --- title: Creating a template repository -intro: 'You can make an existing repository a template, so you and others can generate new repositories with the same directory structure{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}, branches,{% endif %} and files.' +intro: 'You can make an existing repository a template, so you and others can generate new repositories with the same directory structure{% ifversion fpt or ghae or ghes %}, branches,{% endif %} and files.' permissions: Anyone with admin permissions to a repository can make the repository a template. redirect_from: - /articles/creating-a-template-repository - /github/creating-cloning-and-archiving-repositories/creating-a-template-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -20,7 +20,7 @@ topics: To create a template repository, you must create a repository, then make the repository a template. For more information about creating a repository, see "[Creating a new repository](/articles/creating-a-new-repository)." -After you make your repository a template, anyone with access to the repository can generate a new repository with the same directory structure and files as your default branch.{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} They can also choose to include all the other branches in your repository. Branches created from a template have unrelated histories, so you cannot create pull requests or merge between the branches.{% endif %} For more information, see "[Creating a repository from a template](/articles/creating-a-repository-from-a-template)." +After you make your repository a template, anyone with access to the repository can generate a new repository with the same directory structure and files as your default branch.{% ifversion fpt or ghae or ghes %} They can also choose to include all the other branches in your repository. Branches created from a template have unrelated histories, so you cannot create pull requests or merge between the branches.{% endif %} For more information, see "[Creating a repository from a template](/articles/creating-a-repository-from-a-template)." {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-an-issues-only-repository.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-an-issues-only-repository.md index 7338201d82..1e2737d38d 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-an-issues-only-repository.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-an-issues-only-repository.md @@ -7,9 +7,9 @@ redirect_from: - /articles/creating-an-issues-only-repository - /github/creating-cloning-and-archiving-repositories/creating-an-issues-only-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/duplicating-a-repository.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/duplicating-a-repository.md index cfdace8a6c..d39e202edc 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/duplicating-a-repository.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/duplicating-a-repository.md @@ -6,9 +6,9 @@ redirect_from: - /articles/duplicating-a-repository - /github/creating-cloning-and-archiving-repositories/duplicating-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/index.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/index.md index 319cdcbe28..fad88db4f8 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/index.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/index.md @@ -4,9 +4,9 @@ intro: 'After you create your repository on {% data variables.product.product_na redirect_from: - /articles/creating-a-repository-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository.md index f0f66c5dd9..5e0688fcda 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository.md @@ -6,8 +6,8 @@ redirect_from: - /articles/licensing-a-repository - /github/creating-cloning-and-archiving-repositories/licensing-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Repositories --- @@ -19,7 +19,7 @@ You're under no obligation to choose a license. However, without a license, the {% note %} -**Note:** If you publish your source code in a public repository on {% data variables.product.product_name %}, {% if currentVersion == "free-pro-team@latest" %}according to the [Terms of Service](/articles/github-terms-of-service), {% endif %}other users of {% data variables.product.product_location %} have the right to view and fork your repository. If you have already created a repository and no longer want users to have access to the repository, you can make the repository private. When you change the visibility of a repository to private, existing forks or local copies created by other users will still exist. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)." +**Note:** If you publish your source code in a public repository on {% data variables.product.product_name %}, {% ifversion fpt %}according to the [Terms of Service](/articles/github-terms-of-service), {% endif %}other users of {% data variables.product.product_location %} have the right to view and fork your repository. If you have already created a repository and no longer want users to have access to the repository, you can make the repository private. When you change the visibility of a repository to private, existing forks or local copies created by other users will still exist. For more information, see "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)." {% endnote %} @@ -92,5 +92,5 @@ The goal of GitHub's open source licensing efforts is to provide a starting poin ## Further reading -- The Open Source Guides' section "[The Legal Side of Open Source](https://opensource.guide/legal/)"{% if currentVersion == "free-pro-team@latest" %} +- The Open Source Guides' section "[The Legal Side of Open Source](https://opensource.guide/legal/)"{% ifversion fpt %} - [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %} diff --git a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/limits-for-viewing-content-and-diffs-in-a-repository.md b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/limits-for-viewing-content-and-diffs-in-a-repository.md index 510b0f0f95..62a12c1614 100644 --- a/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/limits-for-viewing-content-and-diffs-in-a-repository.md +++ b/content/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/limits-for-viewing-content-and-diffs-in-a-repository.md @@ -6,9 +6,9 @@ redirect_from: - /articles/limits-for-viewing-content-and-diffs-in-a-repository - /github/creating-cloning-and-archiving-repositories/limits-for-viewing-content-and-diffs-in-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/creating-cloning-and-archiving-repositories/index.md b/content/github/creating-cloning-and-archiving-repositories/index.md index 75ef1b6752..68babe4e44 100644 --- a/content/github/creating-cloning-and-archiving-repositories/index.md +++ b/content/github/creating-cloning-and-archiving-repositories/index.md @@ -6,9 +6,9 @@ redirect_from: - /categories/24/articles/ - /categories/creating-cloning-and-archiving-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/customizing-your-github-workflow/exploring-integrations/about-github-marketplace.md b/content/github/customizing-your-github-workflow/exploring-integrations/about-github-marketplace.md index 1f6c98cff3..10d30d69e1 100644 --- a/content/github/customizing-your-github-workflow/exploring-integrations/about-github-marketplace.md +++ b/content/github/customizing-your-github-workflow/exploring-integrations/about-github-marketplace.md @@ -5,7 +5,7 @@ redirect_from: - /articles/about-github-marketplace - /github/customizing-your-github-workflow/about-github-marketplace versions: - free-pro-team: '*' + fpt: '*' --- You can discover, browse, and install free and paid tools, including {% data variables.product.prodname_github_app %}s, {% data variables.product.prodname_oauth_app %}s, and {% data variables.product.prodname_actions %}, in [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). diff --git a/content/github/customizing-your-github-workflow/exploring-integrations/about-integrations.md b/content/github/customizing-your-github-workflow/exploring-integrations/about-integrations.md index d2d4222834..834ab8f086 100644 --- a/content/github/customizing-your-github-workflow/exploring-integrations/about-integrations.md +++ b/content/github/customizing-your-github-workflow/exploring-integrations/about-integrations.md @@ -5,7 +5,7 @@ redirect_from: - /articles/about-integrations - /github/customizing-your-github-workflow/about-integrations versions: - free-pro-team: '*' + fpt: '*' --- You can install integrations in your personal account or organizations you own. You can also install {% data variables.product.prodname_github_app %}s from a third-party in a specific repository where you have admin permissions or which is owned by your organization. diff --git a/content/github/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations.md b/content/github/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations.md index 6a063e7e18..7c3273e415 100644 --- a/content/github/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations.md +++ b/content/github/customizing-your-github-workflow/exploring-integrations/github-extensions-and-integrations.md @@ -6,7 +6,7 @@ redirect_from: - /articles/github-extensions-and-integrations - /github/customizing-your-github-workflow/github-extensions-and-integrations versions: - free-pro-team: '*' + fpt: '*' --- ## Editor tools diff --git a/content/github/customizing-your-github-workflow/exploring-integrations/index.md b/content/github/customizing-your-github-workflow/exploring-integrations/index.md index e9fb93a44a..53a88e9e72 100644 --- a/content/github/customizing-your-github-workflow/exploring-integrations/index.md +++ b/content/github/customizing-your-github-workflow/exploring-integrations/index.md @@ -4,7 +4,7 @@ intro: 'You can customize and extend your {% data variables.product.product_name redirect_from: - /articles/exploring-integrations versions: - free-pro-team: '*' + fpt: '*' children: - /about-integrations - /about-github-marketplace diff --git a/content/github/customizing-your-github-workflow/index.md b/content/github/customizing-your-github-workflow/index.md index e43731fc44..9993d4f82c 100644 --- a/content/github/customizing-your-github-workflow/index.md +++ b/content/github/customizing-your-github-workflow/index.md @@ -3,7 +3,7 @@ title: Customizing your GitHub workflow redirect_from: - /categories/customizing-your-github-workflow versions: - free-pro-team: '*' + fpt: '*' children: - /exploring-integrations - /purchasing-and-installing-apps-in-github-marketplace diff --git a/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/index.md b/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/index.md index 17a68e9380..aa1deee1cc 100644 --- a/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/index.md +++ b/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/index.md @@ -4,7 +4,7 @@ intro: '{% data variables.product.prodname_marketplace %} includes apps with fre redirect_from: - /articles/purchasing-and-installing-apps-in-github-marketplace versions: - free-pro-team: '*' + fpt: '*' children: - /installing-an-app-in-your-personal-account - /installing-an-app-in-your-organization diff --git a/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-organization.md b/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-organization.md index b3c85e4365..5669bb54f0 100644 --- a/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-organization.md +++ b/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-organization.md @@ -5,7 +5,7 @@ redirect_from: - /articles/installing-an-app-in-your-organization - /github/customizing-your-github-workflow/installing-an-app-in-your-organization versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.marketplace.marketplace-apps-only %} diff --git a/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-personal-account.md b/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-personal-account.md index 66d831791b..03bcfa3e88 100644 --- a/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-personal-account.md +++ b/content/github/customizing-your-github-workflow/purchasing-and-installing-apps-in-github-marketplace/installing-an-app-in-your-personal-account.md @@ -5,7 +5,7 @@ redirect_from: - /articles/installing-an-app-in-your-personal-account - /github/customizing-your-github-workflow/installing-an-app-in-your-personal-account versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.marketplace.marketplace-apps-only %} diff --git a/content/github/extending-github/about-webhooks.md b/content/github/extending-github/about-webhooks.md index d37ecb1b53..2788abdc0b 100644 --- a/content/github/extending-github/about-webhooks.md +++ b/content/github/extending-github/about-webhooks.md @@ -7,9 +7,9 @@ redirect_from: - /articles/about-webhooks intro: Webhooks provide a way for notifications to be delivered to an external web server whenever certain actions occur on a repository or organization. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% tip %} diff --git a/content/github/extending-github/getting-started-with-the-api.md b/content/github/extending-github/getting-started-with-the-api.md index 69fedbd656..82019391e4 100644 --- a/content/github/extending-github/getting-started-with-the-api.md +++ b/content/github/extending-github/getting-started-with-the-api.md @@ -3,9 +3,9 @@ title: Getting started with the API redirect_from: - /articles/getting-started-with-the-api versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- To automate common tasks, back up your data, or create integrations that extend {% data variables.product.product_name %}, you can use the {% data variables.product.product_name %} API. @@ -14,5 +14,5 @@ For more information about the API, see the [GitHub REST API](/rest) and [GitHub ## Further reading -- "[Backing up a repository](/articles/backing-up-a-repository)"{% if currentVersion == "free-pro-team@latest" %} +- "[Backing up a repository](/articles/backing-up-a-repository)"{% ifversion fpt %} - "[About integrations](/articles/about-integrations)"{% endif %} diff --git a/content/github/extending-github/git-automation-with-oauth-tokens.md b/content/github/extending-github/git-automation-with-oauth-tokens.md index d071cee20e..887be17384 100644 --- a/content/github/extending-github/git-automation-with-oauth-tokens.md +++ b/content/github/extending-github/git-automation-with-oauth-tokens.md @@ -6,9 +6,9 @@ redirect_from: - /articles/git-automation-with-oauth-tokens intro: 'You can use OAuth tokens to interact with {% data variables.product.product_name %} via automated scripts.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Step 1: Get an OAuth token @@ -17,7 +17,7 @@ Create a personal access token on your application settings page. For more infor {% tip %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} **Tips:** - You must verify your email address before you can create a personal access token. For more information, see "[Verifying your email address](/articles/verifying-your-email-address)." - {% data reusables.user_settings.review_oauth_tokens_tip %} @@ -27,7 +27,7 @@ Create a personal access token on your application settings page. For more infor {% endtip %} -{% if currentVersion == "free-pro-team@latest" %}{% data reusables.user_settings.removes-personal-access-tokens %}{% endif %} +{% ifversion fpt %}{% data reusables.user_settings.removes-personal-access-tokens %}{% endif %} ## Step 2: Clone a repository diff --git a/content/github/extending-github/index.md b/content/github/extending-github/index.md index 78cec189a2..143e6cd130 100644 --- a/content/github/extending-github/index.md +++ b/content/github/extending-github/index.md @@ -5,9 +5,9 @@ redirect_from: - /categories/automation/ - /categories/extending-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /getting-started-with-the-api - /git-automation-with-oauth-tokens diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md index 00f20d2cff..a1cfdedd9b 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning.md @@ -3,7 +3,7 @@ title: About code scanning intro: 'You can use {% data variables.product.prodname_code_scanning %} to find security vulnerabilities and errors in the code for your project on {% data variables.product.prodname_dotcom %}.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md index 811afb7e3b..ca8d84fe70 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md @@ -5,7 +5,7 @@ product: '{% data reusables.gated-features.code-scanning %}' permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_code_scanning %} for the repository.' miniTocMaxHeadingLevel: 3 versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: @@ -156,7 +156,7 @@ If your workflow does not contain a matrix called `language`, then {% data varia with: languages: cpp, csharp, python ``` -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Analyzing Python dependencies For GitHub-hosted runners that use Linux only, the {% data variables.product.prodname_codeql_workflow %} will try to auto-install Python dependencies to give more results for the CodeQL analysis. You can control this behavior by specifying the `setup-python-dependencies` parameter for the action called by the "Initialize CodeQL" step. By default, this parameter is set to `true`: @@ -171,7 +171,7 @@ Alternatively, you can install Python dependencies manually on any operating sys jobs: CodeQL-Build: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write actions: read{% endif %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md index ce4d73be22..559105303d 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md @@ -5,7 +5,7 @@ intro: 'You can configure how {% data variables.product.prodname_dotcom %} uses product: '{% data reusables.gated-features.code-scanning %}' permissions: 'If you have write permissions to a repository, you can configure {% data variables.product.prodname_code_scanning %} for that repository.' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md index 02ea880676..00698ee9f2 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md @@ -4,7 +4,7 @@ shortTitle: Scanning automatically intro: 'You can find vulnerabilities and errors in your project''s code on {% data variables.product.prodname_dotcom %}, as well as view, triage, understand, and resolve the related {% data variables.product.prodname_code_scanning %} alerts.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security children: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md index 4e9e9f82e1..7b939d6644 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md @@ -5,7 +5,7 @@ intro: 'From the security view, you can view, fix, or close alerts for potential product: '{% data reusables.gated-features.code-scanning %}' permissions: 'If you have write permission to a repository you can manage {% data variables.product.prodname_code_scanning %} alerts for that repository.' versions: - enterprise-server: '2.22' + ghes: '2.22' redirect_from: - /github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository --- diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md index 3715cfc462..1591abb478 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/running-codeql-code-scanning-in-a-container.md @@ -4,7 +4,7 @@ shortTitle: '{% data variables.product.prodname_code_scanning_capc %} in a conta intro: 'You can run {% data variables.product.prodname_code_scanning %} in a container by ensuring that all processes run in the same container.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: @@ -46,7 +46,7 @@ on: jobs: analyze: name: Analyze - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write actions: read{% endif %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md index 040aab1a88..a0913789a9 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md @@ -5,7 +5,7 @@ intro: 'You can set up {% data variables.product.prodname_code_scanning %} by ad product: '{% data reusables.gated-features.code-scanning %}' permissions: 'If you have write permissions to a repository, you can set up or configure {% data variables.product.prodname_code_scanning %} for that repository.' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md index 368d6bc069..6a73830863 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md @@ -5,7 +5,7 @@ intro: 'When {% data variables.product.prodname_code_scanning %} identifies a pr product: '{% data reusables.gated-features.code-scanning %}' permissions: 'If you have read permission for a repository, you can see annotations on pull requests. With write permission, you can see detailed information and resolve {% data variables.product.prodname_code_scanning %} alerts for that repository.' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md index 1bab71cac4..59582e26b0 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/automatically-scanning-your-code-for-vulnerabilities-and-errors/troubleshooting-the-codeql-workflow.md @@ -4,7 +4,7 @@ shortTitle: Troubleshooting CodeQL intro: 'If you''re having problems with {% data variables.product.prodname_code_scanning %}, you can troubleshoot by using these tips for resolving issues.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: @@ -31,7 +31,7 @@ If an automatic build of code for a compiled language within your project fails, ```yaml jobs: - analyze:{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + analyze:{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write actions: read{% endif %} diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/index.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/index.md index 715c91aba2..a33dc752de 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/index.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/index.md @@ -3,7 +3,7 @@ title: Finding security vulnerabilities and errors in your code shortTitle: Finding vulnerabilities and coding errors product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security children: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/about-integration-with-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/about-integration-with-code-scanning.md index 1dc9a6042d..500f1039d1 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/about-integration-with-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/about-integration-with-code-scanning.md @@ -4,7 +4,7 @@ shortTitle: About integration intro: 'You can perform {% data variables.product.prodname_code_scanning %} externally and then display the results in {% data variables.product.prodname_dotcom %}, or set up webhooks that listen to {% data variables.product.prodname_code_scanning %} activity in your repository.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/index.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/index.md index ec5f7fa6ad..98eda349b9 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/index.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/index.md @@ -4,7 +4,7 @@ shortTitle: Integration intro: 'You can integrate third-party code analysis tools with {% data variables.product.prodname_dotcom %} {% data variables.product.prodname_code_scanning %} by uploading data as SARIF files.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security children: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/sarif-support-for-code-scanning.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/sarif-support-for-code-scanning.md index 0d211269c9..c506506159 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/sarif-support-for-code-scanning.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/sarif-support-for-code-scanning.md @@ -4,7 +4,7 @@ shortTitle: SARIF support intro: 'To display results from a third-party static analysis tool in your repository on {% data variables.product.prodname_dotcom %}, you''ll need your results stored in a SARIF file that supports a specific subset of the SARIF 2.1.0 JSON schema for {% data variables.product.prodname_code_scanning %}. If you use the default {% data variables.product.prodname_codeql %} static analysis engine, then your results will display in your repository on {% data variables.product.prodname_dotcom %} automatically.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md index 5514e34399..5514a74788 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/integrating-with-code-scanning/uploading-a-sarif-file-to-github.md @@ -5,7 +5,7 @@ intro: '{% data reusables.code-scanning.you-can-upload-third-party-analysis %}' permissions: 'People with write permissions to a repository can upload {% data variables.product.prodname_code_scanning %} data generated outside {% data variables.product.prodname_dotcom %}.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: @@ -65,7 +65,7 @@ on: jobs: build: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write{% endif %} steps: @@ -99,7 +99,7 @@ on: jobs: build: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: security-events: write{% endif %} steps: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md index 6c3baa72e7..0cfca29234 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-code-scanning-in-your-ci-system.md @@ -5,7 +5,7 @@ intro: 'You can configure how the {% data variables.product.prodname_codeql_runn product: '{% data reusables.gated-features.code-scanning %}' miniTocMaxHeadingLevel: 3 versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/index.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/index.md index 64bdb5b0b3..e403d95a85 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/index.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/index.md @@ -4,7 +4,7 @@ shortTitle: CodeQL CI system support intro: 'The {% data variables.product.prodname_codeql_runner %} allows you to use your existing CI system to run {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security children: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md index f10a0900bc..b674fdcb68 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-code-scanning-in-your-ci-system.md @@ -4,7 +4,7 @@ shortTitle: Running in your CI intro: 'You can use the {% data variables.product.prodname_codeql_runner %} to perform {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in a third-party continuous integration system.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md index d49293de01..9aaa429f76 100644 --- a/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md +++ b/content/github/finding-security-vulnerabilities-and-errors-in-your-code/using-codeql-code-scanning-with-your-existing-ci-system/troubleshooting-codeql-code-scanning-in-your-ci-system.md @@ -4,7 +4,7 @@ shortTitle: Troubleshooting in your CI intro: 'If you''re having problems with the {% data variables.product.prodname_codeql_runner %}, you can troubleshoot by using these tips.' product: '{% data reusables.gated-features.code-scanning %}' versions: - enterprise-server: '2.22' + ghes: '2.22' topics: - Security redirect_from: diff --git a/content/github/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer.md b/content/github/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer.md index 2a4d88c858..ebed77a9e8 100644 --- a/content/github/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer.md +++ b/content/github/importing-your-projects-to-github/importing-source-code-to-github/about-github-importer.md @@ -5,7 +5,7 @@ redirect_from: - /articles/about-github-importer - /github/importing-your-projects-to-github/about-github-importer versions: - free-pro-team: '*' + fpt: '*' --- GitHub Importer is a tool that quickly imports source code repositories, including commits and revision history, to GitHub for you. diff --git a/content/github/importing-your-projects-to-github/importing-source-code-to-github/adding-an-existing-project-to-github-using-the-command-line.md b/content/github/importing-your-projects-to-github/importing-source-code-to-github/adding-an-existing-project-to-github-using-the-command-line.md index cc225e415c..4bd867df6a 100644 --- a/content/github/importing-your-projects-to-github/importing-source-code-to-github/adding-an-existing-project-to-github-using-the-command-line.md +++ b/content/github/importing-your-projects-to-github/importing-source-code-to-github/adding-an-existing-project-to-github-using-the-command-line.md @@ -6,9 +6,9 @@ redirect_from: - /articles/adding-an-existing-project-to-github-using-the-command-line - /github/importing-your-projects-to-github/adding-an-existing-project-to-github-using-the-command-line versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% data reusables.repositories.migrating-from-codeplex %} diff --git a/content/github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line.md b/content/github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line.md index 346316142d..93ccb54ce4 100644 --- a/content/github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line.md +++ b/content/github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-git-repository-using-the-command-line.md @@ -1,13 +1,13 @@ --- title: Importing a Git repository using the command line -intro: '{% if currentVersion == "free-pro-team@latest" %}If [GitHub Importer](/articles/importing-a-repository-with-github-importer) is not suitable for your purposes, such as if your existing code is hosted on a private network, then we recommend importing using the command line.{% else %}Importing Git projects using the command line is suitable when your existing code is hosted on a private network.{% endif %}' +intro: '{% ifversion fpt %}If [GitHub Importer](/articles/importing-a-repository-with-github-importer) is not suitable for your purposes, such as if your existing code is hosted on a private network, then we recommend importing using the command line.{% else %}Importing Git projects using the command line is suitable when your existing code is hosted on a private network.{% endif %}' redirect_from: - /articles/importing-a-git-repository-using-the-command-line - /github/importing-your-projects-to-github/importing-a-git-repository-using-the-command-line versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- Before you start, make sure you know: diff --git a/content/github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.md b/content/github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.md index 81bd66c9e2..ee157bb28d 100644 --- a/content/github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.md +++ b/content/github/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer.md @@ -6,7 +6,7 @@ redirect_from: - /articles/importing-a-repository-with-github-importer - /github/importing-your-projects-to-github/importing-a-repository-with-github-importer versions: - free-pro-team: '*' + fpt: '*' --- {% tip %} diff --git a/content/github/importing-your-projects-to-github/importing-source-code-to-github/index.md b/content/github/importing-your-projects-to-github/importing-source-code-to-github/index.md index 0b5436420b..317931d4e3 100644 --- a/content/github/importing-your-projects-to-github/importing-source-code-to-github/index.md +++ b/content/github/importing-your-projects-to-github/importing-source-code-to-github/index.md @@ -1,6 +1,6 @@ --- title: Importing source code to GitHub -intro: 'You can import repositories to GitHub using {% if currentVersion == "free-pro-team@latest" %}GitHub Importer, the command line,{% else %}the command line{% endif %} or external migration tools.' +intro: 'You can import repositories to GitHub using {% ifversion fpt %}GitHub Importer, the command line,{% else %}the command line{% endif %} or external migration tools.' redirect_from: - /articles/importing-an-external-git-repository/ - /articles/importing-from-bitbucket/ @@ -8,9 +8,9 @@ redirect_from: - /articles/importing-your-project-to-github/ - /articles/importing-source-code-to-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /about-github-importer - /importing-a-repository-with-github-importer diff --git a/content/github/importing-your-projects-to-github/importing-source-code-to-github/source-code-migration-tools.md b/content/github/importing-your-projects-to-github/importing-source-code-to-github/source-code-migration-tools.md index 42d6f4108f..fe8fa3f607 100644 --- a/content/github/importing-your-projects-to-github/importing-source-code-to-github/source-code-migration-tools.md +++ b/content/github/importing-your-projects-to-github/importing-source-code-to-github/source-code-migration-tools.md @@ -6,11 +6,11 @@ redirect_from: - /articles/source-code-migration-tools - /github/importing-your-projects-to-github/source-code-migration-tools versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} We recommend using [GitHub Importer](/articles/about-github-importer) to import projects from Subversion, Mercurial, Team Foundation Version Control (TFVC), or another Git repository. You can also use these external tools to convert your project to Git. @@ -42,7 +42,7 @@ We recommend [git-tfs](https://github.com/git-tfs/git-tfs) for moving changes be {% endtip %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading diff --git a/content/github/importing-your-projects-to-github/importing-source-code-to-github/updating-commit-author-attribution-with-github-importer.md b/content/github/importing-your-projects-to-github/importing-source-code-to-github/updating-commit-author-attribution-with-github-importer.md index a36d39cbac..c07dcf64ca 100644 --- a/content/github/importing-your-projects-to-github/importing-source-code-to-github/updating-commit-author-attribution-with-github-importer.md +++ b/content/github/importing-your-projects-to-github/importing-source-code-to-github/updating-commit-author-attribution-with-github-importer.md @@ -5,7 +5,7 @@ redirect_from: - /articles/updating-commit-author-attribution-with-github-importer - /github/importing-your-projects-to-github/updating-commit-author-attribution-with-github-importer versions: - free-pro-team: '*' + fpt: '*' --- GitHub Importer looks for GitHub users whose email addresses match the authors of the commits in the repository you're importing. You can then connect a commit to its author using their email address or the author's GitHub username. diff --git a/content/github/importing-your-projects-to-github/index.md b/content/github/importing-your-projects-to-github/index.md index 3cdb28f184..9a98738031 100644 --- a/content/github/importing-your-projects-to-github/index.md +++ b/content/github/importing-your-projects-to-github/index.md @@ -1,16 +1,17 @@ --- title: Importing your projects to GitHub -intro: You can import your source code to {% data variables.product.product_name %} using a variety of different methods. +intro: 'You can import your source code to {% data variables.product.product_name %} using a variety of different methods.' shortTitle: Importing your projects redirect_from: - /categories/67/articles/ - /categories/importing/ - /categories/importing-your-projects-to-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /importing-source-code-to-github - /working-with-subversion-on-github --- + diff --git a/content/github/importing-your-projects-to-github/working-with-subversion-on-github/index.md b/content/github/importing-your-projects-to-github/working-with-subversion-on-github/index.md index 377d26283f..badeeb395e 100644 --- a/content/github/importing-your-projects-to-github/working-with-subversion-on-github/index.md +++ b/content/github/importing-your-projects-to-github/working-with-subversion-on-github/index.md @@ -4,8 +4,8 @@ intro: You can use Subversion clients and some Subversion workflows and properti redirect_from: - /articles/working-with-subversion-on-github versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' children: - /what-are-the-differences-between-subversion-and-git - /support-for-subversion-clients diff --git a/content/github/importing-your-projects-to-github/working-with-subversion-on-github/subversion-properties-supported-by-github.md b/content/github/importing-your-projects-to-github/working-with-subversion-on-github/subversion-properties-supported-by-github.md index e29692bb4a..bfb9385764 100644 --- a/content/github/importing-your-projects-to-github/working-with-subversion-on-github/subversion-properties-supported-by-github.md +++ b/content/github/importing-your-projects-to-github/working-with-subversion-on-github/subversion-properties-supported-by-github.md @@ -5,8 +5,8 @@ redirect_from: - /articles/subversion-properties-supported-by-github - /github/importing-your-projects-to-github/subversion-properties-supported-by-github versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' --- ## Executable files (svn:executable) diff --git a/content/github/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients.md b/content/github/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients.md index c7c93096e0..e2e35582c9 100644 --- a/content/github/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients.md +++ b/content/github/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients.md @@ -5,8 +5,8 @@ redirect_from: - /articles/support-for-subversion-clients - /github/importing-your-projects-to-github/support-for-subversion-clients versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' --- GitHub supports Subversion clients via the HTTPS protocol. We use a Subversion bridge to communicate svn commands to GitHub. diff --git a/content/github/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md b/content/github/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md index 64192ffebc..cde0b12312 100644 --- a/content/github/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md +++ b/content/github/importing-your-projects-to-github/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md @@ -6,8 +6,8 @@ redirect_from: - /articles/what-are-the-differences-between-subversion-and-git - /github/importing-your-projects-to-github/what-are-the-differences-between-subversion-and-git versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' --- ## Directory structure diff --git a/content/github/index.md b/content/github/index.md index 54d83b1e7f..084c155e26 100644 --- a/content/github/index.md +++ b/content/github/index.md @@ -6,9 +6,9 @@ redirect_from: - /troubleshooting-common-issues/ intro: 'Documentation, guides, and help topics for software developers, designers, and project managers. Covers using Git, pull requests, issues, wikis, gists, and everything you need to make the most of GitHub for development.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /setting-up-and-managing-your-github-user-account - /setting-up-and-managing-your-github-profile diff --git a/content/github/managing-files-in-a-repository/index.md b/content/github/managing-files-in-a-repository/index.md index 0d5429b288..4915556c97 100644 --- a/content/github/managing-files-in-a-repository/index.md +++ b/content/github/managing-files-in-a-repository/index.md @@ -5,9 +5,9 @@ redirect_from: - /categories/manipulating-files/ - /categories/managing-files-in-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/adding-a-file-to-a-repository.md b/content/github/managing-files-in-a-repository/managing-files-on-github/adding-a-file-to-a-repository.md index 06ed51e1c2..bb0e4216c5 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/adding-a-file-to-a-repository.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/adding-a-file-to-a-repository.md @@ -5,9 +5,9 @@ redirect_from: - /articles/adding-a-file-to-a-repository - /github/managing-files-in-a-repository/adding-a-file-to-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- @@ -22,7 +22,7 @@ Files that you add to a repository via a browser are limited to {% data variable {% endtip %} {% data reusables.repositories.navigate-to-repo %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} 2. Under your repository name, click **Upload files**. ![Upload files button](/assets/images/help/repository/upload-files-button.png) {% else %} diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/creating-new-files.md b/content/github/managing-files-in-a-repository/managing-files-on-github/creating-new-files.md index f62792d421..987b2e5544 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/creating-new-files.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/creating-new-files.md @@ -5,9 +5,9 @@ redirect_from: - /articles/creating-new-files - /github/managing-files-in-a-repository/creating-new-files versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/deleting-files-in-a-repository.md b/content/github/managing-files-in-a-repository/managing-files-on-github/deleting-files-in-a-repository.md index 0cb07f6a4a..267f545346 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/deleting-files-in-a-repository.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/deleting-files-in-a-repository.md @@ -1,26 +1,26 @@ --- title: Deleting files in a repository -intro: 'You can delete an individual file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} or an entire directory{% endif %} in your repository on {% data variables.product.product_name %}.' +intro: 'You can delete an individual file{% ifversion fpt or ghes > 3.0 %} or an entire directory{% endif %} in your repository on {% data variables.product.product_name %}.' redirect_from: - /articles/deleting-files - /github/managing-files-in-a-repository/deleting-files - /github/managing-files-in-a-repository/deleting-a-file-or-directory - /github/managing-files-in-a-repository/deleting-files-in-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' -permissions: 'People with write permissions can delete files{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} or directories{% endif %} in a repository.' + fpt: '*' + ghes: '*' + ghae: '*' +permissions: 'People with write permissions can delete files{% ifversion fpt or ghes > 3.0 %} or directories{% endif %} in a repository.' topics: - Repositories --- -## About file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} and directory{% endif %} deletion +## About file{% ifversion fpt or ghes > 3.0 %} and directory{% endif %} deletion -You can delete an individual file in your repository{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} or an entire directory, including all the files in the directory{% endif %}. +You can delete an individual file in your repository{% ifversion fpt or ghes > 3.0 %} or an entire directory, including all the files in the directory{% endif %}. -If you try to delete a file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} or directory{% endif %} in a repository that you don’t have write permissions to, we'll fork the project to your user account and help you send a pull request to the original repository after you commit your change. For more information, see "[About pull requests](/github/collaborating-with-issues-and-pull-requests/about-pull-requests)." +If you try to delete a file{% ifversion fpt or ghes > 3.0 %} or directory{% endif %} in a repository that you don’t have write permissions to, we'll fork the project to your user account and help you send a pull request to the original repository after you commit your change. For more information, see "[About pull requests](/github/collaborating-with-issues-and-pull-requests/about-pull-requests)." -If the file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} or directory{% endif %} you deleted contains sensitive data, the data will still be available in the repository's Git history. To completely remove the file from {% data variables.product.product_name %}, you must remove the file from your repository's history. For more information, see "[Removing sensitive data from a repository](/github/authenticating-to-github/removing-sensitive-data-from-a-repository)." +If the file{% ifversion fpt or ghes > 3.0 %} or directory{% endif %} you deleted contains sensitive data, the data will still be available in the repository's Git history. To completely remove the file from {% data variables.product.product_name %}, you must remove the file from your repository's history. For more information, see "[Removing sensitive data from a repository](/github/authenticating-to-github/removing-sensitive-data-from-a-repository)." ## Deleting a file @@ -31,7 +31,7 @@ If the file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_ {% data reusables.files.choose_commit_branch %} {% data reusables.files.propose_file_change %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} ## Deleting a directory 1. Browse to the directory in your repository that you want to delete. diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-another-users-repository.md b/content/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-another-users-repository.md index 05f7597653..d9d44a35df 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-another-users-repository.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-another-users-repository.md @@ -7,9 +7,9 @@ redirect_from: - /articles/editing-files-in-another-users-repository - /github/managing-files-in-a-repository/editing-files-in-another-users-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-your-repository.md b/content/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-your-repository.md index 956b3201fe..cecaed26b1 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-your-repository.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-your-repository.md @@ -6,9 +6,9 @@ redirect_from: - /articles/editing-files-in-your-repository - /github/managing-files-in-a-repository/editing-files-in-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/getting-permanent-links-to-files.md b/content/github/managing-files-in-a-repository/managing-files-on-github/getting-permanent-links-to-files.md index f3eea4ef9a..d9fc57bac7 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/getting-permanent-links-to-files.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/getting-permanent-links-to-files.md @@ -7,9 +7,9 @@ redirect_from: - /articles/getting-permanent-links-to-files - /github/managing-files-in-a-repository/getting-permanent-links-to-files versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/index.md b/content/github/managing-files-in-a-repository/managing-files-on-github/index.md index 0a5f6f9b15..da8f7e77b7 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/index.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/index.md @@ -4,9 +4,9 @@ intro: 'On {% data variables.product.product_name %}, you can create, edit, move redirect_from: - /articles/managing-files-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/moving-a-file-to-a-new-location.md b/content/github/managing-files-in-a-repository/managing-files-on-github/moving-a-file-to-a-new-location.md index c12735f918..7ac4cb81bd 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/moving-a-file-to-a-new-location.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/moving-a-file-to-a-new-location.md @@ -5,9 +5,9 @@ redirect_from: - /articles/moving-a-file-to-a-new-location - /github/managing-files-in-a-repository/moving-a-file-to-a-new-location versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/navigating-code-on-github.md b/content/github/managing-files-in-a-repository/managing-files-on-github/navigating-code-on-github.md index cdf3370d1a..b07569d022 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/navigating-code-on-github.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/navigating-code-on-github.md @@ -5,7 +5,7 @@ redirect_from: - /articles/navigating-code-on-github - /github/managing-files-in-a-repository/navigating-code-on-github versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/renaming-a-file.md b/content/github/managing-files-in-a-repository/managing-files-on-github/renaming-a-file.md index be69180148..46eaa20f6f 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/renaming-a-file.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/renaming-a-file.md @@ -5,9 +5,9 @@ redirect_from: - /articles/renaming-a-file - /github/managing-files-in-a-repository/renaming-a-file versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-on-github/tracking-changes-in-a-file.md b/content/github/managing-files-in-a-repository/managing-files-on-github/tracking-changes-in-a-file.md index 5a769ffd54..8546aca856 100644 --- a/content/github/managing-files-in-a-repository/managing-files-on-github/tracking-changes-in-a-file.md +++ b/content/github/managing-files-in-a-repository/managing-files-on-github/tracking-changes-in-a-file.md @@ -7,9 +7,9 @@ redirect_from: - /articles/tracking-changes-in-a-file - /github/managing-files-in-a-repository/tracking-changes-in-a-file versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/adding-a-file-to-a-repository-using-the-command-line.md b/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/adding-a-file-to-a-repository-using-the-command-line.md index db2051c2d4..559f87ba4f 100644 --- a/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/adding-a-file-to-a-repository-using-the-command-line.md +++ b/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/adding-a-file-to-a-repository-using-the-command-line.md @@ -6,9 +6,9 @@ redirect_from: - /articles/adding-a-file-to-a-repository-using-the-command-line - /github/managing-files-in-a-repository/adding-a-file-to-a-repository-using-the-command-line versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/index.md b/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/index.md index 055dc947ef..3ac050ce93 100644 --- a/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/index.md +++ b/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/index.md @@ -4,9 +4,9 @@ intro: 'Using the command line, you can add, rename, and move files in a reposit redirect_from: - /articles/managing-files-using-the-command-line versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/moving-a-file-to-a-new-location-using-the-command-line.md b/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/moving-a-file-to-a-new-location-using-the-command-line.md index 19c345550f..f64aa26788 100644 --- a/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/moving-a-file-to-a-new-location-using-the-command-line.md +++ b/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/moving-a-file-to-a-new-location-using-the-command-line.md @@ -5,9 +5,9 @@ redirect_from: - /articles/moving-a-file-to-a-new-location-using-the-command-line - /github/managing-files-in-a-repository/moving-a-file-to-a-new-location-using-the-command-line versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/renaming-a-file-using-the-command-line.md b/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/renaming-a-file-using-the-command-line.md index 4abd984d5f..911c28c715 100644 --- a/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/renaming-a-file-using-the-command-line.md +++ b/content/github/managing-files-in-a-repository/managing-files-using-the-command-line/renaming-a-file-using-the-command-line.md @@ -5,9 +5,9 @@ redirect_from: - /articles/renaming-a-file-using-the-command-line - /github/managing-files-in-a-repository/renaming-a-file-using-the-command-line versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/working-with-non-code-files/3d-file-viewer.md b/content/github/managing-files-in-a-repository/working-with-non-code-files/3d-file-viewer.md index b5d41b541d..f9571f4b47 100644 --- a/content/github/managing-files-in-a-repository/working-with-non-code-files/3d-file-viewer.md +++ b/content/github/managing-files-in-a-repository/working-with-non-code-files/3d-file-viewer.md @@ -5,9 +5,9 @@ redirect_from: - /articles/3d-file-viewer - /github/managing-files-in-a-repository/3d-file-viewer versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/working-with-non-code-files/index.md b/content/github/managing-files-in-a-repository/working-with-non-code-files/index.md index d46f274843..8d5e713cc4 100644 --- a/content/github/managing-files-in-a-repository/working-with-non-code-files/index.md +++ b/content/github/managing-files-in-a-repository/working-with-non-code-files/index.md @@ -5,9 +5,9 @@ redirect_from: - /categories/89/articles/ - /articles/working-with-non-code-files versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/managing-files-in-a-repository/working-with-non-code-files/mapping-geojson-files-on-github.md b/content/github/managing-files-in-a-repository/working-with-non-code-files/mapping-geojson-files-on-github.md index e214798c62..516b18a81a 100644 --- a/content/github/managing-files-in-a-repository/working-with-non-code-files/mapping-geojson-files-on-github.md +++ b/content/github/managing-files-in-a-repository/working-with-non-code-files/mapping-geojson-files-on-github.md @@ -4,9 +4,9 @@ redirect_from: - /articles/mapping-geojson-files-on-github - /github/managing-files-in-a-repository/mapping-geojson-files-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-and-diffing-images.md b/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-and-diffing-images.md index 4b4b8e1d83..a595242dd2 100644 --- a/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-and-diffing-images.md +++ b/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-and-diffing-images.md @@ -5,9 +5,9 @@ redirect_from: - /articles/rendering-and-diffing-images - /github/managing-files-in-a-repository/rendering-and-diffing-images versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-csv-and-tsv-data.md b/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-csv-and-tsv-data.md index 4aa5575d7d..b281089350 100644 --- a/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-csv-and-tsv-data.md +++ b/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-csv-and-tsv-data.md @@ -4,9 +4,9 @@ redirect_from: - /articles/rendering-csv-and-tsv-data - /github/managing-files-in-a-repository/rendering-csv-and-tsv-data versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-differences-in-prose-documents.md b/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-differences-in-prose-documents.md index 95f08b7084..72da373757 100644 --- a/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-differences-in-prose-documents.md +++ b/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-differences-in-prose-documents.md @@ -4,9 +4,9 @@ redirect_from: - /articles/rendering-differences-in-prose-documents - /github/managing-files-in-a-repository/rendering-differences-in-prose-documents versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-pdf-documents.md b/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-pdf-documents.md index 580ce12878..338a1a68ad 100644 --- a/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-pdf-documents.md +++ b/content/github/managing-files-in-a-repository/working-with-non-code-files/rendering-pdf-documents.md @@ -4,9 +4,9 @@ redirect_from: - /articles/rendering-pdf-documents - /github/managing-files-in-a-repository/rendering-pdf-documents versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-files-in-a-repository/working-with-non-code-files/working-with-jupyter-notebook-files-on-github.md b/content/github/managing-files-in-a-repository/working-with-non-code-files/working-with-jupyter-notebook-files-on-github.md index 23d551d448..fbc07035b7 100644 --- a/content/github/managing-files-in-a-repository/working-with-non-code-files/working-with-jupyter-notebook-files-on-github.md +++ b/content/github/managing-files-in-a-repository/working-with-non-code-files/working-with-jupyter-notebook-files-on-github.md @@ -5,9 +5,9 @@ redirect_from: - /articles/working-with-jupyter-notebook-files-on-github - /github/managing-files-in-a-repository/working-with-jupyter-notebook-files-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/managing-large-files/index.md b/content/github/managing-large-files/index.md index 4bb49638f4..d34d067182 100644 --- a/content/github/managing-large-files/index.md +++ b/content/github/managing-large-files/index.md @@ -4,9 +4,9 @@ intro: You can manage large files with Git Large File Storage. redirect_from: - /categories/managing-large-files versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /working-with-large-files - /versioning-large-files diff --git a/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md b/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md index 2f106a9bf2..8816ba7aeb 100644 --- a/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md +++ b/content/github/managing-large-files/versioning-large-files/about-git-large-file-storage.md @@ -6,13 +6,13 @@ redirect_from: - /articles/about-git-large-file-storage - /github/managing-large-files/about-git-large-file-storage versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% data variables.large_files.product_name_short %} handles large files by storing references to the file in the repository, but not the actual file itself. To work around Git's architecture, {% data variables.large_files.product_name_short %} creates a pointer file which acts as a reference to the actual file (which is stored somewhere else). {% data variables.product.product_name %} manages this pointer file in your repository. When you clone the repository down, {% data variables.product.product_name %} uses the pointer file as a map to go and find the large file for you. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Using {% data variables.large_files.product_name_short %}, you can store files up to: | Product | Maximum file size | diff --git a/content/github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage.md b/content/github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage.md index 225e0cdef9..b93d9d7cc4 100644 --- a/content/github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage.md +++ b/content/github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage.md @@ -7,7 +7,7 @@ redirect_from: - /articles/about-storage-and-bandwidth-usage - /github/managing-large-files/about-storage-and-bandwidth-usage versions: - free-pro-team: '*' + fpt: '*' --- {% data variables.large_files.product_name_short %} is available for every repository on {% data variables.product.product_name %}, whether or not your account or organization has a paid subscription. @@ -19,7 +19,7 @@ For example: - If you push a 500 MB file to {% data variables.large_files.product_name_short %}, you'll use 500 MB of your allotted storage and none of your bandwidth. If you make a 1 byte change and push the file again, you'll use another 500 MB of storage and no bandwidth, bringing your total usage for these two pushes to 1 GB of storage and zero bandwidth. - If you download a 500 MB file that's tracked with LFS, you'll use 500 MB of the repository owner's allotted bandwidth. If a collaborator pushes a change to the file and you pull the new version to your local repository, you'll use another 500 MB of bandwidth, bringing the total usage for these two downloads to 1 GB of bandwidth. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} If {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) objects are included in source code archives for your repository, downloads of those archives will count towards bandwidth usage for the repository. For more information, see "[Managing {% data variables.large_files.product_name_short %} objects in archives of your repository](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository)." {% endif %} diff --git a/content/github/managing-large-files/versioning-large-files/collaboration-with-git-large-file-storage.md b/content/github/managing-large-files/versioning-large-files/collaboration-with-git-large-file-storage.md index e325c617a0..0ae05cddf3 100644 --- a/content/github/managing-large-files/versioning-large-files/collaboration-with-git-large-file-storage.md +++ b/content/github/managing-large-files/versioning-large-files/collaboration-with-git-large-file-storage.md @@ -6,9 +6,9 @@ redirect_from: - /articles/collaboration-with-git-large-file-storage - /github/managing-large-files/collaboration-with-git-large-file-storage versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- If collaborators on your repository don't have {% data variables.large_files.product_name_short %} installed, they won't have access to the original large file. If they attempt to clone your repository, they will only fetch the pointer files, and won't have access to any of the actual data. @@ -28,7 +28,7 @@ For more information about pointer files, see "[About {% data variables.large_fi To view changes made to large files, check out the pull request locally to review the diff. For more information, see "[Checking out pull requests locally](/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Pushing large files to forks diff --git a/content/github/managing-large-files/versioning-large-files/configuring-git-large-file-storage.md b/content/github/managing-large-files/versioning-large-files/configuring-git-large-file-storage.md index 8a0cc19f05..e4196d8171 100644 --- a/content/github/managing-large-files/versioning-large-files/configuring-git-large-file-storage.md +++ b/content/github/managing-large-files/versioning-large-files/configuring-git-large-file-storage.md @@ -6,15 +6,15 @@ redirect_from: - /articles/configuring-git-large-file-storage - /github/managing-large-files/configuring-git-large-file-storage versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- If there are existing files in your repository that you'd like to use {% data variables.product.product_name %} with, you need to first remove them from the repository and then add them to {% data variables.large_files.product_name_short %} locally. For more information, see "[Moving a file in your repository to {% data variables.large_files.product_name_short %}](/articles/moving-a-file-in-your-repository-to-git-large-file-storage)." {% data reusables.large_files.resolving-upload-failures %} -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} {% tip %} @@ -59,5 +59,5 @@ If there are existing files in your repository that you'd like to use {% data va ## Further reading -- "[Collaboration with {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage/)"{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +- "[Collaboration with {% data variables.large_files.product_name_long %}](/articles/collaboration-with-git-large-file-storage/)"{% ifversion fpt or ghes > 3.0 or ghae %} - "[Managing {% data variables.large_files.product_name_short %} objects in archives of your repository](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository)"{% endif %} diff --git a/content/github/managing-large-files/versioning-large-files/index.md b/content/github/managing-large-files/versioning-large-files/index.md index 6dba0ee83f..04fcefad9c 100644 --- a/content/github/managing-large-files/versioning-large-files/index.md +++ b/content/github/managing-large-files/versioning-large-files/index.md @@ -4,9 +4,9 @@ intro: '{% data reusables.enterprise_site_admin_settings.configuring-large-file- redirect_from: - /articles/versioning-large-files versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /about-git-large-file-storage - /installing-git-large-file-storage diff --git a/content/github/managing-large-files/versioning-large-files/installing-git-large-file-storage.md b/content/github/managing-large-files/versioning-large-files/installing-git-large-file-storage.md index 85fa077555..7a1f42dfba 100644 --- a/content/github/managing-large-files/versioning-large-files/installing-git-large-file-storage.md +++ b/content/github/managing-large-files/versioning-large-files/installing-git-large-file-storage.md @@ -6,9 +6,9 @@ redirect_from: - /articles/installing-git-large-file-storage - /github/managing-large-files/installing-git-large-file-storage versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% mac %} diff --git a/content/github/managing-large-files/versioning-large-files/moving-a-file-in-your-repository-to-git-large-file-storage.md b/content/github/managing-large-files/versioning-large-files/moving-a-file-in-your-repository-to-git-large-file-storage.md index 21142976c4..7a76be445f 100644 --- a/content/github/managing-large-files/versioning-large-files/moving-a-file-in-your-repository-to-git-large-file-storage.md +++ b/content/github/managing-large-files/versioning-large-files/moving-a-file-in-your-repository-to-git-large-file-storage.md @@ -5,9 +5,9 @@ redirect_from: - /articles/moving-a-file-in-your-repository-to-git-large-file-storage - /github/managing-large-files/moving-a-file-in-your-repository-to-git-large-file-storage versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- After installing {% data variables.large_files.product_name_short %} and configuring {% data variables.large_files.product_name_short %} tracking, you can move files from Git's regular tracking to {% data variables.large_files.product_name_short %}. For more information, see "[Installing {% data variables.large_files.product_name_long %}](/github/managing-large-files/installing-git-large-file-storage)" and "[Configuring {% data variables.large_files.product_name_long %}](/github/managing-large-files/configuring-git-large-file-storage)." diff --git a/content/github/managing-large-files/versioning-large-files/removing-files-from-git-large-file-storage.md b/content/github/managing-large-files/versioning-large-files/removing-files-from-git-large-file-storage.md index 669ea55f60..41d3ef5355 100644 --- a/content/github/managing-large-files/versioning-large-files/removing-files-from-git-large-file-storage.md +++ b/content/github/managing-large-files/versioning-large-files/removing-files-from-git-large-file-storage.md @@ -5,9 +5,9 @@ redirect_from: - /articles/removing-files-from-git-large-file-storage - /github/managing-large-files/removing-files-from-git-large-file-storage versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Removing a single file @@ -36,9 +36,9 @@ versions: ## {% data variables.large_files.product_name_short %} objects in your repository -After you remove files from {% data variables.large_files.product_name_short %}, the {% data variables.large_files.product_name_short %} objects still exist on the remote storage{% if currentVersion == "free-pro-team@latest" %} and will continue to count toward your {% data variables.large_files.product_name_short %} storage quota{% endif %}. +After you remove files from {% data variables.large_files.product_name_short %}, the {% data variables.large_files.product_name_short %} objects still exist on the remote storage{% ifversion fpt %} and will continue to count toward your {% data variables.large_files.product_name_short %} storage quota{% endif %}. -To remove {% data variables.large_files.product_name_short %} objects from a repository, {% if currentVersion == "free-pro-team@latest" %}delete and recreate the repository. When you delete a repository, any associated issues, stars, and forks are also deleted. For more information, see "[Deleting a repository](/github/administering-a-repository/deleting-a-repository)." If you need to purge a removed object and you are unable to delete the repository, please [contact support](/github/working-with-github-support) for help.{% else %}contact your {% data variables.product.prodname_enterprise %} administrator to archive the objects. Archived objects are purged after three months.{% endif %} +To remove {% data variables.large_files.product_name_short %} objects from a repository, {% ifversion fpt %}delete and recreate the repository. When you delete a repository, any associated issues, stars, and forks are also deleted. For more information, see "[Deleting a repository](/github/administering-a-repository/deleting-a-repository)." If you need to purge a removed object and you are unable to delete the repository, please [contact support](/github/working-with-github-support) for help.{% else %}contact your {% data variables.product.prodname_enterprise %} administrator to archive the objects. Archived objects are purged after three months.{% endif %} {% note %} diff --git a/content/github/managing-large-files/versioning-large-files/resolving-git-large-file-storage-upload-failures.md b/content/github/managing-large-files/versioning-large-files/resolving-git-large-file-storage-upload-failures.md index 160268f21c..b6ffc8c685 100644 --- a/content/github/managing-large-files/versioning-large-files/resolving-git-large-file-storage-upload-failures.md +++ b/content/github/managing-large-files/versioning-large-files/resolving-git-large-file-storage-upload-failures.md @@ -5,9 +5,9 @@ redirect_from: - /articles/resolving-git-large-file-storage-upload-failures - /github/managing-large-files/resolving-git-large-file-storage-upload-failures versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- The {% data variables.large_files.product_name_short %} integrity check ensures that all referenced {% data variables.large_files.product_name_short %} files in a push have been uploaded properly. If the check detects referenced files that have not been uploaded, you will receive an error message and your push will be blocked. diff --git a/content/github/managing-large-files/working-with-large-files/conditions-for-large-files.md b/content/github/managing-large-files/working-with-large-files/conditions-for-large-files.md index 2c27e8aa65..c049bd9305 100644 --- a/content/github/managing-large-files/working-with-large-files/conditions-for-large-files.md +++ b/content/github/managing-large-files/working-with-large-files/conditions-for-large-files.md @@ -5,9 +5,9 @@ redirect_from: - /articles/conditions-for-large-files - /github/managing-large-files/conditions-for-large-files versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% data reusables.large_files.use_lfs_tip %} @@ -17,4 +17,4 @@ If you attempt to add or update a file that is larger than {% data variables.lar ## Blocked pushes for large files -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}By default, {% endif %}{% data variables.product.product_name %} blocks pushes that exceed {% data variables.large_files.max_github_size %}. {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}However, a site administrator can configure a different limit for {% data variables.product.product_location %}. For more information, see "[Setting Git push limits](/enterprise/{{ currentVersion }}/admin/guides/installation/setting-git-push-limits)".{% endif %} +{% ifversion ghes or ghae %}By default, {% endif %}{% data variables.product.product_name %} blocks pushes that exceed {% data variables.large_files.max_github_size %}. {% ifversion ghes or ghae %}However, a site administrator can configure a different limit for {% data variables.product.product_location %}. For more information, see "[Setting Git push limits](/enterprise/{{ currentVersion }}/admin/guides/installation/setting-git-push-limits)".{% endif %} diff --git a/content/github/managing-large-files/working-with-large-files/distributing-large-binaries.md b/content/github/managing-large-files/working-with-large-files/distributing-large-binaries.md index 2b6067c8e2..e1b73a049c 100644 --- a/content/github/managing-large-files/working-with-large-files/distributing-large-binaries.md +++ b/content/github/managing-large-files/working-with-large-files/distributing-large-binaries.md @@ -5,13 +5,13 @@ redirect_from: - /articles/distributing-large-binaries - /github/managing-large-files/distributing-large-binaries versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- If you need to distribute large files within your repository, you can create releases on {% data variables.product.product_location %}. Releases allow you to package software, release notes, and links to binary files, for other people to use. For more information, visit "[About releases](/github/administering-a-repository/about-releases)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} We don't limit the total size of the binary files in the release or the bandwidth used to deliver them. However, each individual file must be smaller than {% data variables.large_files.max_lfs_size %}. diff --git a/content/github/managing-large-files/working-with-large-files/index.md b/content/github/managing-large-files/working-with-large-files/index.md index d375375932..582965cf86 100644 --- a/content/github/managing-large-files/working-with-large-files/index.md +++ b/content/github/managing-large-files/working-with-large-files/index.md @@ -4,9 +4,9 @@ intro: 'A Git repository contains every version of every file. But for some file redirect_from: - /articles/working-with-large-files versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /conditions-for-large-files - /removing-files-from-a-repositorys-history diff --git a/content/github/managing-large-files/working-with-large-files/removing-files-from-a-repositorys-history.md b/content/github/managing-large-files/working-with-large-files/removing-files-from-a-repositorys-history.md index 7c70b1aaae..26f4558a5c 100644 --- a/content/github/managing-large-files/working-with-large-files/removing-files-from-a-repositorys-history.md +++ b/content/github/managing-large-files/working-with-large-files/removing-files-from-a-repositorys-history.md @@ -6,9 +6,9 @@ redirect_from: - /articles/removing-files-from-a-repositorys-history - /github/managing-large-files/removing-files-from-a-repositorys-history versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% warning %} diff --git a/content/github/managing-large-files/working-with-large-files/what-is-my-disk-quota.md b/content/github/managing-large-files/working-with-large-files/what-is-my-disk-quota.md index 285980db8c..af7258a763 100644 --- a/content/github/managing-large-files/working-with-large-files/what-is-my-disk-quota.md +++ b/content/github/managing-large-files/working-with-large-files/what-is-my-disk-quota.md @@ -6,7 +6,7 @@ redirect_from: - /github/managing-large-files/what-is-my-disk-quota intro: '{% data variables.product.product_name %} tries to provide abundant storage for all Git repositories, although there are hard limits for file and repository sizes.' versions: - free-pro-team: '*' + fpt: '*' --- {% data reusables.large_files.use_lfs_tip %} diff --git a/content/github/managing-security-vulnerabilities/index.md b/content/github/managing-security-vulnerabilities/index.md index 07b6df7727..2823eafe60 100644 --- a/content/github/managing-security-vulnerabilities/index.md +++ b/content/github/managing-security-vulnerabilities/index.md @@ -1,7 +1,7 @@ --- title: Managing security vulnerabilities versions: - enterprise-server: <=2.22 + ghes: <=2.22 topics: - Security children: diff --git a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md index 3485766af9..03cff9e7fa 100644 --- a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md +++ b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies.md @@ -1,8 +1,8 @@ --- title: About alerts for vulnerable dependencies -intro: '{% data variables.product.product_name %} sends {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} when we detect vulnerabilities affecting your repository.' +intro: '{% data variables.product.product_name %} sends {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} when we detect vulnerabilities affecting your repository.' versions: - enterprise-server: <=2.22 + ghes: <=2.22 topics: - Security redirect_from: @@ -18,7 +18,7 @@ When your code depends on a package that has a security vulnerability, this vuln ## Detection of vulnerable dependencies - {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %} detects vulnerable dependencies and sends {% data variables.product.prodname_dependabot_alerts %}{% else %}{% data variables.product.product_name %} detects vulnerable dependencies and sends security alerts{% endif %} when: + {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %} detects vulnerable dependencies and sends {% data variables.product.prodname_dependabot_alerts %}{% else %}{% data variables.product.product_name %} detects vulnerable dependencies and sends security alerts{% endif %} when: - New advisory data is synchronized to {% data variables.product.prodname_ghe_server %} each hour from {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.security-advisory.link-browsing-advisory-db %} - The dependency graph for a repository changes. For example, when a contributor pushes a commit to change the packages or versions it depends on. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." @@ -33,7 +33,7 @@ For a list of the ecosystems that {% data variables.product.product_name %} can {% endnote %} -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ## {% data variables.product.prodname_dependabot %} alerts for vulnerable dependencies {% else %} ## Security alerts for vulnerable dependencies @@ -41,11 +41,11 @@ For a list of the ecosystems that {% data variables.product.product_name %} can {% data reusables.repositories.enable-security-alerts %} -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} When {% data variables.product.product_name %} identifies a vulnerable dependency, we generate a {% data variables.product.prodname_dependabot %} alert and display it on the Security tab for the repository. The alert includes a link to the affected file in the project, and information about a fixed version. {% data variables.product.product_name %} also notifies the maintainers of affected repositories about the new alert according to their notification preferences. For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)." {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} When {% data variables.product.product_name %} identifies a vulnerable dependency, we send a security alert to the maintainers of affected repositories with details of the vulnerability, a link to the affected file in the project, and information about a fixed version. {% endif %} @@ -55,15 +55,15 @@ When {% data variables.product.product_name %} identifies a vulnerable dependenc {% endwarning %} -## Access to {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts +## Access to {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts You can see all of the alerts that affect a particular project in the repository's dependency graph. -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} By default, we notify people with admin permissions in the affected repositories about new {% data variables.product.prodname_dependabot_alerts %}.{% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} We send security alerts to people with admin permissions in the affected repositories by default. {% data variables.product.product_name %} never publicly discloses identified vulnerabilities for any repository. {% endif %} -{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %}{% if enterpriseServerVersions contains currentVersion %} For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."{% endif %} +{% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %}{% ifversion ghes %} For more information, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)."{% endif %} diff --git a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md index a6940e7450..52c3f39e59 100644 --- a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md +++ b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies.md @@ -1,9 +1,9 @@ --- title: Configuring notifications for vulnerable dependencies shortTitle: Configuring notifications -intro: 'Optimize how you receive notifications about {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts.' +intro: 'Optimize how you receive notifications about {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts.' versions: - enterprise-server: '>=2.21 <=2.22' + ghes: '* <=2.22' topics: - Security redirect_from: @@ -13,26 +13,26 @@ redirect_from: ## About notifications for vulnerable dependencies -{% if currentVersion ver_gt "enterprise-server@2.21" %}When {% data variables.product.prodname_dependabot %} detects vulnerable dependencies in your repositories, we generate a {% data variables.product.prodname_dependabot %} alert and display it on the Security tab for the repository. {% data variables.product.product_name %} notifies the maintainers of affected repositories about the new alert according to their notification preferences.{% else %}When {% data variables.product.product_name %} detects vulnerable dependencies in your repositories, it sends security alerts.{% endif %} +{% ifversion ghes > 2.21 %}When {% data variables.product.prodname_dependabot %} detects vulnerable dependencies in your repositories, we generate a {% data variables.product.prodname_dependabot %} alert and display it on the Security tab for the repository. {% data variables.product.product_name %} notifies the maintainers of affected repositories about the new alert according to their notification preferences.{% else %}When {% data variables.product.product_name %} detects vulnerable dependencies in your repositories, it sends security alerts.{% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion == "enterprise-server@2.21" %} +{% ifversion ghes = 2.21 %} Your site administrator needs to enable security alerts for vulnerable dependencies for {% data variables.product.product_location %} before you can use the feature. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.20" %} -By default, if your site administrator has configured email for notifications on your enterprise, you will receive {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} by email.{% endif %} +{% ifversion ghes %} +By default, if your site administrator has configured email for notifications on your enterprise, you will receive {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} by email.{% endif %} -{% if currentVersion ver_gt "enterprise-server@2.21" %}Site administrators can also enable {% data variables.product.prodname_dependabot_alerts %} without notifications. For more information, see "[Enabling {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} +{% ifversion ghes > 2.21 %}Site administrators can also enable {% data variables.product.prodname_dependabot_alerts %} without notifications. For more information, see "[Enabling {% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} -{% if currentVersion ver_lt "enterprise-server@2.22" %}Site administrators can also enable security alerts without notifications. For more information, see "[Enabling security alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} +{% ifversion ghes < 2.22 %}Site administrators can also enable security alerts without notifications. For more information, see "[Enabling security alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} -## Configuring notifications for {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} +## Configuring notifications for {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} You can configure notification settings for yourself or your organization from the Manage notifications drop-down {% octicon "bell" aria-label="The notifications bell" %} shown at the top of each page. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#choosing-your-notification-settings)." {% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %} {% data reusables.notifications.vulnerable-dependency-notification-options %} -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ![{% data variables.product.prodname_dependabot_alerts %} options](/assets/images/help/notifications-v2/dependabot-alerts-options.png) {% else %} ![Security alerts options](/assets/images/help/notifications-v2/security-alerts-options.png) @@ -40,7 +40,7 @@ You can configure notification settings for yourself or your organization from t {% note %} -**Note:** You can filter your notifications on {% data variables.product.company_short %} to show {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %} security{% endif %} alerts. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)." +**Note:** You can filter your notifications on {% data variables.product.company_short %} to show {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %} security{% endif %} alerts. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)." {% endnote %} @@ -48,7 +48,7 @@ You can configure notification settings for yourself or your organization from t ## How to reduce the noise from notifications for vulnerable dependencies -If you are concerned about receiving too many notifications for {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}, we recommend you opt into the weekly email digest, or turn off notifications while keeping {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} enabled. You can still navigate to see your {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} in your repository's Security tab. +If you are concerned about receiving too many notifications for {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}, we recommend you opt into the weekly email digest, or turn off notifications while keeping {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} enabled. You can still navigate to see your {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} in your repository's Security tab. ## Further reading diff --git a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/index.md b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/index.md index 732b8e45e9..42739d13a1 100644 --- a/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/index.md +++ b/content/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies/index.md @@ -1,8 +1,8 @@ --- title: Managing vulnerabilities in your project's dependencies -intro: 'You can track your repository''s dependencies and receive {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} when {% data variables.product.product_name %} detects vulnerable dependencies.' +intro: 'You can track your repository''s dependencies and receive {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} when {% data variables.product.product_name %} detects vulnerable dependencies.' versions: - enterprise-server: <=2.22 + ghes: <=2.22 topics: - Security children: diff --git a/content/github/managing-subscriptions-and-notifications-on-github/index.md b/content/github/managing-subscriptions-and-notifications-on-github/index.md index 0326c86230..e06eb07af9 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/index.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/index.md @@ -6,9 +6,9 @@ redirect_from: - /categories/notifications/ - /categories/receiving-notifications-about-activity-on-github versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications children: @@ -16,3 +16,4 @@ children: - /viewing-and-triaging-notifications - /managing-subscriptions-for-activity-on-github --- + diff --git a/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/index.md b/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/index.md index 125c98226c..2cf6718196 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/index.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/index.md @@ -2,9 +2,9 @@ title: Managing subscriptions for activity on GitHub intro: 'To maintain sustainable notification workflows, understand and regularly review your subscriptions.' versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications children: diff --git a/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions.md b/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions.md index 67e10eba99..077961df30 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions.md @@ -2,9 +2,9 @@ title: Managing your subscriptions intro: 'To help you manage your notifications efficiently, there are several ways to unsubscribe.' versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications redirect_from: @@ -14,7 +14,7 @@ To help you understand your subscriptions and decide whether to unsubscribe, see {% note %} -**Note:** Instead of unsubscribing, you have the option to ignore a repository. If you ignore a repository, you won't receive any notifications. We don't recommend ignoring repositories as you won't be notified if you're @mentioned. {% if currentVersion == "free-pro-team@latest" %}If you're experiencing abuse and want to ignore a repository, please contact {% data variables.contact.contact_support %} so we can help. {% data reusables.policies.abuse %}{% endif %} +**Note:** Instead of unsubscribing, you have the option to ignore a repository. If you ignore a repository, you won't receive any notifications. We don't recommend ignoring repositories as you won't be notified if you're @mentioned. {% ifversion fpt %}If you're experiencing abuse and want to ignore a repository, please contact {% data variables.contact.contact_support %} so we can help. {% data reusables.policies.abuse %}{% endif %} {% endnote %} @@ -62,12 +62,12 @@ When you unwatch a repository, you unsubscribe from future updates from that rep 1. In the left sidebar, under the list of repositories, use the "Manage notifications" drop-down to click **Watched repositories**. ![Manage notifications drop down menu options](/assets/images/help/notifications-v2/manage-notifications-options.png) 2. On the watched repositories page, after you've evaluated the repositories you're watching, choose whether to: - {% if currentVersion == "github-ae@latest" or currentVersion ver_lt "enterprise-server@3.1" %} + {% ifversion ghae or ghes < 3.1 %} - Unwatch a repository - Only watch releases for a repository - Ignore all notifications for a repository {% endif %} - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} + {% ifversion fpt or ghes > 3.0 or ghae-next %} - Unwatch a repository - Ignore all notifications for a repository - Customize the types of event you receive notifications for ({% data reusables.notifications-v2.custom-notification-types %}, if enabled) diff --git a/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions.md b/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions.md index a22653044a..8e6f824ebd 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions.md @@ -16,9 +16,9 @@ redirect_from: - /articles/listing-the-repositories-youre-watching - /github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications --- @@ -35,7 +35,7 @@ When your inbox has too many notifications to manage, consider whether you have For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#automatic-watching)." To see an overview of your repository subscriptions, see "[Reviewing repositories that you're watching](#reviewing-repositories-that-youre-watching)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} {% tip %} **Tip:** You can select the types of event to be notified of by using the **Custom** option of the **Watch/Unwatch** dropdown list in your [watching page](https://github.com/watching) or on any repository page on {% data variables.product.product_name %}. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository)." @@ -69,15 +69,15 @@ Many people forget about repositories that they've chosen to watch in the past. 1. In the left sidebar, under the list of repositories, use the "Manage notifications" drop-down menu and click **Watched repositories**. ![Manage notifications drop down menu options](/assets/images/help/notifications-v2/manage-notifications-options.png) 2. Evaluate the repositories that you are watching and decide if their updates are still relevant and helpful. When you watch a repository, you will be notified of all conversations for that repository. -{% if currentVersion == "github-ae@latest" or currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghae or ghes < 3.1 %} ![Watched notifications page](/assets/images/help/notifications-v2/watched-notifications.png) -{% elsif currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% elsif fpt or ghes > 3.0 or ghae-next %} ![Watched notifications page](/assets/images/help/notifications-v2/watched-notifications-custom.png) {% endif %} {% tip %} - **Tip:** Instead of watching a repository, consider only receiving notifications {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}when there are updates to {% data reusables.notifications-v2.custom-notification-types %} (if enabled for the repository), or any combination of these options,{% else %}for releases in a repository,{% endif %} or completely unwatching a repository. + **Tip:** Instead of watching a repository, consider only receiving notifications {% ifversion fpt or ghes > 3.0 or ghae-next %}when there are updates to {% data reusables.notifications-v2.custom-notification-types %} (if enabled for the repository), or any combination of these options,{% else %}for releases in a repository,{% endif %} or completely unwatching a repository. When you unwatch a repository, you can still be notified when you're @mentioned or participating in a thread. When you configure to receive notifications for certain event types, you're only notified when there are updates to these event types in the repository, you're participating in a thread, or you or a team you're on is @mentioned. diff --git a/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications.md b/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications.md index 36c5e214db..cae7df8df1 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications.md @@ -7,13 +7,13 @@ redirect_from: - /github/managing-subscriptions-and-notifications-on-github/about-notifications-beta - /github/managing-subscriptions-and-notifications-on-github/about-notifications versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications --- -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.mobile.ghes-release-phase %} {% endif %} @@ -26,8 +26,8 @@ You can choose to receive ongoing updates about specific activity on {% data var You can choose to subscribe to notifications for: - A conversation in a specific issue, pull request, or gist. - All activity in a repository or team discussion. -- CI activity, such as the status of workflows in repositories set up with {% data variables.product.prodname_actions %}. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} -- Repository {% data reusables.notifications-v2.custom-notification-types %} (if enabled). {% elsif currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} +- CI activity, such as the status of workflows in repositories set up with {% data variables.product.prodname_actions %}. {% ifversion fpt or ghes > 3.0 or ghae-next %} +- Repository {% data reusables.notifications-v2.custom-notification-types %} (if enabled). {% elsif ghae or ghes %} - Releases in a repository.{% endif %} You can also choose to automatically watch all repositories that you have push access to, except forks. You can watch any other repository you have access to manually by clicking **Watch**. @@ -52,7 +52,7 @@ To unsubscribe from conversations you're automatically subscribed to, you can ch ## Customizing notifications and subscriptions -You can choose to view your notifications through the notifications inbox at [https://github.com/notifications](https://github.com/notifications){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} and in the {% data variables.product.prodname_mobile %} app{% endif %}, through your email, or some combination of these options. +You can choose to view your notifications through the notifications inbox at [https://github.com/notifications](https://github.com/notifications){% ifversion fpt or ghes > 2.22 %} and in the {% data variables.product.prodname_mobile %} app{% endif %}, through your email, or some combination of these options. To customize the types of updates you'd like to receive and where to send those updates, configure your notification settings. For more information, see “[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications).” @@ -60,7 +60,7 @@ To keep your subscriptions manageable, review your subscriptions and watched rep To customize how you'd like to receive updates for specific pull requests or issues, you can configure your preferences within the issue or pull request. For more information, see “[Triaging a single notification](/github/managing-subscriptions-and-notifications-on-github/triaging-a-single-notification#customizing-when-to-receive-future-updates-for-an-issue-or-pull-request).” -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22"%} +{% ifversion fpt or ghes > 2.22 %} You can customize and schedule push notifications in the {% data variables.product.prodname_mobile %} app. For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#managing-your-notification-settings-with-github-for-mobile)." {% endif %} @@ -90,7 +90,7 @@ From your inbox you can also triage multiple notifications at once. For more inf ## Customizing your notifications inbox -To focus on a group of notifications in your inbox on {% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} or {% data variables.product.prodname_mobile %}{% endif %}, you can create custom filters. For example, you can create a custom filter for an open source project you contribute to and only see notifications for that repository in which you are mentioned. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox)." For more examples of how to customize your triaging workflow, see "[Customizing a workflow for triaging your notifications](/github/managing-subscriptions-and-notifications-on-github/customizing-a-workflow-for-triaging-your-notifications)." +To focus on a group of notifications in your inbox on {% data variables.product.product_name %}{% ifversion fpt or ghes > 2.22 %} or {% data variables.product.prodname_mobile %}{% endif %}, you can create custom filters. For example, you can create a custom filter for an open source project you contribute to and only see notifications for that repository in which you are mentioned. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox)." For more examples of how to customize your triaging workflow, see "[Customizing a workflow for triaging your notifications](/github/managing-subscriptions-and-notifications-on-github/customizing-a-workflow-for-triaging-your-notifications)." ## Notification retention policy diff --git a/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md b/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md index 78866656f1..caf2e90fb5 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md @@ -15,13 +15,13 @@ redirect_from: - /articles/choosing-the-types-of-notifications-you-receive/ - /github/managing-subscriptions-and-notifications-on-github/configuring-notifications versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications --- -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.mobile.ghes-release-phase %} {% endif %} @@ -29,11 +29,11 @@ topics: You can receive notifications for activity on {% data variables.product.product_name %} in the following locations. - - The notifications inbox in the {% data variables.product.product_name %} web interface{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} + - The notifications inbox in the {% data variables.product.product_name %} web interface{% ifversion fpt or ghes > 2.22 %} - The notifications inbox on {% data variables.product.prodname_mobile %}, which syncs with the inbox on {% data variables.product.product_name %}{% endif %} - - An email client that uses a verified email address, which can also sync with the notifications inbox on {% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} and {% data variables.product.prodname_mobile %}{% endif %} + - An email client that uses a verified email address, which can also sync with the notifications inbox on {% data variables.product.product_name %}{% ifversion fpt or ghes > 2.22 %} and {% data variables.product.prodname_mobile %}{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} {% data reusables.notifications-v2.notifications-inbox-required-setting %} For more information, see "[Choosing your notification settings](#choosing-your-notification-settings)." {% endif %} @@ -41,7 +41,7 @@ You can receive notifications for activity on {% data variables.product.product_ ### Benefits of the notifications inbox -The notifications inbox on {% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} and {% data variables.product.prodname_mobile %}{% endif %} includes triaging options designed specifically for your {% data variables.product.product_name %} notifications flow, including options to: +The notifications inbox on {% data variables.product.product_name %}{% ifversion fpt or ghes > 2.22 %} and {% data variables.product.prodname_mobile %}{% endif %} includes triaging options designed specifically for your {% data variables.product.product_name %} notifications flow, including options to: - Triage multiple notifications at once. - Mark completed notifications as **Done** and remove them from your inbox. To view all of your notifications marked as **Done**, use the `is:done` query. - Save a notification to review later. Saved notifications are flagged in your inbox and kept indefinitely. To view all of your saved notifications, use the `is:saved` query. @@ -51,7 +51,7 @@ The notifications inbox on {% data variables.product.product_name %}{% if curren - Create custom filters to focus on different notifications when you want. - Group notifications in your inbox by repository or date to get a quick overview with less context switching -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} In addition, you can receive and triage notifications on your mobile device with {% data variables.product.prodname_mobile %}. For more information, see "[Managing your notification settings with GitHub for mobile](#managing-your-notification-settings-with-github-for-mobile)" or "[GitHub for mobile](/github/getting-started-with-github/github-for-mobile)." {% endif %} @@ -68,12 +68,12 @@ Email notifications also allow flexibility with the types of notifications you r When you watch a repository, you're subscribing to updates for activity in that repository. Similarly, when you watch a specific team's discussions, you're subscribing to all conversation updates on that team's page. For more information, see "[About team discussions](/organizations/collaborating-with-your-team/about-team-discussions)." To see repositories that you're watching, go to your [watching page](https://github.com/watching). For more information, see "[Managing subscriptions and notifications on GitHub](/github/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github)." -{% if currentVersion == "github-ae@latest" or currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghae or ghes < 3.1 %} ### Configuring notifications {% endif %} -You can configure notifications for a repository on the repository page, or on your watching page.{% if currentVersion == "github-ae@latest" or currentVersion ver_lt "enterprise-server@3.1" %} You can choose to only receive notifications for releases in a repository, or ignore all notifications for a repository.{% endif %} +You can configure notifications for a repository on the repository page, or on your watching page.{% ifversion ghae or ghes < 3.1 %} You can choose to only receive notifications for releases in a repository, or ignore all notifications for a repository.{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} ### About custom notifications You can customize notifications for a repository. For example, you can choose to only be notified when updates to one or more types of events ({% data reusables.notifications-v2.custom-notification-types %}) happen within a repository, or ignore all notifications for a repository. {% endif %} For more information, see "[Configuring your watch settings for an individual repository](#configuring-your-watch-settings-for-an-individual-repository)" below. @@ -81,7 +81,7 @@ You can customize notifications for a repository. For example, you can choose to ### Participating in conversations Anytime you comment in a conversation or when someone @mentions your username, you are _participating_ in a conversation. By default, you are automatically subscribed to a conversation when you participate in it. You can unsubscribe from a conversation you've participated in manually by clicking **Unsubscribe** on the issue or pull request or through the **Unsubscribe** option in the notifications inbox. -For conversations you're watching or participating in, you can choose whether you want to receive notifications by email or through the notifications inbox on {% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} and {% data variables.product.prodname_mobile %}{% endif %}. +For conversations you're watching or participating in, you can choose whether you want to receive notifications by email or through the notifications inbox on {% data variables.product.product_name %}{% ifversion fpt or ghes > 2.22 %} and {% data variables.product.prodname_mobile %}{% endif %}. ![Participating and watching notifications options](/assets/images/help/notifications-v2/participating-and-watching-options.png) @@ -89,7 +89,7 @@ For example: - If you don't want notifications to be sent to your email, unselect **email** for participating and watching notifications. - If you want to receive notifications by email when you've participated in a conversation, then you can select **email** under "Participating". -If you do not enable watching or participating notifications for web{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} and mobile{% endif %}, then your notifications inbox will not have any updates. +If you do not enable watching or participating notifications for web{% ifversion fpt or ghes > 2.22 %} and mobile{% endif %}, then your notifications inbox will not have any updates. ## Customizing your email notifications @@ -99,7 +99,7 @@ After enabling email notifications, {% data variables.product.product_name %} wi {% data reusables.notifications.shared_state %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you're using Gmail, you can click a button beside the notification email to visit the original issue or pull request that generated the notification. @@ -129,10 +129,10 @@ Email notifications from {% data variables.product.product_name %} contain the f | Header | Information | | --- | --- | -| `From` address | This address will always be {% if currentVersion == "free-pro-team@latest" %}'`notifications@github.com`'{% else %}'the no-reply email address configured by your site administrator'{% endif %}. | -| `To` field | This field connects directly to the thread.{% if currentVersion != "github-ae@latest" %} If you reply to the email, you'll add a new comment to the conversation.{% endif %} | -| `Cc` address | {% data variables.product.product_name %} will `Cc` you if you're subscribed to a conversation. The second `Cc` email address matches the notification reason. The suffix for these notification reasons is {% data variables.notifications.cc_address %}. The possible notification reasons are:
  • `assign`: You were assigned to an issue or pull request.
  • `author`: You created an issue or pull request.
  • {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}
  • `ci_activity`: A {% data variables.product.prodname_actions %} workflow run that you triggered was completed.
  • {% endif %}
  • `comment`: You commented on an issue or pull request.
  • `manual`: There was an update to an issue or pull request you manually subscribed to.
  • `mention`: You were mentioned on an issue or pull request.
  • `push`: Someone committed to a pull request you're subscribed to.
  • `review_requested`: You or a team you're a member of was requested to review a pull request.
  • {% if currentVersion != "github-ae@latest" %}
  • `security_alert`: {% data variables.product.prodname_dotcom %} detected a vulnerability in a repository you receive alerts for.
  • {% endif %}
  • `state_change`: An issue or pull request you're subscribed to was either closed or opened.
  • `subscribed`: There was an update in a repository you're watching.
  • `team_mention`: A team you belong to was mentioned on an issue or pull request.
  • `your_activity`: You opened, commented on, or closed an issue or pull request.
| -| `mailing list` field | This field identifies the name of the repository and its owner. The format of this address is always `..{% data variables.command_line.backticks %}`. |{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +| `From` address | This address will always be {% ifversion fpt %}'`notifications@github.com`'{% else %}'the no-reply email address configured by your site administrator'{% endif %}. | +| `To` field | This field connects directly to the thread.{% ifversion not ghae %} If you reply to the email, you'll add a new comment to the conversation.{% endif %} | +| `Cc` address | {% data variables.product.product_name %} will `Cc` you if you're subscribed to a conversation. The second `Cc` email address matches the notification reason. The suffix for these notification reasons is {% data variables.notifications.cc_address %}. The possible notification reasons are:
  • `assign`: You were assigned to an issue or pull request.
  • `author`: You created an issue or pull request.
  • {% ifversion fpt or ghes > 2.21 or ghae %}
  • `ci_activity`: A {% data variables.product.prodname_actions %} workflow run that you triggered was completed.
  • {% endif %}
  • `comment`: You commented on an issue or pull request.
  • `manual`: There was an update to an issue or pull request you manually subscribed to.
  • `mention`: You were mentioned on an issue or pull request.
  • `push`: Someone committed to a pull request you're subscribed to.
  • `review_requested`: You or a team you're a member of was requested to review a pull request.
  • {% ifversion not ghae %}
  • `security_alert`: {% data variables.product.prodname_dotcom %} detected a vulnerability in a repository you receive alerts for.
  • {% endif %}
  • `state_change`: An issue or pull request you're subscribed to was either closed or opened.
  • `subscribed`: There was an update in a repository you're watching.
  • `team_mention`: A team you belong to was mentioned on an issue or pull request.
  • `your_activity`: You opened, commented on, or closed an issue or pull request.
| +| `mailing list` field | This field identifies the name of the repository and its owner. The format of this address is always `..{% data variables.command_line.backticks %}`. |{% ifversion fpt or ghes %} | `X-GitHub-Severity` field | {% data reusables.repositories.security-alerts-x-github-severity %} The possible severity levels are:
  • `low`
  • `moderate`
  • `high`
  • `critical`
For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." |{% endif %} ## Choosing your notification settings @@ -141,9 +141,9 @@ Email notifications from {% data variables.product.product_name %} contain the f {% data reusables.notifications-v2.manage-notifications %} 3. On the notifications settings page, choose how you receive notifications when: - There are updates in repositories or team discussions you're watching or in a conversation you're participating in. For more information, see "[About participating and watching notifications](#about-participating-and-watching-notifications)." - - You gain access to a new repository or you've joined a new team. For more information, see "[Automatic watching](#automatic-watching)."{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} - - There are new {% data variables.product.prodname_dependabot_alerts %} in your repository. For more information, see "[{% data variables.product.prodname_dependabot_alerts %} notification options](#dependabot-alerts-notification-options)." {% endif %}{% if currentVersion == "enterprise-server@2.21" %} - - There are new security alerts in your repository. For more information, see "[Security alert notification options](#security-alert-notification-options)." {% endif %} {% if currentVersion == "free-pro-team@latest" %} + - You gain access to a new repository or you've joined a new team. For more information, see "[Automatic watching](#automatic-watching)."{% ifversion fpt or ghes > 2.21 %} + - There are new {% data variables.product.prodname_dependabot_alerts %} in your repository. For more information, see "[{% data variables.product.prodname_dependabot_alerts %} notification options](#dependabot-alerts-notification-options)." {% endif %}{% ifversion ghes = 2.21 %} + - There are new security alerts in your repository. For more information, see "[Security alert notification options](#security-alert-notification-options)." {% endif %} {% ifversion fpt %} - There are workflow runs updates on repositories set up with {% data variables.product.prodname_actions %}. For more information, see "[{% data variables.product.prodname_actions %} notification options](#github-actions-notification-options)."{% endif %} ## Automatic watching @@ -156,18 +156,18 @@ If "Automatically watch repositories" is disabled, then you will not automatical ## Configuring your watch settings for an individual repository -You can choose whether to watch or unwatch an individual repository. You can also choose to only be notified of {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}certain event types such as {% data reusables.notifications-v2.custom-notification-types %} (if enabled for the repository) {% else %}new releases{% endif %}, or completely ignore an individual repository. +You can choose whether to watch or unwatch an individual repository. You can also choose to only be notified of {% ifversion fpt or ghes > 3.0 or ghae-next %}certain event types such as {% data reusables.notifications-v2.custom-notification-types %} (if enabled for the repository) {% else %}new releases{% endif %}, or completely ignore an individual repository. {% data reusables.repositories.navigate-to-repo %} 2. In the upper-right corner, click the "Watch" drop-down menu to select a watch option. -{% if currentVersion == "github-ae@latest" or currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghae or ghes < 3.1 %} ![Watch options in a drop-down menu for a repository](/assets/images/help/notifications-v2/watch-repository-options.png) -{% elsif currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% elsif fpt or ghes > 3.0 or ghae-next %} ![Watch options in a drop-down menu for a repository](/assets/images/help/notifications-v2/watch-repository-options-custom.png) The **Custom** option allows you to further customize notifications so that you're only notified when specific events happen in the repository, in addition to participating and @mentions. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ![Custom watch options in a drop-down menu for a repository](/assets/images/help/notifications-v2/watch-repository-options-custom2-dotcom.png) {% else %} ![Custom watch options in a drop-down menu for a repository](/assets/images/help/notifications-v2/watch-repository-options-custom2.png) @@ -191,7 +191,7 @@ If you belong to an organization, you can choose the email account you want noti ### Customizing email routes per organization -If you are a member of more than one organization, you can configure each one to send notifications to any of{% if currentVersion == "free-pro-team@latest" %} your verified email addresses{% else %} the email addressed you've added to your {% data variables.product.product_name %} account{% endif %}. {% if currentVersion == "free-pro-team@latest" %} For more information, see "[Verifying your email address](/articles/verifying-your-email-address)."{% endif %} +If you are a member of more than one organization, you can configure each one to send notifications to any of{% ifversion fpt %} your verified email addresses{% else %} the email addressed you've added to your {% data variables.product.product_name %} account{% endif %}. {% ifversion fpt %} For more information, see "[Verifying your email address](/articles/verifying-your-email-address)."{% endif %} {% data reusables.notifications.access_notifications %} {% data reusables.notifications-v2.manage-notifications %} @@ -202,8 +202,8 @@ If you are a member of more than one organization, you can configure each one to 5. Select one of your verified email addresses, then click **Save**. ![Switching your per-org email address](/assets/images/help/notifications/notifications_switching_org_email.gif) -{% if currentVersion != "github-ae@latest" %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion not ghae %} +{% ifversion fpt or ghes > 2.21 %} ## {% data variables.product.prodname_dependabot_alerts %} notification options {% else %} ## Security alert notification options @@ -212,10 +212,10 @@ If you are a member of more than one organization, you can configure each one to {% data reusables.notifications.vulnerable-dependency-notification-delivery-method-customization %} {% data reusables.notifications.vulnerable-dependency-notification-options %} -For more information about the notification delivery methods available to you, and advice on optimizing your notifications for {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)." +For more information about the notification delivery methods available to you, and advice on optimizing your notifications for {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)." {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} ## {% data variables.product.prodname_actions %} notification options Choose how you want to receive workflow run updates for repositories that you are watching that are set up with {% data variables.product.prodname_actions %}. You can also choose to only receive notifications for failed workflow runs. @@ -224,7 +224,7 @@ Choose how you want to receive workflow run updates for repositories that you ar {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Managing your notification settings with {% data variables.product.prodname_mobile %} When you install {% data variables.product.prodname_mobile %}, you will automatically be opted into web notifications. Within the app, you can enable push notifications for the following events. @@ -253,7 +253,7 @@ You can also schedule when {% data variables.product.prodname_mobile %} will sen ## Configuring your watch settings for an individual repository with {% data variables.product.prodname_mobile %} -You can choose whether to watch or unwatch an individual repository. You can also choose to only be notified of {% if currentVersion == "free-pro-team@latest" %}certain event types such as issues, pull requests, discussions (if enabled for the repository) and {% endif %}new releases, or completely ignore an individual repository. +You can choose whether to watch or unwatch an individual repository. You can also choose to only be notified of {% ifversion fpt %}certain event types such as issues, pull requests, discussions (if enabled for the repository) and {% endif %}new releases, or completely ignore an individual repository. 1. On {% data variables.product.prodname_mobile %}, navigate to the main page of the repository. 2. Tap **Watch**. diff --git a/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/index.md b/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/index.md index 92810adfc4..f030814057 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/index.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/setting-up-notifications/index.md @@ -4,9 +4,9 @@ intro: 'To improve the relevance of your notifications and simplify your triagin redirect_from: - /articles/getting-started-with-notifications versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications children: diff --git a/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/customizing-a-workflow-for-triaging-your-notifications.md b/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/customizing-a-workflow-for-triaging-your-notifications.md index 68dca78195..fbbb1dd7c1 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/customizing-a-workflow-for-triaging-your-notifications.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/customizing-a-workflow-for-triaging-your-notifications.md @@ -2,9 +2,9 @@ title: Customizing a workflow for triaging your notifications intro: 'To create an ideal workflow for triaging your notifications, you can adapt and customize these example workflows.' versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications redirect_from: diff --git a/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/index.md b/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/index.md index 83701c8e63..9c588ab4eb 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/index.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/index.md @@ -5,9 +5,9 @@ redirect_from: - /articles/managing-notifications/ - /articles/managing-your-notifications versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications children: diff --git a/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox.md b/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox.md index 17dd8a3a10..b711371183 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/managing-notifications-from-your-inbox.md @@ -1,24 +1,24 @@ --- title: Managing notifications from your inbox -intro: 'Use your inbox to quickly triage and sync your notifications across email{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} and mobile{% endif %}.' +intro: 'Use your inbox to quickly triage and sync your notifications across email{% ifversion fpt or ghes > 2.22 %} and mobile{% endif %}.' redirect_from: - /articles/marking-notifications-as-read - /articles/saving-notifications-for-later - /github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications --- -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% data reusables.mobile.ghes-release-phase %} {% endif %} ## About your inbox -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} {% data reusables.notifications-v2.notifications-inbox-required-setting %} For more information, see "[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications#choosing-your-notification-settings)." {% endif %} @@ -95,7 +95,7 @@ Custom filters do not currently support: These are the types of filters that you can use: - Filter by repository with `repo:` - Filter by discussion type with `is:` - - Filter by notification reason with `reason:`{% if currentVersion == "free-pro-team@latest" %} + - Filter by notification reason with `reason:`{% ifversion fpt %} - Filter by notification author with `author:` - Filter by organization with `org:`{% endif %} @@ -105,21 +105,21 @@ To add a `repo:` filter, you must include the owner of the repository in the que ### Supported `is:` queries -To filter notifications for specific activity on {% data variables.product.product_name %}, you can use the `is` query. For example, to only see repository invitation updates, use `is:repository-invitation`{% if currentVersion != "github-ae@latest" %}, and to only see {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %} security{% endif %} alerts, use `is:repository-vulnerability-alert`.{% endif %} +To filter notifications for specific activity on {% data variables.product.product_name %}, you can use the `is` query. For example, to only see repository invitation updates, use `is:repository-invitation`{% ifversion not ghae %}, and to only see {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %} security{% endif %} alerts, use `is:repository-vulnerability-alert`.{% endif %} - `is:check-suite` - `is:commit` - `is:gist` - `is:issue-or-pull-request` - `is:release` -- `is:repository-invitation`{% if currentVersion != "github-ae@latest" %} +- `is:repository-invitation`{% ifversion not ghae %} - `is:repository-vulnerability-alert` - `is:repository-advisory`{% endif %} -- `is:team-discussion`{% if currentVersion == "free-pro-team@latest" %} +- `is:team-discussion`{% ifversion fpt %} - `is:discussion`{% endif %} -{% if currentVersion != "github-ae@latest" %} -For information about reducing noise from notifications for {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)." +{% ifversion not ghae %} +For information about reducing noise from notifications for {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}, see "[Configuring notifications for vulnerable dependencies](/github/managing-security-vulnerabilities/configuring-notifications-for-vulnerable-dependencies)." {% endif %} You can also use the `is:` query to describe how the notification was triaged. @@ -142,13 +142,13 @@ To filter notifications by why you've received an update, you can use the `reaso | `reason:invitation` | When you're invited to a team, organization, or repository. | `reason:manual` | When you click **Subscribe** on an issue or pull request you weren't already subscribed to. | `reason:mention` | You were directly @mentioned. -| `reason:review-requested` | You or a team you're on have been requested to review a pull request.{% if currentVersion != "github-ae@latest" %} +| `reason:review-requested` | You or a team you're on have been requested to review a pull request.{% ifversion not ghae %} | `reason:security-alert` | When a security alert is issued for a repository.{% endif %} | `reason:state-change` | When the state of a pull request or issue is changed. For example, an issue is closed or a pull request is merged. | `reason:team-mention` | When a team you're a member of is @mentioned. | `reason:ci-activity` | When a repository has a CI update, such as a new workflow run status. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Supported `author:` queries To filter notifications by user, you can use the `author:` query. An author is the original author of the thread (issue, pull request, gist, discussions, and so on) for which you are being notified. For example, to see notifications for threads created by the Octocat user, use `author:octocat`. @@ -161,10 +161,10 @@ For example, to see notifications from the octo-org organization, use `org:octo- {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} ## {% data variables.product.prodname_dependabot %} custom filters -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you use {% data variables.product.prodname_dependabot %} to keep your dependencies up-to-date, you can use and save these custom filters: - `is:repository_vulnerability_alert` to show notifications for {% data variables.product.prodname_dependabot_alerts %}. - `reason:security_alert` to show notifications for {% data variables.product.prodname_dependabot_alerts %} and security update pull requests. @@ -173,7 +173,7 @@ If you use {% data variables.product.prodname_dependabot %} to keep your depende For more information about {% data variables.product.prodname_dependabot %}, see "[About managing vulnerable dependencies](/github/managing-security-vulnerabilities/about-managing-vulnerable-dependencies)." {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} If you use {% data variables.product.prodname_dependabot %} to keep your dependencies-up-to-date, you can use and save the `is:repository_vulnerability_alert` custom filter to show notifications for {% data variables.product.prodname_dependabot_alerts %}. For more information about {% data variables.product.prodname_dependabot %}, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." diff --git a/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification.md b/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification.md index 72920b3086..08c6081d3d 100644 --- a/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification.md +++ b/content/github/managing-subscriptions-and-notifications-on-github/viewing-and-triaging-notifications/triaging-a-single-notification.md @@ -2,9 +2,9 @@ title: Triaging a single notification intro: 'When you review and investigate a single notification, you have several triaging options that are optimized for the detailed notification view.' versions: - free-pro-team: '*' - enterprise-server: '>=2.21' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Notifications redirect_from: diff --git a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/about-searching-on-github.md b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/about-searching-on-github.md index 2764c89f71..4d58ebc630 100644 --- a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/about-searching-on-github.md +++ b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/about-searching-on-github.md @@ -10,9 +10,9 @@ redirect_from: - /articles/about-searching-on-github - /github/searching-for-information-on-github/about-searching-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- @@ -25,7 +25,7 @@ topics: **Notes:** -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} - {% data reusables.search.required_login %}{% endif %} - {% data variables.product.prodname_pages %} sites are not searchable on {% data variables.product.product_name %}. However you can search the source content if it exists in the default branch of a repository, using code search. For more information, see "[Searching code](/articles/searching-code)." For more information about {% data variables.product.prodname_pages %}, see "[What is GitHub Pages?](/articles/what-is-github-pages/)" - Currently our search doesn't support exact matching. @@ -43,11 +43,11 @@ You can search for the following information across all repositories you can acc - [Repositories](/articles/searching-for-repositories) - [Topics](/articles/searching-topics) -- [Issues and pull requests](/articles/searching-issues-and-pull-requests){% if currentVersion == "free-pro-team@latest" %} +- [Issues and pull requests](/articles/searching-issues-and-pull-requests){% ifversion fpt %} - [Discussions](/github/searching-for-information-on-github/searching-discussions){% endif %} - [Code](/articles/searching-code) - [Commits](/articles/searching-commits) -- [Users](/articles/searching-users){% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +- [Users](/articles/searching-users){% ifversion fpt or ghae or ghes > 2.21 %} - [Packages](/github/searching-for-information-on-github/searching-for-packages){% endif %} - [Wikis](/articles/searching-wikis) @@ -59,7 +59,7 @@ The {% data variables.search.advanced_url %} provides a visual interface for con ![Advanced Search](/assets/images/help/search/advanced_search_demo.gif) -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ## Searching across {% data variables.product.prodname_enterprise %} and {% data variables.product.prodname_dotcom_the_website %} simultaneously If you use {% data variables.product.prodname_enterprise %} and you're a member of a {% data variables.product.prodname_dotcom_the_website %} organization using {% data variables.product.prodname_ghe_cloud %}, your {% data variables.product.prodname_enterprise %} site administrator can enable {% data variables.product.prodname_github_connect %} so that you can search across both environments at the same time. For more information, see "[Enabling {% data variables.product.prodname_unified_search %} between {% data variables.product.prodname_enterprise %} and {% data variables.product.prodname_dotcom_the_website %}](/enterprise/admin/guides/developer-workflow/enabling-unified-search-between-github-enterprise-server-and-github-com)." diff --git a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-in-github-enterprise-server.md b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-in-github-enterprise-server.md index 0285140296..a7ea56a4b2 100644 --- a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-in-github-enterprise-server.md +++ b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-in-github-enterprise-server.md @@ -8,8 +8,8 @@ redirect_from: - /articles/enabling-githubcom-repository-search-in-github-enterprise-server - /github/searching-for-information-on-github/enabling-githubcom-repository-search-in-github-enterprise-server versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - GitHub search --- diff --git a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/index.md b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/index.md index cf68e03969..000cf00af7 100644 --- a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/index.md +++ b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/index.md @@ -3,9 +3,9 @@ title: Getting started with searching on GitHub redirect_from: - /articles/getting-started-with-searching-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search children: diff --git a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/sorting-search-results.md b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/sorting-search-results.md index 69f9ef6948..267689b2e4 100644 --- a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/sorting-search-results.md +++ b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/sorting-search-results.md @@ -5,9 +5,9 @@ redirect_from: - /articles/sorting-search-results - /github/searching-for-information-on-github/sorting-search-results versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- diff --git a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/troubleshooting-search-queries.md b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/troubleshooting-search-queries.md index 695ca1e8b7..be0a74db78 100644 --- a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/troubleshooting-search-queries.md +++ b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/troubleshooting-search-queries.md @@ -5,9 +5,9 @@ redirect_from: - /articles/troubleshooting-search-queries - /github/searching-for-information-on-github/troubleshooting-search-queries versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- diff --git a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md index 0e3fc0c7e5..896520131c 100644 --- a/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md +++ b/content/github/searching-for-information-on-github/getting-started-with-searching-on-github/understanding-the-search-syntax.md @@ -6,9 +6,9 @@ redirect_from: - /articles/understanding-the-search-syntax - /github/searching-for-information-on-github/understanding-the-search-syntax versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- @@ -83,7 +83,7 @@ If your search query contains whitespace, you will need to surround it with quot Some non-alphanumeric symbols, such as spaces, are dropped from code search queries within quotation marks, so results can be unexpected. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} ## Queries with usernames If your search query contains a qualifier that requires a username, such as `user`, `actor`, or `assignee`, you can use any {% data variables.product.product_name %} username, to specify a specific person, or `@me`, to specify the current user. diff --git a/content/github/searching-for-information-on-github/index.md b/content/github/searching-for-information-on-github/index.md index 44f1a5dc1e..4411a7ebb3 100644 --- a/content/github/searching-for-information-on-github/index.md +++ b/content/github/searching-for-information-on-github/index.md @@ -6,12 +6,13 @@ redirect_from: - /categories/search/ - /categories/searching-for-information-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search children: - /getting-started-with-searching-on-github - /searching-on-github --- + diff --git a/content/github/searching-for-information-on-github/searching-on-github/finding-files-on-github.md b/content/github/searching-for-information-on-github/searching-on-github/finding-files-on-github.md index 27f82758bb..2bcc084895 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/finding-files-on-github.md +++ b/content/github/searching-for-information-on-github/searching-on-github/finding-files-on-github.md @@ -5,9 +5,9 @@ redirect_from: - /articles/finding-files-on-github - /github/searching-for-information-on-github/finding-files-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- @@ -21,7 +21,7 @@ topics: {% endtip %} {% data reusables.repositories.navigate-to-repo %} -{% if currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} 2. Under your repository name, click **Find file**. ![Find file button](/assets/images/help/search/find-file-button.png) {% else %} diff --git a/content/github/searching-for-information-on-github/searching-on-github/index.md b/content/github/searching-for-information-on-github/searching-on-github/index.md index e8161f4a08..af783f9c7d 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/index.md +++ b/content/github/searching-for-information-on-github/searching-on-github/index.md @@ -3,9 +3,9 @@ title: Searching on GitHub redirect_from: - /articles/searching-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search children: diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-code.md b/content/github/searching-for-information-on-github/searching-on-github/searching-code.md index 48c4b5d0eb..7bfccada1c 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-code.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-code.md @@ -7,9 +7,9 @@ redirect_from: - /github/searching-for-information-on-github/searching-code-for-exact-matches - /github/searching-for-information-on-github/searching-code versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- @@ -23,13 +23,13 @@ You can only search code using these code search qualifiers. Search qualifiers s Due to the complexity of searching code, there are some restrictions on how searches are performed: -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} - {% data reusables.search.required_login %}{% endif %} - Code in [forks](/articles/about-forks) is only searchable if the fork has more stars than the parent repository. Forks with fewer stars than the parent repository are **not** indexed for code search. To include forks with more stars than their parent in the search results, you will need to add `fork:true` or `fork:only` to your query. For more information, see "[Searching in forks](/articles/searching-in-forks)." -- Only the _default branch_ is indexed for code search.{% if currentVersion == "free-pro-team@latest" %} +- Only the _default branch_ is indexed for code search.{% ifversion fpt %} - Only files smaller than 384 KB are searchable.{% else %}* Only files smaller than 5 MB are searchable. - Only the first 500 KB of each file is searchable.{% endif %} -- Only repositories with fewer than 500,000 files are searchable.{% if currentVersion == "free-pro-team@latest" %} +- Only repositories with fewer than 500,000 files are searchable.{% ifversion fpt %} - Only repositories that have had activity or have been returned in search results in the last year are searchable.{% endif %} - Except with [`filename`](#search-by-filename) searches, you must always include at least one search term when searching source code. For example, searching for [`language:javascript`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ajavascript&type=Code&ref=searchresults) is not valid, while [`amazing language:javascript`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ajavascript&type=Code&ref=searchresults) is. - At most, search results can show two fragments from the same file, but there may be more results within the file. @@ -106,5 +106,5 @@ The `extension` qualifier matches code files with a certain file extension. ## Further reading - "[Sorting search results](/articles/sorting-search-results/)" -- "[Searching in forks](/articles/searching-in-forks)"{% if currentVersion == "free-pro-team@latest" %} +- "[Searching in forks](/articles/searching-in-forks)"{% ifversion fpt %} - "[Navigating code on {% data variables.product.prodname_dotcom %}](/github/managing-files-in-a-repository/navigating-code-on-github)"{% endif %} diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-commits.md b/content/github/searching-for-information-on-github/searching-on-github/searching-commits.md index 4e9f1e0bf0..96c3cbf8c8 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-commits.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-commits.md @@ -5,9 +5,9 @@ redirect_from: - /articles/searching-commits - /github/searching-for-information-on-github/searching-commits versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- @@ -103,7 +103,7 @@ To search commits in all repositories owned by a certain user or organization, u The `is` qualifier matches commits from repositories with the specified visibility. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility). | Qualifier | Example -| ------------- | ------------- |{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +| ------------- | ------------- |{% ifversion fpt or ghes %} | `is:public` | [**is:public**](https://github.com/search?q=is%3Apublic&type=Commits) matches commits to public repositories.{% endif %} | `is:internal` | [**is:internal**](https://github.com/search?q=is%3Ainternal&type=Commits) matches commits to internal repositories. | `is:private` | [**is:private**](https://github.com/search?q=is%3Aprivate&type=Commits) matches commits to private repositories. diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-discussions.md b/content/github/searching-for-information-on-github/searching-on-github/searching-discussions.md index df67eed399..4736284080 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-discussions.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-discussions.md @@ -2,7 +2,7 @@ title: Searching discussions intro: 'You can search for discussions on {% data variables.product.product_name %} and narrow the results using search qualifiers.' versions: - free-pro-team: '*' + fpt: '*' topics: - GitHub search redirect_from: @@ -41,7 +41,7 @@ To search discussions in all repositories owned by a certain user or organizatio You can filter by the visibility of the repository containing the discussions using the `is` qualifier. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)." | Qualifier | Example -| :- | :- |{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +| :- | :- |{% ifversion fpt or ghes %} | `is:public` | [**is:public**](https://github.com/search?q=is%3Apublic&type=Discussions) matches discussions in public repositories.{% endif %} | `is:internal` | [**is:internal**](https://github.com/search?q=is%3Ainternal&type=Discussions) matches discussions in internal repositories. | `is:private` | [**is:private tiramisu**](https://github.com/search?q=is%3Aprivate+tiramisu&type=Discussions) matches discussions that contain the word "tiramisu" in private repositories you can access. diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-for-packages.md b/content/github/searching-for-information-on-github/searching-on-github/searching-for-packages.md index 42a47c0cde..c9e354dd7b 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-for-packages.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-for-packages.md @@ -4,9 +4,9 @@ intro: 'You can search for packages on {% data variables.product.product_name %} product: '{% data reusables.gated-features.packages %}' permissions: Anyone can search for packages they have access to. versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' topics: - GitHub search redirect_from: @@ -18,7 +18,7 @@ redirect_from: You can search for packages globally across all of {% data variables.product.product_name %}, or search for packages within a particular organization. For more information, see "[About searching on {% data variables.product.prodname_dotcom %}](/articles/about-searching-on-github)." -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} You can only search for packages on {% data variables.product.product_name %}, not {% data variables.product.prodname_dotcom_the_website %}, even if {% data variables.product.prodname_github_connect %} is enabled. {% endif %} diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-for-repositories.md b/content/github/searching-for-information-on-github/searching-on-github/searching-for-repositories.md index 915fd585b0..59f305b0ca 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-for-repositories.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-for-repositories.md @@ -6,9 +6,9 @@ redirect_from: - /articles/searching-for-repositories - /github/searching-for-information-on-github/searching-for-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- @@ -128,7 +128,7 @@ You can search repositories by the number of topics that have been applied to th | topics:n | [**topics:5**](https://github.com/search?utf8=%E2%9C%93&q=topics%3A5&type=Repositories&ref=searchresults) matches repositories that have five topics. | | [**topics:>3**](https://github.com/search?utf8=%E2%9C%93&q=topics%3A%3E3&type=Repositories&ref=searchresults) matches repositories that have more than three topics. -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ## Search by license @@ -145,12 +145,12 @@ You can search repositories by the type of license in the repositories. You must You can filter your search based on the visibility of the repositories. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)." | Qualifier | Example -| ------------- | ------------- |{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +| ------------- | ------------- |{% ifversion fpt or ghes %} | `is:public` | [**is:public org:github**](https://github.com/search?q=is%3Apublic+org%3Agithub&type=Repositories) matches public repositories owned by {% data variables.product.company_short %}.{% endif %} | `is:internal` | [**is:internal test**](https://github.com/search?q=is%3Ainternal+test&type=Repositories) matches internal repositories that you can access and contain the word "test". | `is:private` | [**is:private pages**](https://github.com/search?q=is%3Aprivate+pages&type=Repositories) matches private repositories that you can access and contain the word "pages." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Search based on whether a repository is a mirror @@ -172,7 +172,7 @@ You can search repositories based on whether or not the repositories are archive | `archived:true` | [**archived:true GNOME**](https://github.com/search?utf8=%E2%9C%93&q=archived%3Atrue+GNOME&type=) matches repositories that are archived and contain the word "GNOME." | `archived:false` | [**archived:false GNOME**](https://github.com/search?utf8=%E2%9C%93&q=archived%3Afalse+GNOME&type=) matches repositories that are not archived and contain the word "GNOME." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Search based on number of issues with `good first issue` or `help wanted` labels diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-github-marketplace.md b/content/github/searching-for-information-on-github/searching-on-github/searching-github-marketplace.md index 503d217b2c..7a1f26baa6 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-github-marketplace.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-github-marketplace.md @@ -2,7 +2,7 @@ title: Searching GitHub Marketplace intro: 'You can search for apps and actions that are available on {% data variables.product.prodname_marketplace %}.' versions: - free-pro-team: '*' + fpt: '*' topics: - GitHub search redirect_from: diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-in-forks.md b/content/github/searching-for-information-on-github/searching-on-github/searching-in-forks.md index 7ebd011912..3857c8814f 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-in-forks.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-in-forks.md @@ -5,9 +5,9 @@ redirect_from: - /articles/searching-in-forks - /github/searching-for-information-on-github/searching-in-forks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests.md b/content/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests.md index b0157b7457..aad84908d4 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests.md @@ -6,9 +6,9 @@ redirect_from: - /articles/searching-issues-and-pull-requests - /github/searching-for-information-on-github/searching-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- @@ -16,7 +16,7 @@ You can search for issues and pull requests globally across all of {% data varia {% tip %} -**Tips:**{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +**Tips:**{% ifversion ghes or ghae %} - This article contains example searches on the {% data variables.product.prodname_dotcom %}.com website, but you can use the same search filters on {% data variables.product.product_location %}.{% endif %} - For a list of search syntaxes that you can add to any search qualifier to further improve your results, see "[Understanding the search syntax](/articles/understanding-the-search-syntax)". - Use quotations around multi-word search terms. For example, if you want to search for issues with the label "In progress," you'd search for `label:"in progress"`. Search is not case sensitive. @@ -71,8 +71,8 @@ You can filter issues and pull requests based on whether they're open or closed You can filter by the visibility of the repository containing the issues and pull requests using the `is` qualifier. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)." | Qualifier | Example -| ------------- | ------------- |{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} -| `is:public` | [**is:public**](https://github.com/search?q=is%3Apublic&type=Issues) matches issues and pull requests in public repositories.{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +| ------------- | ------------- |{% ifversion fpt or ghes %} +| `is:public` | [**is:public**](https://github.com/search?q=is%3Apublic&type=Issues) matches issues and pull requests in public repositories.{% endif %}{% ifversion fpt or ghes or ghae %} | `is:internal` | [**is:internal**](https://github.com/search?q=is%3Ainternal&type=Issues) matches issues and pull requests in internal repositories.{% endif %} | `is:private` | [**is:private cupcake**](https://github.com/search?q=is%3Aprivate+cupcake&type=Issues) matches issues and pull requests that contain the word "cupcake" in private repositories you can access. @@ -128,7 +128,7 @@ You can use the `involves` qualifier to find issues that in some way involve a c | involves:USERNAME | **[involves:defunkt involves:jlord](https://github.com/search?q=involves%3Adefunkt+involves%3Ajlord&type=Issues)** matches issues either @defunkt or @jlord are involved in. | | [**NOT bootstrap in:body involves:mdo**](https://github.com/search?q=NOT+bootstrap+in%3Abody+involves%3Amdo&type=Issues) matches issues @mdo is involved in that do not contain the word "bootstrap" in the body. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} ## Search for linked issues and pull requests You can narrow your results to only include issues that are linked to a pull request by a closing reference, or pull requests that are linked to an issue that the pull request may close. @@ -234,7 +234,7 @@ You can filter issues and pull requests by the number of reactions using the `re You can filter for draft pull requests. For more information, see "[About pull requests](/articles/about-pull-requests#draft-pull-requests)." | Qualifier | Example -| ------------- | -------------{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +| ------------- | -------------{% ifversion fpt or ghes or ghae %} | `draft:true` | [**draft:true**](https://github.com/search?q=draft%3Atrue) matches draft pull requests. | `draft:false` | [**draft:false**](https://github.com/search?q=draft%3Afalse) matches pull requests that are ready for review.{% else %} | `is:draft` | [**is:draft**](https://github.com/search?q=is%3Adraft) matches draft pull requests.{% endif %} diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-topics.md b/content/github/searching-for-information-on-github/searching-on-github/searching-topics.md index 4f814aa488..e4eae61f45 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-topics.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-topics.md @@ -5,9 +5,9 @@ redirect_from: - /articles/searching-topics - /github/searching-for-information-on-github/searching-topics versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- @@ -19,7 +19,7 @@ You can search for topics on {% data variables.product.product_name %}, explore 2. Type a topic keyword. ![search field](/assets/images/help/search/search-field.png) 3. In the left sidebar, to narrow your search to topics, click **Topics**. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ![Jekyll repository search results page with topics side-menu option highlighted](/assets/images/help/search/topic-left-side-navigation-dotcom.png){% else %} ![Jekyll repository search results page on dotcom with topics side-menu option highlighted](/assets/images/help/search/topic-left-side-navigation.png){% endif %} diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-users.md b/content/github/searching-for-information-on-github/searching-on-github/searching-users.md index 30fd46b26b..2365171af8 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-users.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-users.md @@ -5,9 +5,9 @@ redirect_from: - /articles/searching-users - /github/searching-for-information-on-github/searching-users versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- diff --git a/content/github/searching-for-information-on-github/searching-on-github/searching-wikis.md b/content/github/searching-for-information-on-github/searching-on-github/searching-wikis.md index 9d39475a33..7c814055b1 100644 --- a/content/github/searching-for-information-on-github/searching-on-github/searching-wikis.md +++ b/content/github/searching-for-information-on-github/searching-on-github/searching-wikis.md @@ -5,9 +5,9 @@ redirect_from: - /articles/searching-wikis - /github/searching-for-information-on-github/searching-wikis versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - GitHub search --- diff --git a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-identity-and-access-management-for-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-identity-and-access-management-for-your-enterprise-account.md index 7a9d606e6c..4bed66a171 100644 --- a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-identity-and-access-management-for-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-identity-and-access-management-for-your-enterprise-account.md @@ -3,7 +3,7 @@ title: About identity and access management for your enterprise account intro: 'You can centrally manage access to your enterprise''s resources, organization membership, and team membership using your identity provider (IdP).' product: '{% data reusables.gated-features.enterprise-accounts %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise redirect_from: diff --git a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-user-provisioning-for-organizations-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-user-provisioning-for-organizations-in-your-enterprise-account.md index 44d6965df5..6653f6801d 100644 --- a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-user-provisioning-for-organizations-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/about-user-provisioning-for-organizations-in-your-enterprise-account.md @@ -3,7 +3,7 @@ title: About user provisioning for organizations in your enterprise account intro: You can manage organization membership in an enterprise account directly from an identity provider (IdP). product: '{% data reusables.gated-features.enterprise-accounts %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise redirect_from: diff --git a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/configuring-saml-single-sign-on-and-scim-for-your-enterprise-account-using-okta.md b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/configuring-saml-single-sign-on-and-scim-for-your-enterprise-account-using-okta.md index f14306fcd0..f29b2fbedf 100644 --- a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/configuring-saml-single-sign-on-and-scim-for-your-enterprise-account-using-okta.md +++ b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/configuring-saml-single-sign-on-and-scim-for-your-enterprise-account-using-okta.md @@ -7,7 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/configuring-saml-single-sign-on-and-scim-for-your-enterprise-account-using-okta - /github/setting-up-and-managing-your-enterprise/configuring-saml-single-sign-on-and-scim-for-your-enterprise-account-using-okta versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/enabling-saml-single-sign-on-for-organizations-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/enabling-saml-single-sign-on-for-organizations-in-your-enterprise-account.md index cd8b880b70..124624d481 100644 --- a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/enabling-saml-single-sign-on-for-organizations-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/enabling-saml-single-sign-on-for-organizations-in-your-enterprise-account.md @@ -4,7 +4,7 @@ intro: 'You can control and secure access to resources like repositories, issues product: '{% data reusables.gated-features.enterprise-accounts %}' permissions: Enterprise owners can enable SAML single sign-on for organizations in an enterprise account. versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise redirect_from: diff --git a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/index.md b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/index.md index 4912e07016..83dbd96f87 100644 --- a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/index.md +++ b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/index.md @@ -3,7 +3,7 @@ title: Configuring identity and access management for your enterprise account intro: 'You can manage SAML single sign-on, user provisioning, and team synchronization for your enterprise.' product: '{% data reusables.gated-features.enterprise-accounts %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise children: diff --git a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/managing-team-synchronization-for-organizations-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/managing-team-synchronization-for-organizations-in-your-enterprise-account.md index fdbbabc60f..1d82fbc98f 100644 --- a/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/managing-team-synchronization-for-organizations-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/configuring-identity-and-access-management-for-your-enterprise-account/managing-team-synchronization-for-organizations-in-your-enterprise-account.md @@ -4,7 +4,7 @@ intro: 'You can enable team synchronization between an identity provider (IdP) a product: '{% data reusables.gated-features.enterprise-accounts %}' permissions: Enterprise owners can manage team synchronization for an enterprise account. versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise redirect_from: diff --git a/content/github/setting-up-and-managing-your-enterprise/index.md b/content/github/setting-up-and-managing-your-enterprise/index.md index cd0b27fc84..12012356e5 100644 --- a/content/github/setting-up-and-managing-your-enterprise/index.md +++ b/content/github/setting-up-and-managing-your-enterprise/index.md @@ -6,9 +6,9 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account - /categories/setting-up-and-managing-your-enterprise-account versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/adding-organizations-to-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/adding-organizations-to-your-enterprise-account.md index ec90fee3d0..54a603f2d3 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/adding-organizations-to-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/adding-organizations-to-your-enterprise-account.md @@ -7,7 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/adding-organizations-to-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/adding-organizations-to-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/configuring-webhooks-for-organization-events-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/configuring-webhooks-for-organization-events-in-your-enterprise-account.md index 470001f732..b760cd5204 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/configuring-webhooks-for-organization-events-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/configuring-webhooks-for-organization-events-in-your-enterprise-account.md @@ -8,7 +8,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/configuring-webhooks-for-organization-events-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/configuring-webhooks-for-organization-events-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/index.md b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/index.md index 7b11300304..92dc80194b 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/index.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/index.md @@ -5,7 +5,7 @@ redirect_from: - /articles/managing-organizations-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise-account/managing-organizations-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise children: diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/managing-unowned-organizations-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/managing-unowned-organizations-in-your-enterprise-account.md index 1d059f0250..fa2fb779db 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/managing-unowned-organizations-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/managing-unowned-organizations-in-your-enterprise-account.md @@ -7,7 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/managing-unowned-organizations-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/managing-unowned-organizations-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/viewing-the-audit-logs-for-organizations-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/viewing-the-audit-logs-for-organizations-in-your-enterprise-account.md index 392c6ee3b6..7c95bc0782 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/viewing-the-audit-logs-for-organizations-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-organizations-in-your-enterprise-account/viewing-the-audit-logs-for-organizations-in-your-enterprise-account.md @@ -8,7 +8,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/viewing-the-audit-logs-for-organizations-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/viewing-the-audit-logs-for-organizations-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/index.md b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/index.md index 6a1afb2da6..f0f82dac58 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/index.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/index.md @@ -7,9 +7,9 @@ redirect_from: - /articles/managing-users-in-your-enterprise-account - /articles/managing-users-in-your-enterprise versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Enterprise children: diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise.md b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise.md index ee85b82313..9ddca58310 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise.md @@ -8,8 +8,8 @@ redirect_from: - /articles/inviting-people-to-manage-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md index b81116e054..13d0ab0c34 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise.md @@ -3,7 +3,7 @@ title: Managing support entitlements for your enterprise intro: You can grant enterprise members the ability to manage support tickets for your enterprise account. product: '{% data reusables.gated-features.enterprise-accounts %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise - Support diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/roles-in-an-enterprise.md b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/roles-in-an-enterprise.md index e1a62bf14d..394ab17dcf 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/roles-in-an-enterprise.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/roles-in-an-enterprise.md @@ -8,9 +8,9 @@ redirect_from: - /articles/roles-for-an-enterprise-account - /github/setting-up-and-managing-your-enterprise/roles-in-an-enterprise versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Enterprise --- @@ -20,24 +20,24 @@ Everyone in an enterprise is a member of the enterprise. You can also assign adm {% data reusables.enterprise-accounts.enterprise-administrators %} -For more information about adding people to your enterprise, see "{% if currentVersion == "free-pro-team@latest" %}[Inviting people to manage your enterprise](/github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise){% else %}[Authentication](/admin/authentication){% endif %}". +For more information about adding people to your enterprise, see "{% ifversion fpt %}[Inviting people to manage your enterprise](/github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise){% else %}[Authentication](/admin/authentication){% endif %}". ## Enterprise owner Enterprise owners have complete control over the enterprise and can take every action, including: - Managing administrators -- {% if currentVersion == "free-pro-team@latest" %}Adding and removing {% elsif currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}Managing{% endif %} organizations {% if currentVersion == "free-pro-team@latest" %}to and from {% elsif currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %} in{% endif %} the enterprise +- {% ifversion fpt %}Adding and removing {% elsif ghae or ghes %}Managing{% endif %} organizations {% ifversion fpt %}to and from {% elsif ghae or ghes %} in{% endif %} the enterprise - Managing enterprise settings - Enforcing policy across organizations -{% if currentVersion == "free-pro-team@latest" %}- Managing billing settings{% endif %} +{% ifversion fpt %}- Managing billing settings{% endif %} Enterprise owners cannot access organization settings or content unless they are made an organization owner or given direct access to an organization-owned repository. Similarly, owners of organizations in your enterprise do not have access to the enterprise itself unless you make them enterprise owners. -An enterprise owner will only consume a license if they are an owner or member of at least one organization within the enterprise. {% if currentVersion == "free-pro-team@latest" %}Enterprise owners must have a personal account on {% data variables.product.prodname_dotcom %}.{% endif %} As a best practice, we recommend making only a few people in your company enterprise owners, to reduce the risk to your business. +An enterprise owner will only consume a license if they are an owner or member of at least one organization within the enterprise. {% ifversion fpt %}Enterprise owners must have a personal account on {% data variables.product.prodname_dotcom %}.{% endif %} As a best practice, we recommend making only a few people in your company enterprise owners, to reduce the risk to your business. ## Enterprise members -Members of organizations owned by your enterprise are also automatically members of the enterprise. Members can collaborate in organizations and may be organization owners, but members cannot access or configure enterprise settings{% if currentVersion == "free-pro-team@latest" %}, including billing settings{% endif %}. +Members of organizations owned by your enterprise are also automatically members of the enterprise. Members can collaborate in organizations and may be organization owners, but members cannot access or configure enterprise settings{% ifversion fpt %}, including billing settings{% endif %}. People in your enterprise may have different levels of access to the various organizations owned by your enterprise and to repositories within those organizations. You can view the resources that each person has access to. For more information, see "[Viewing people in your enterprise](/github/setting-up-and-managing-your-enterprise/viewing-people-in-your-enterprise)." @@ -45,7 +45,7 @@ For more information about organization-level permissions, see "[Permission leve People with outside collaborator access to repositories owned by your organization are also listed in your enterprise's People tab, but are not enterprise members and do not have any access to the enterprise. For more information about outside collaborators, see "[Permission levels for an organization](/articles/permission-levels-for-an-organization#outside-collaborators)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Billing manager diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md index 859c48cf13..50b0fde572 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise.md @@ -8,7 +8,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/viewing-and-managing-a-users-saml-access-to-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/viewing-and-managing-a-users-saml-access-to-your-enterprise versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md index 8737d6d4e9..640989715f 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md @@ -7,33 +7,33 @@ redirect_from: - /articles/viewing-people-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/viewing-people-in-your-enterprise versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Enterprise --- -## Viewing enterprise owners{% if currentVersion == "free-pro-team@latest" %} and billing managers{% endif %} +## Viewing enterprise owners{% ifversion fpt %} and billing managers{% endif %} -You can view enterprise owners {% if currentVersion == "free-pro-team@latest" %} and billing managers, {% endif %}as well as a list of pending invitations to become owners{% if currentVersion == "free-pro-team@latest" %} and billing managers. You can filter the list of enterprise administrators by role{% endif %}. You can find a specific person by searching for their username or full name. +You can view enterprise owners {% ifversion fpt %} and billing managers, {% endif %}as well as a list of pending invitations to become owners{% ifversion fpt %} and billing managers. You can filter the list of enterprise administrators by role{% endif %}. You can find a specific person by searching for their username or full name. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.people-tab %} {% data reusables.enterprise-accounts.administrators-tab %} -{% if currentVersion == "free-pro-team@latest" %}1. Optionally, to view a list of pending invitations, click **_NUMBER_ pending**. +{% ifversion fpt %}1. Optionally, to view a list of pending invitations, click **_NUMBER_ pending**. !["NUMBER pending" button to the right of search and filter options](/assets/images/help/enterprises/administrators-pending.png){% endif %} ## Viewing members and outside collaborators -You can view the number of pending members and outside collaborators. You can filter the list of members by {% if currentVersion == "free-pro-team@latest" %}deployment ({% data variables.product.prodname_ghe_cloud %} or {% data variables.product.prodname_ghe_server %}),{% endif %} role{% if currentVersion == "free-pro-team@latest" %}, and{% else %} or {% endif %} organization. You can filter the list of outside collaborators by the visibility of the repositories the collaborator has access to. You can find a specific person by searching for their username or display name. +You can view the number of pending members and outside collaborators. You can filter the list of members by {% ifversion fpt %}deployment ({% data variables.product.prodname_ghe_cloud %} or {% data variables.product.prodname_ghe_server %}),{% endif %} role{% ifversion fpt %}, and{% else %} or {% endif %} organization. You can filter the list of outside collaborators by the visibility of the repositories the collaborator has access to. You can find a specific person by searching for their username or display name. -You can view {% if currentVersion == "free-pro-team@latest" %}all the {% data variables.product.prodname_ghe_cloud %} organizations and {% data variables.product.prodname_ghe_server %} instances that a member belongs to, and {% endif %}which repositories an outside collaborator has access to{% if currentVersion == "free-pro-team@latest" %}, {% endif %} by clicking on the person's name. +You can view {% ifversion fpt %}all the {% data variables.product.prodname_ghe_cloud %} organizations and {% data variables.product.prodname_ghe_server %} instances that a member belongs to, and {% endif %}which repositories an outside collaborator has access to{% ifversion fpt %}, {% endif %} by clicking on the person's name. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.people-tab %} 1. Optionally, to view a list of outside collaborators rather than the list of members, click **Outside collaborators**. ![Outside collaborators tab on the Organization members page](/assets/images/help/business-accounts/outside-collaborators-tab.png) -{% if currentVersion == "free-pro-team@latest" %}1. Optionally, to view a list of pending invitations, click **_NUMBER_ pending**. +{% ifversion fpt %}1. Optionally, to view a list of pending invitations, click **_NUMBER_ pending**. !["NUMBER pending" button to the right of search and filter options](/assets/images/help/enterprises/members-pending.png){% endif %} ## Further reading diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/about-enterprise-accounts.md b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/about-enterprise-accounts.md index 447e7fd14a..3f62f01476 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/about-enterprise-accounts.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/about-enterprise-accounts.md @@ -8,8 +8,8 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/about-enterprise-accounts - /github/setting-up-and-managing-your-enterprise/about-enterprise-accounts versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Enterprise --- @@ -18,7 +18,7 @@ topics: An enterprise account allows you to manage multiple {% data variables.product.prodname_dotcom %} organizations and {% data variables.product.prodname_ghe_server %} instances. Your enterprise account must have a handle, like an organization or personal account on {% data variables.product.prodname_dotcom %}. Enterprise administrators can manage settings and preferences, like: - Member access and management (organization members, outside collaborators) -- Billing and usage ({% data variables.product.prodname_ghe_server %} instances, user licenses, {% data variables.large_files.product_name_short %} packs{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}, {% data variables.product.prodname_GH_advanced_security %} usage{% endif %}) +- Billing and usage ({% data variables.product.prodname_ghe_server %} instances, user licenses, {% data variables.large_files.product_name_short %} packs{% ifversion fpt or ghes > 3.0 %}, {% data variables.product.prodname_GH_advanced_security %} usage{% endif %}) - Security (single sign-on, two factor authentication) - Requests and support bundle sharing with {% data variables.contact.enterprise_support %} @@ -26,11 +26,11 @@ An enterprise account allows you to manage multiple {% data variables.product.pr For more information about the differences between {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)." To upgrade to {% data variables.product.prodname_enterprise %} or to get started with an enterprise account, contact {% data variables.contact.contact_enterprise_sales %}. -For more information about member access and management, see "{% if currentVersion == "free-pro-team@latest" %}[Managing users in your enterprise](/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise){% elsif currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %}[Managing users, organizations, and repositories](/admin/user-management){% endif %}." +For more information about member access and management, see "{% ifversion fpt %}[Managing users in your enterprise](/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise){% elsif ghae or ghes %}[Managing users, organizations, and repositories](/admin/user-management){% endif %}." For more information about managing enterprise accounts using the GraphQL API, see "[Enterprise accounts](/graphql/guides/managing-enterprise-accounts)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Managing organizations linked to your enterprise account diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/connecting-an-azure-subscription-to-your-enterprise.md b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/connecting-an-azure-subscription-to-your-enterprise.md index 0a304192bb..20825fc591 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/connecting-an-azure-subscription-to-your-enterprise.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/connecting-an-azure-subscription-to-your-enterprise.md @@ -6,7 +6,7 @@ redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/connecting-an-azure-subscription-to-your-enterprise - /github/setting-up-and-managing-your-enterprise/connecting-an-azure-subscription-to-your-enterprise versions: - free-pro-team: '*' + fpt: '*' --- ## About Azure subscriptions and {% data variables.product.product_name %} diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/index.md b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/index.md index 37704858de..ef391eabb5 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/index.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/index.md @@ -4,8 +4,8 @@ product: '{% data reusables.gated-features.enterprise-accounts %}' redirect_from: - /articles/managing-your-enterprise-account versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Enterprise children: diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/managing-licenses-for-visual-studio-subscription-with-github-enterprise.md b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/managing-licenses-for-visual-studio-subscription-with-github-enterprise.md index 0074a827a6..c58ebd5d4f 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/managing-licenses-for-visual-studio-subscription-with-github-enterprise.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/managing-licenses-for-visual-studio-subscription-with-github-enterprise.md @@ -9,7 +9,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/managing-licenses-for-visual-studio-subscription-with-github-enterprise - /github/setting-up-and-managing-your-enterprise/managing-licenses-for-visual-studio-subscription-with-github-enterprise versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/verifying-or-approving-a-domain-for-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/verifying-or-approving-a-domain-for-your-enterprise-account.md index cc11d45679..6a702b5995 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/verifying-or-approving-a-domain-for-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/verifying-or-approving-a-domain-for-your-enterprise-account.md @@ -3,7 +3,7 @@ title: Verifying or approving a domain for your enterprise account intro: 'You can verify your ownership of domains with {% data variables.product.company_short %} to confirm the identity of organizations owned by your enterprise account. You can also approve domains that {% data variables.product.company_short %} can send email notifications to for members of organizations owned by your enterprise account.' product: '{% data reusables.gated-features.enterprise-accounts %}' versions: - free-pro-team: '*' + fpt: '*' permissions: Enterprise owners can verify or approve a domain for an enterprise account. redirect_from: - /github/setting-up-and-managing-your-enterprise/verifying-your-enterprise-accounts-domain diff --git a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md index 8fde151ac0..1cc269a9f0 100644 --- a/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/managing-your-enterprise-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md @@ -8,16 +8,16 @@ redirect_from: - /articles/viewing-the-subscription-and-usage-for-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/viewing-the-subscription-and-usage-for-your-enterprise-account versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Enterprise --- ## About billing for enterprise accounts -Enterprise accounts are currently available to {% data variables.product.prodname_enterprise %} customers paying by invoice. Billing for all of the organizations and {% data variables.product.prodname_ghe_server %} instances connected to your enterprise account are aggregated into a single bill charge for all of your paid {% data variables.product.prodname_dotcom_the_website %} services (including paid licenses in organizations, {% data variables.large_files.product_name_long %} data packs,{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} {% data variables.product.prodname_GH_advanced_security %} usage,{% endif %} and subscriptions for {% data variables.product.prodname_marketplace %} apps). +Enterprise accounts are currently available to {% data variables.product.prodname_enterprise %} customers paying by invoice. Billing for all of the organizations and {% data variables.product.prodname_ghe_server %} instances connected to your enterprise account are aggregated into a single bill charge for all of your paid {% data variables.product.prodname_dotcom_the_website %} services (including paid licenses in organizations, {% data variables.large_files.product_name_long %} data packs,{% ifversion fpt or ghes > 3.0 %} {% data variables.product.prodname_GH_advanced_security %} usage,{% endif %} and subscriptions for {% data variables.product.prodname_marketplace %} apps). -{% if currentVersion == "free-pro-team@latest" %}{% data reusables.enterprise-accounts.billing-microsoft-ea-overview %} For more information, see "[Connecting an Azure subscription to your enterprise](/github/setting-up-and-managing-your-enterprise/connecting-an-azure-subscription-to-your-enterprise)."{% endif %} +{% ifversion fpt %}{% data reusables.enterprise-accounts.billing-microsoft-ea-overview %} For more information, see "[Connecting an Azure subscription to your enterprise](/github/setting-up-and-managing-your-enterprise/connecting-an-azure-subscription-to-your-enterprise)."{% endif %} For more information about managing billing managers, see "[Inviting people to manage your enterprise](/github/setting-up-and-managing-your-enterprise/inviting-people-to-manage-your-enterprise)." @@ -26,17 +26,17 @@ For more information about managing billing managers, see "[Inviting people to m {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.settings-tab %} {% data reusables.enterprise-accounts.license-tab %} -1. Under "User {% if currentVersion == "free-pro-team@latest" %}Licenses{% else %}licenses{% endif %}", view your total licenses, number of consumed licenses, and your subscription expiration date. - {% if currentVersion == "free-pro-team@latest" %}![License and subscription information in enterprise billing settings](/assets/images/help/business-accounts/billing-license-info.png){% else %} +1. Under "User {% ifversion fpt %}Licenses{% else %}licenses{% endif %}", view your total licenses, number of consumed licenses, and your subscription expiration date. + {% ifversion fpt %}![License and subscription information in enterprise billing settings](/assets/images/help/business-accounts/billing-license-info.png){% else %} ![License and subscription information in enterprise billing settings](/assets/images/enterprise/enterprise-server/enterprise-server-billing-license-info.png){% endif %} -1. Optionally, to view details for license usage or download a {% if currentVersion == "free-pro-team@latest" %}CSV{% elsif enterpriseServerVersions contains currentVersion %}JSON{% endif %} file with license details{% if currentVersion == "free-pro-team@latest" %}, to the right of "User Licenses"{% endif %}, click **View {% if currentVersion == "free-pro-team@latest" %}details{% elsif enterpriseServerVersions contains currentVersion %}users{% endif %}** or {% if currentVersion == "free-pro-team@latest" %}{% octicon "download" aria-label="The download icon" %}{% elsif enterpriseServerVersions contains currentVersion %}**Export license usage**{% endif %}.{% if currentVersion == "free-pro-team@latest" %} +1. Optionally, to view details for license usage or download a {% ifversion fpt %}CSV{% elsif ghes %}JSON{% endif %} file with license details{% ifversion fpt %}, to the right of "User Licenses"{% endif %}, click **View {% ifversion fpt %}details{% elsif ghes %}users{% endif %}** or {% ifversion fpt %}{% octicon "download" aria-label="The download icon" %}{% elsif ghes %}**Export license usage**{% endif %}.{% ifversion fpt %} !["View details" button and button with download icon to the right of "User Licenses"](/assets/images/help/business-accounts/billing-license-info-click-view-details-or-download.png){% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} 1. Optionally, to view usage details for other features, in the left sidebar, click **Billing**. ![Billing tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/settings-billing-tab.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading - "[About billing for GitHub Actions](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#about-billing-for-github-actions)" diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account.md index b29f1ab80d..9471534361 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account.md @@ -7,9 +7,9 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-enterprise-account miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' - enterprise-server: '>=2.23' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account.md index d1d2c3a8fd..45b35f5d3b 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account.md @@ -8,7 +8,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/enforcing-a-policy-on-dependency-insights-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account.md index a04641323a..d657b4ac76 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-github-actions-policies-in-your-enterprise-account.md @@ -7,7 +7,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-policies-for-advanced-security-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-policies-for-advanced-security-in-your-enterprise-account.md index 47bed6355e..dcb7cb5402 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-policies-for-advanced-security-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-policies-for-advanced-security-in-your-enterprise-account.md @@ -3,7 +3,7 @@ title: Enforcing policies for Advanced Security in your enterprise account intro: 'Enterprise owners can enforce policies to manage {% data variables.product.prodname_GH_advanced_security %} features for organizations owned by an enterprise account.' product: '{% data reusables.gated-features.ghas %}' versions: - free-pro-team: '*' + fpt: '*' redirect_from: - /github/setting-up-and-managing-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise-account --- diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-project-board-policies-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-project-board-policies-in-your-enterprise-account.md index b427b9c8c7..7f390014f7 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-project-board-policies-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-project-board-policies-in-your-enterprise-account.md @@ -9,7 +9,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/enforcing-project-board-policies-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/enforcing-project-board-policies-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-repository-management-policies-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-repository-management-policies-in-your-enterprise-account.md index e5b72efd19..862974638c 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-repository-management-policies-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-repository-management-policies-in-your-enterprise-account.md @@ -9,7 +9,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/enforcing-repository-management-policies-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account.md index 31de68c4f4..44d03eb2fc 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account.md @@ -11,7 +11,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/enforcing-security-settings-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-team-policies-in-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-team-policies-in-your-enterprise-account.md index 41fe05946e..718c858fae 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-team-policies-in-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/enforcing-team-policies-in-your-enterprise-account.md @@ -9,7 +9,7 @@ redirect_from: - /github/setting-up-and-managing-your-enterprise-account/enforcing-team-policies-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise/enforcing-team-policies-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise --- diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/index.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/index.md index dcb22c93cf..d8b6418146 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/index.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/index.md @@ -5,7 +5,7 @@ redirect_from: - /articles/setting-policies-for-organizations-in-your-enterprise-account - /github/setting-up-and-managing-your-enterprise-account/setting-policies-for-organizations-in-your-enterprise-account versions: - free-pro-team: '*' + fpt: '*' topics: - Enterprise children: diff --git a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/restricting-email-notifications-for-your-enterprise-account.md b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/restricting-email-notifications-for-your-enterprise-account.md index 9be127e092..fc7c2b5529 100644 --- a/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/restricting-email-notifications-for-your-enterprise-account.md +++ b/content/github/setting-up-and-managing-your-enterprise/setting-policies-for-organizations-in-your-enterprise-account/restricting-email-notifications-for-your-enterprise-account.md @@ -3,7 +3,7 @@ title: Restricting email notifications for your enterprise account intro: You can prevent your enterprise's information from leaking into personal email accounts by restricting the domains where members can receive email notifications about activity in organizations owned by your enterprise account. product: '{% data reusables.gated-features.enterprise-accounts %}' versions: - free-pro-team: '*' + fpt: '*' permissions: Enterprise owners can restrict email notifications for an enterprise account. redirect_from: - /github/setting-up-and-managing-your-enterprise/restricting-email-notifications-for-your-enterprise-account-to-approved-domains diff --git a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile.md b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile.md index 64dc1e8716..4658c183e9 100644 --- a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile.md @@ -6,15 +6,15 @@ redirect_from: - /articles/about-your-organizations-profile - /github/setting-up-and-managing-your-github-profile/about-your-organizations-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles --- You can optionally choose to add a description, location, website, and email address for your organization, and pin important repositories to the top of the page. -{% if currentVersion == "free-pro-team@latest" %}To confirm your organization's identity and display a "Verified" badge on your organization profile page, you must verify your organization's domains with {% data variables.product.product_name %}. For more information, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)." +{% ifversion fpt %}To confirm your organization's identity and display a "Verified" badge on your organization profile page, you must verify your organization's domains with {% data variables.product.product_name %}. For more information, see "[Verifying or approving a domain for your organization](/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization)." ![Sample verified organization profile page](/assets/images/help/profile/org_profile_verified.png) {% else %} diff --git a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile.md b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile.md index 2a1a48e010..c1a31ec308 100644 --- a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile.md @@ -7,15 +7,15 @@ redirect_from: - /articles/about-your-profile - /github/setting-up-and-managing-your-github-profile/about-your-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles --- You can add personal information about yourself in your bio, like previous places you've worked, projects you've contributed to, or interests you have that other people may like to know about. For more information, see "[Adding a bio to your profile](/articles/personalizing-your-profile/#adding-a-bio-to-your-profile)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} {% data reusables.profile.profile-readme %} @@ -27,9 +27,9 @@ People who visit your profile see a timeline of your contribution activity, like People who visit your profile can also see the following information. -- Repositories and gists you own or contribute to. {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}You can showcase your best work by pinning repositories and gists to your profile. For more information, see "[Pinning items to your profile](/github/setting-up-and-managing-your-github-profile/pinning-items-to-your-profile)."{% endif %} +- Repositories and gists you own or contribute to. {% ifversion fpt or ghes %}You can showcase your best work by pinning repositories and gists to your profile. For more information, see "[Pinning items to your profile](/github/setting-up-and-managing-your-github-profile/pinning-items-to-your-profile)."{% endif %} - Repositories you've starred. For more information, see "[Saving repositories with stars](/articles/saving-repositories-with-stars/)." -- An overview of your activity in organizations, repositories, and teams you're most active in. For more information, see "[Showing an overview of your activity on your profile](/articles/showing-an-overview-of-your-activity-on-your-profile)."{% if currentVersion == "free-pro-team@latest" %} +- An overview of your activity in organizations, repositories, and teams you're most active in. For more information, see "[Showing an overview of your activity on your profile](/articles/showing-an-overview-of-your-activity-on-your-profile)."{% ifversion fpt %} - Badges that show if you use {% data variables.product.prodname_pro %} or participate in programs like the {% data variables.product.prodname_arctic_vault %}, {% data variables.product.prodname_sponsors %}, or the {% data variables.product.company_short %} Developer Program. For more information, see "[Personalizing your profile](/github/setting-up-and-managing-your-github-profile/personalizing-your-profile#displaying-badges-on-your-profile)."{% endif %} You can also set a status on your profile to provide information about your availability. For more information, see "[Setting a status](/articles/personalizing-your-profile/#setting-a-status)." diff --git a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md index 1c4623447d..b10533ee06 100644 --- a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md +++ b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/index.md @@ -4,9 +4,9 @@ intro: You can customize your profile so that other people can get a better sens redirect_from: - /articles/customizing-your-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles children: diff --git a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme.md b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme.md index 925ba4c375..6de8a05143 100644 --- a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme.md +++ b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme.md @@ -2,8 +2,8 @@ title: Managing your profile README intro: 'You can add a README to your {% data variables.product.prodname_dotcom %} profile to tell other people about yourself.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' + fpt: '*' + ghes: '>=2.22' topics: - Profiles redirect_from: diff --git a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md index dd3a0a8555..89a8b1ef52 100644 --- a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile.md @@ -10,9 +10,9 @@ redirect_from: - /articles/personalizing-your-profile - /github/setting-up-and-managing-your-github-profile/personalizing-your-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles --- @@ -58,7 +58,7 @@ You can change the name that is displayed on your profile. This name may also be Add a bio to your profile to share information about yourself with other {% data variables.product.product_name %} users. With the help of [@mentions](/articles/basic-writing-and-formatting-syntax) and emoji, you can include information about where you currently or have previously worked, what type of work you do, or even what kind of coffee you drink. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} For a longer-form and more prominent way of displaying customized information about yourself, you can also use a profile README. For more information, see "[Managing your profile README](/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme)." @@ -115,7 +115,7 @@ If you select the "Busy" option, when people @mention your username, assign you 7. Click **Set status**. ![Button to set status](/assets/images/help/profile/set-status-button.png) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Displaying badges on your profile When you participate in certain programs, {% data variables.product.prodname_dotcom %} automatically displays a badge on your profile. diff --git a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile.md b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile.md index 23063b3b29..a0f1cd76a8 100644 --- a/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile.md @@ -6,8 +6,8 @@ redirect_from: - /articles/pinning-items-to-your-profile - /github/setting-up-and-managing-your-github-profile/pinning-items-to-your-profile versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Profiles --- diff --git a/content/github/setting-up-and-managing-your-github-profile/index.md b/content/github/setting-up-and-managing-your-github-profile/index.md index da1212a461..503052faa5 100644 --- a/content/github/setting-up-and-managing-your-github-profile/index.md +++ b/content/github/setting-up-and-managing-your-github-profile/index.md @@ -5,9 +5,9 @@ shortTitle: Profiles redirect_from: - /categories/setting-up-and-managing-your-github-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles children: diff --git a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/index.md b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/index.md index a765d93aab..565e6b2775 100644 --- a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/index.md +++ b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/index.md @@ -4,9 +4,9 @@ intro: 'Your contributions, including commits, proposed pull requests, and opene redirect_from: - /articles/managing-contribution-graphs-on-your-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles children: diff --git a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile.md b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile.md index e4887eca54..322f762006 100644 --- a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/publicizing-or-hiding-your-private-contributions-on-your-profile.md @@ -1,13 +1,13 @@ --- title: Publicizing or hiding your private contributions on your profile -intro: 'Your {% data variables.product.product_name %} profile shows a graph of your repository contributions over the past year. You can choose to show anonymized activity from {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %}private and internal{% else %}private{% endif %} repositories{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} in addition to the activity from public repositories{% endif %}.' +intro: 'Your {% data variables.product.product_name %} profile shows a graph of your repository contributions over the past year. You can choose to show anonymized activity from {% ifversion fpt or ghes %}private and internal{% else %}private{% endif %} repositories{% ifversion fpt or ghes %} in addition to the activity from public repositories{% endif %}.' redirect_from: - /articles/publicizing-or-hiding-your-private-contributions-on-your-profile - /github/setting-up-and-managing-your-github-profile/publicizing-or-hiding-your-private-contributions-on-your-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles --- diff --git a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile.md b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile.md index b7c64e4816..795fedfddd 100644 --- a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile.md @@ -7,8 +7,8 @@ redirect_from: - /articles/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile - /github/setting-up-and-managing-your-github-profile/sending-your-github-enterprise-server-contributions-to-your-githubcom-profile versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Profiles --- diff --git a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/showing-an-overview-of-your-activity-on-your-profile.md b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/showing-an-overview-of-your-activity-on-your-profile.md index 07e3aa0ecb..ba232be133 100644 --- a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/showing-an-overview-of-your-activity-on-your-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/showing-an-overview-of-your-activity-on-your-profile.md @@ -5,9 +5,9 @@ redirect_from: - /articles/showing-an-overview-of-your-activity-on-your-profile - /github/setting-up-and-managing-your-github-profile/showing-an-overview-of-your-activity-on-your-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles --- diff --git a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/troubleshooting-commits-on-your-timeline.md b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/troubleshooting-commits-on-your-timeline.md index bf2f36bc63..328777dd24 100644 --- a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/troubleshooting-commits-on-your-timeline.md +++ b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/troubleshooting-commits-on-your-timeline.md @@ -5,9 +5,9 @@ redirect_from: - /articles/troubleshooting-commits-on-your-timeline - /github/setting-up-and-managing-your-github-profile/troubleshooting-commits-on-your-timeline versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles --- diff --git a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/viewing-contributions-on-your-profile.md b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/viewing-contributions-on-your-profile.md index b7af586bca..f672eb4bc2 100644 --- a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/viewing-contributions-on-your-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/viewing-contributions-on-your-profile.md @@ -1,19 +1,19 @@ --- title: Viewing contributions on your profile -intro: 'Your {% data variables.product.product_name %} profile shows off {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}your pinned repositories as well as{% endif %} a graph of your repository contributions over the past year.' +intro: 'Your {% data variables.product.product_name %} profile shows off {% ifversion fpt or ghes %}your pinned repositories as well as{% endif %} a graph of your repository contributions over the past year.' redirect_from: - /articles/viewing-contributions/ - /articles/viewing-contributions-on-your-profile-page/ - /articles/viewing-contributions-on-your-profile - /github/setting-up-and-managing-your-github-profile/viewing-contributions-on-your-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles --- -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}Your contribution graph shows activity from public repositories. {% endif %}You can choose to show activity from {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}both public and {% endif %}private repositories, with specific details of your activity in private repositories anonymized. For more information, see "[Publicizing or hiding your private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile)." +{% ifversion fpt or ghes %}Your contribution graph shows activity from public repositories. {% endif %}You can choose to show activity from {% ifversion fpt or ghes %}both public and {% endif %}private repositories, with specific details of your activity in private repositories anonymized. For more information, see "[Publicizing or hiding your private contributions on your profile](/articles/publicizing-or-hiding-your-private-contributions-on-your-profile)." {% note %} @@ -30,18 +30,18 @@ On your profile page, certain actions count as contributions: - Opening a discussion - Answering a discussion - Proposing a pull request -- Submitting a pull request review{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +- Submitting a pull request review{% ifversion ghes or ghae %} - Co-authoring commits in a repository's default branch or `gh-pages` branch{% endif %} {% data reusables.pull_requests.pull_request_merges_and_contributions %} ## Popular repositories -This section displays your repositories with the most watchers. {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}Once you [pin repositories to your profile](/articles/pinning-repositories-to-your-profile), this section will change to "Pinned repositories."{% endif %} +This section displays your repositories with the most watchers. {% ifversion fpt or ghes %}Once you [pin repositories to your profile](/articles/pinning-repositories-to-your-profile), this section will change to "Pinned repositories."{% endif %} ![Popular repositories](/assets/images/help/profile/profile_popular_repositories.png) -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ## Pinned repositories @@ -88,7 +88,7 @@ The contribution activity section includes a detailed timeline of your work, inc ![Contribution activity time filter](/assets/images/help/profile/contributions_activity_time_filter.png) -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ## Viewing contributions from {% data variables.product.product_location_enterprise %} on {% data variables.product.prodname_dotcom_the_website %} If your site administrator has enabled {% data variables.product.prodname_unified_contributions %}, you can send {% data variables.product.prodname_enterprise %} contribution counts to your {% data variables.product.prodname_dotcom_the_website %} profile. For more information, see "[Sending your {% data variables.product.prodname_ghe_server %} contributions to your {% data variables.product.prodname_dotcom_the_website %}](/articles/sending-your-github-enterprise-server-contributions-to-your-github-com-profile)." diff --git a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md index c668039ab4..51bbfbfc39 100644 --- a/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md +++ b/content/github/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile.md @@ -5,9 +5,9 @@ redirect_from: - /articles/why-are-my-contributions-not-showing-up-on-my-profile - /github/setting-up-and-managing-your-github-profile/why-are-my-contributions-not-showing-up-on-my-profile versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Profiles --- @@ -43,7 +43,7 @@ After making a commit that meets the requirements to count as a contribution, yo ### Your local Git commit email isn't connected to your account -Commits must be made with an email address that is connected to your account on {% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" %}, or the {% data variables.product.product_name %}-provided `noreply` email address provided to you in your email settings,{% endif %} in order to appear on your contributions graph.{% if currentVersion == "free-pro-team@latest" %} For more information about `noreply` email addresses, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#about-commit-email-addresses)."{% endif %} +Commits must be made with an email address that is connected to your account on {% data variables.product.product_name %}{% ifversion fpt %}, or the {% data variables.product.product_name %}-provided `noreply` email address provided to you in your email settings,{% endif %} in order to appear on your contributions graph.{% ifversion fpt %} For more information about `noreply` email addresses, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#about-commit-email-addresses)."{% endif %} You can check the email address used for a commit by adding `.patch` to the end of a commit URL, e.g. https://github.com/octocat/octocat.github.io/commit/67c0afc1da354d8571f51b6f0af8f2794117fd10.patch: @@ -56,7 +56,7 @@ Subject: [PATCH] updated index for better welcome message The email address in the `From:` field is the address that was set in the [local git config settings](/articles/set-up-git). In this example, the email address used for the commit is `octocat@nowhere.com`. -If the email address used for the commit is not connected to your account on {% data variables.product.product_name %}, {% if currentVersion == "github-ae@latest" %}change the email address used to author commits in Git. For more information, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)."{% else %}you must [add the email address](/articles/adding-an-email-address-to-your-github-account) to your {% data variables.product.product_name %} account. Your contributions graph will be rebuilt automatically when you add the new address.{% endif %} +If the email address used for the commit is not connected to your account on {% data variables.product.product_name %}, {% ifversion ghae %}change the email address used to author commits in Git. For more information, see "[Setting your commit email address](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git)."{% else %}you must [add the email address](/articles/adding-an-email-address-to-your-github-account) to your {% data variables.product.product_name %} account. Your contributions graph will be rebuilt automatically when you add the new address.{% endif %} {% warning %} diff --git a/content/github/setting-up-and-managing-your-github-user-account/index.md b/content/github/setting-up-and-managing-your-github-user-account/index.md index 16b951c2ee..ff705ff018 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/index.md +++ b/content/github/setting-up-and-managing-your-github-user-account/index.md @@ -5,9 +5,9 @@ shortTitle: User accounts redirect_from: - /categories/setting-up-and-managing-your-github-user-account versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts children: diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/index.md b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/index.md index f51023e951..758dd3cb04 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/index.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/index.md @@ -7,9 +7,9 @@ redirect_from: - /articles/managing-access-to-your-personal-repositories product: '{% data reusables.gated-features.user-repo-collaborators %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts - Repositories diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md index 2212b982eb..2792e2f708 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md @@ -1,6 +1,6 @@ --- title: Inviting collaborators to a personal repository -intro: 'You can {% if currentVersion == "free-pro-team@latest" %}invite users to become{% else %}add users as{% endif %} collaborators to your personal repository.' +intro: 'You can {% ifversion fpt %}invite users to become{% else %}add users as{% endif %} collaborators to your personal repository.' redirect_from: - /articles/how-do-i-add-a-collaborator/ - /articles/adding-collaborators-to-a-personal-repository/ @@ -8,20 +8,20 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository product: '{% data reusables.gated-features.user-repo-collaborators %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts - Repositories --- Repositories owned by an organization can grant more granular access. For more information, see "[Access permissions on {% data variables.product.product_name %}](/articles/access-permissions-on-github)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} {% data reusables.organizations.org-invite-expiration %} {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} @@ -31,10 +31,10 @@ Repositories owned by an organization can grant more granular access. For more i {% endif %} -1. Ask for the username of the person you're inviting as a collaborator.{% if currentVersion == "free-pro-team@latest" %} If they don't have a username yet, they can sign up for {% data variables.product.prodname_dotcom %} For more information, see "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/articles/signing-up-for-a-new-github-account)".{% endif %} +1. Ask for the username of the person you're inviting as a collaborator.{% ifversion fpt %} If they don't have a username yet, they can sign up for {% data variables.product.prodname_dotcom %} For more information, see "[Signing up for a new {% data variables.product.prodname_dotcom %} account](/articles/signing-up-for-a-new-github-account)".{% endif %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.repositories.navigate-to-manage-access %} 1. Click **Invite a collaborator**. !["Invite a collaborator" button](/assets/images/help/repository/invite-a-collaborator-button.png) @@ -51,7 +51,7 @@ Repositories owned by an organization can grant more granular access. For more i 8. Click **Add collaborator**. ![Add button](/assets/images/help/repository/repo-settings-collab-add.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 9. The user will receive an email inviting them to the repository. Once they accept your invitation, they will have collaborator access to your repository. {% endif %} diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-user-accounts-repositories.md b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-user-accounts-repositories.md index 6ca466f474..76262d5902 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-user-accounts-repositories.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-user-accounts-repositories.md @@ -2,7 +2,7 @@ title: Maintaining ownership continuity of your user account's repositories intro: You can invite someone to manage your user owned repositories if you are not able to. versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts - Repositories diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md index 0c1240a58a..975963ed70 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md @@ -11,9 +11,9 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/removing-a-collaborator-from-a-personal-repository product: '{% data reusables.gated-features.user-repo-collaborators %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts - Repositories @@ -26,7 +26,7 @@ While forks of private repositories are deleted when a collaborator is removed, {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.repositories.navigate-to-manage-access %} 4. To the right of the collaborator you want to remove, click {% octicon "trash" aria-label="The trash icon" %}. ![Button to remove collaborator](/assets/images/help/repository/collaborator-remove.png) diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md index 48cf6ac26c..904546cd87 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository.md @@ -10,9 +10,9 @@ redirect_from: - /github/setting-up-and-managing-your-github-user-account/removing-yourself-from-a-collaborators-repository product: '{% data reusables.gated-features.user-repo-collaborators %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts - Repositories diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account.md b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account.md index 6231dca1e5..dab86ac4f2 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/adding-an-email-address-to-your-github-account.md @@ -5,13 +5,13 @@ redirect_from: - /articles/adding-an-email-address-to-your-github-account - /github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Accounts - Notifications --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address.md b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address.md index 4c48d1d3cb..2f2353b651 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/blocking-command-line-pushes-that-expose-your-personal-email-address.md @@ -5,7 +5,7 @@ redirect_from: - /articles/blocking-command-line-pushes-that-expose-your-personal-email-address - /github/setting-up-and-managing-your-github-user-account/blocking-command-line-pushes-that-expose-your-personal-email-address versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts - Notifications diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/changing-your-primary-email-address.md b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/changing-your-primary-email-address.md index e015a6107e..57f863f0b3 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/changing-your-primary-email-address.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/changing-your-primary-email-address.md @@ -5,8 +5,8 @@ redirect_from: - /articles/changing-your-primary-email-address - /github/setting-up-and-managing-your-github-user-account/changing-your-primary-email-address versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Accounts - Notifications @@ -24,7 +24,7 @@ topics: 4. Under "Primary email address", use the drop-down menu to click the email address you'd like to set as your primary email address, and click **Save**. ![Set as primary button](/assets/images/help/settings/set_as_primary_email.png) 5. To remove the old email address from your account, next to the old email, click {% octicon "trash" aria-label="The trash symbol" %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 6. Verify your new primary email address. Without a verified email address, you won't be able to use all of {% data variables.product.product_name %}'s features. For more information, see "[Verifying your email address](/articles/verifying-your-email-address)." {% endif %} diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/index.md b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/index.md index b88edbb400..ae360be4dd 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/index.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/index.md @@ -5,9 +5,9 @@ redirect_from: - /categories/managing-email-preferences/ - /articles/managing-email-preferences versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts - Notifications diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/managing-marketing-emails-from-github.md b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/managing-marketing-emails-from-github.md index 5c57dfb9f3..14f4af19fa 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/managing-marketing-emails-from-github.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/managing-marketing-emails-from-github.md @@ -5,7 +5,7 @@ redirect_from: - /articles/managing-marketing-emails-from-github - /github/setting-up-and-managing-your-github-user-account/managing-marketing-emails-from-github versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts - Notifications diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/remembering-your-github-username-or-email.md b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/remembering-your-github-username-or-email.md index 49a9b71675..0e3ed2b4d2 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/remembering-your-github-username-or-email.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-email-preferences/remembering-your-github-username-or-email.md @@ -7,8 +7,8 @@ redirect_from: - /articles/remembering-your-github-username-or-email - /github/setting-up-and-managing-your-github-user-account/remembering-your-github-username-or-email versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Accounts - Notifications @@ -65,7 +65,7 @@ origin https://{% data variables.command_line.codeblock %}/YOUR_USERNAME=2.23' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Accounts redirect_from: diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings.md b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings.md index 6e7e94408e..76c32e2351 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings.md @@ -2,7 +2,7 @@ title: Managing your theme settings intro: 'You can manage how {% data variables.product.product_name %} looks to you by setting a theme preference that either follows your system settings or always uses a light or dark mode.' versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts redirect_from: diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts.md b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts.md index ee5ec47706..752223e632 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/merging-multiple-user-accounts.md @@ -7,7 +7,7 @@ redirect_from: - /articles/merging-multiple-user-accounts - /github/setting-up-and-managing-your-github-user-account/merging-multiple-user-accounts versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts --- diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository.md b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository.md index 324eb4aafe..2f035339e5 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository.md @@ -5,9 +5,9 @@ redirect_from: - /articles/permission-levels-for-a-user-account-repository - /github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts --- @@ -15,7 +15,7 @@ topics: Repositories owned by user accounts have one owner. Ownership permissions can't be shared with another user account. -You can also {% if currentVersion == "free-pro-team@latest" %}invite{% else %}add{% endif %} users on {% data variables.product.product_name %} to your repository as collaborators. For more information, see "[Inviting collaborators to a personal repository](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository)." +You can also {% ifversion fpt %}invite{% else %}add{% endif %} users on {% data variables.product.product_name %} to your repository as collaborators. For more information, see "[Inviting collaborators to a personal repository](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository)." {% tip %} @@ -29,26 +29,26 @@ The repository owner has full control of the repository. In addition to the acti | Action | More information | | :- | :- | -| {% if currentVersion == "free-pro-team@latest" %}Invite collaborators{% else %}Add collaborators{% endif %} | "[Inviting collaborators to a personal repository](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository)" | -| Change the visibility of the repository | "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)" |{% if currentVersion == "free-pro-team@latest" %} -| Limit interactions with the repository | "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)" |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +| {% ifversion fpt %}Invite collaborators{% else %}Add collaborators{% endif %} | "[Inviting collaborators to a personal repository](/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository)" | +| Change the visibility of the repository | "[Setting repository visibility](/github/administering-a-repository/setting-repository-visibility)" |{% ifversion fpt %} +| Limit interactions with the repository | "[Limiting interactions in your repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)" |{% endif %}{% ifversion fpt or ghes > 3.0 %} | Rename a branch, including the default branch | "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)" |{% endif %} | Merge a pull request on a protected branch, even if there are no approving reviews | "[About protected branches](/github/administering-a-repository/about-protected-branches)" | | Delete the repository | "[Deleting a repository](/github/administering-a-repository/deleting-a-repository)" | -| Manage the repository's topics | "[Classifying your repository with topics](/github/administering-a-repository/classifying-your-repository-with-topics)" |{% if currentVersion == "free-pro-team@latest" %} -| Manage security and analysis settings for the repository | "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" |{% endif %}{% if currentVersion == "free-pro-team@latest" %} -| Enable the dependency graph for a private repository | "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)" |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} -| Delete and restore packages | "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" |{% endif %}{% if currentVersion == "enterprise-server@2.22" or currentVersion == "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +| Manage the repository's topics | "[Classifying your repository with topics](/github/administering-a-repository/classifying-your-repository-with-topics)" |{% ifversion fpt %} +| Manage security and analysis settings for the repository | "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)" |{% endif %}{% ifversion fpt %} +| Enable the dependency graph for a private repository | "[Exploring the dependencies of a repository](/github/visualizing-repository-data-with-graphs/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)" |{% endif %}{% ifversion fpt or ghes > 3.0 %} +| Delete and restore packages | "[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package)" |{% endif %}{% ifversion ghes = 2.22 or ghes = 3.0 or ghae %} | Delete packages | "[Deleting packages](/packages/learn-github-packages/deleting-a-package)" |{% endif %} | Customize the repository's social media preview | "[Customizing your repository's social media preview](/github/administering-a-repository/customizing-your-repositorys-social-media-preview)" | -| Create a template from the repository | "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)" |{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} -| Receive {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} for vulnerable dependencies | "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)" |{% endif %}{% if currentVersion == "free-pro-team@latest" %} +| Create a template from the repository | "[Creating a template repository](/github/creating-cloning-and-archiving-repositories/creating-a-template-repository)" |{% ifversion fpt or ghes %} +| Receive {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} for vulnerable dependencies | "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)" |{% endif %}{% ifversion fpt %} | Dismiss {% data variables.product.prodname_dependabot_alerts %} in the repository | "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)" | | Manage data use for a private repository | "[Managing data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)"|{% endif %} | Define code owners for the repository | "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)" | -| Archive the repository | "[About archiving repositories](/github/creating-cloning-and-archiving-repositories/about-archiving-repositories)" |{% if currentVersion == "free-pro-team@latest" %} +| Archive the repository | "[About archiving repositories](/github/creating-cloning-and-archiving-repositories/about-archiving-repositories)" |{% ifversion fpt %} | Create security advisories | "[About {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)" | -| Display a sponsor button | "[Displaying a sponsor button in your repository](/github/administering-a-repository/displaying-a-sponsor-button-in-your-repository)" |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +| Display a sponsor button | "[Displaying a sponsor button in your repository](/github/administering-a-repository/displaying-a-sponsor-button-in-your-repository)" |{% endif %}{% ifversion fpt or ghae or ghes > 3.0 %} | Allow or disallow auto-merge for pull requests | "[Managing auto-merge for pull requests in your repository](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository)" | {% endif %} ## Collaborator access for a repository owned by a user account @@ -65,21 +65,21 @@ Collaborators can also perform the following actions. | Action | More information | | :- | :- | -| Fork the repository | "[About forks](/github/collaborating-with-issues-and-pull-requests/about-forks)" |{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +| Fork the repository | "[About forks](/github/collaborating-with-issues-and-pull-requests/about-forks)" |{% ifversion fpt or ghes > 3.1 %} | Rename a branch other than the default branch | "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)" |{% endif %} | Create, edit, and delete comments on commits, pull requests, and issues in the repository |
  • "[About issues](/github/managing-your-work-on-github/about-issues)"
  • "[Commenting on a pull request](/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request)"
  • "[Managing disruptive comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments)"
| | Create, assign, close, and re-open issues in the repository | "[Managing your work with issues](/github/managing-your-work-on-github/managing-your-work-with-issues)" | | Manage labels for issues and pull requests in the repository | "[Labeling issues and pull requests](/github/managing-your-work-on-github/labeling-issues-and-pull-requests)" | | Manage milestones for issues and pull requests in the repository | "[Creating and editing milestones for issues and pull requests](/github/managing-your-work-on-github/creating-and-editing-milestones-for-issues-and-pull-requests)" | | Mark an issue or pull request in the repository as a duplicate | "[About duplicate issues and pull requests](/github/managing-your-work-on-github/about-duplicate-issues-and-pull-requests)" | -| Create, merge, and close pull requests in the repository | "[Proposing changes to your work with pull requests](/github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests)" |{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +| Create, merge, and close pull requests in the repository | "[Proposing changes to your work with pull requests](/github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests)" |{% ifversion fpt or ghae or ghes > 3.0 %} | Enable and disable auto-merge for a pull request | "[Automatically merging a pull request](/github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request)"{% endif %} | Apply suggested changes to pull requests in the repository |"[Incorporating feedback in your pull request](/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request)" | | Create a pull request from a fork of the repository | "[Creating a pull request from a fork](/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)" | | Submit a review on a pull request that affects the mergeability of the pull request | "[Reviewing proposed changes in a pull request](/github/collaborating-with-issues-and-pull-requests/reviewing-proposed-changes-in-a-pull-request)" | | Create and edit a wiki for the repository | "[About wikis](/communities/documenting-your-project-with-wikis/about-wikis)" | | Create and edit releases for the repository | "[Managing releases in a repository](/github/administering-a-repository/managing-releases-in-a-repository)" | -| Act as a code owner for the repository | "[About code owners](/articles/about-code-owners)" |{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} +| Act as a code owner for the repository | "[About code owners](/articles/about-code-owners)" |{% ifversion fpt or ghae %} | Publish, view, or install packages | "[Publishing and managing packages](/github/managing-packages-with-github-packages/publishing-and-managing-packages)" |{% endif %} | Remove themselves as collaborators on the repository | "[Removing yourself from a collaborator's repository](/github/setting-up-and-managing-your-github-user-account/removing-yourself-from-a-collaborators-repository)" | diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-user-owned-project-boards.md b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-user-owned-project-boards.md index 7e9885d8a3..484dbda74f 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-user-owned-project-boards.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-user-owned-project-boards.md @@ -5,9 +5,9 @@ redirect_from: - /articles/permission-levels-for-user-owned-project-boards - /github/setting-up-and-managing-your-github-user-account/permission-levels-for-user-owned-project-boards versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts --- @@ -24,7 +24,7 @@ There are three levels of permissions for project board collaborators: The project board owner and collaborators with admin access have full control of the project board. In addition to all the permissions allowed by project board collaborators, a project board owner and collaborator with admin access can: - [Manage, view, and add collaborators](/articles/managing-access-to-your-user-account-s-project-boards) -- [Configure a project board as {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} or private](/articles/changing-project-board-visibility) +- [Configure a project board as {% ifversion ghae %}internal{% else %}public{% endif %} or private](/articles/changing-project-board-visibility) - [Delete a project board](/articles/deleting-a-project-board/) - [Close a project board](/articles/closing-a-project-board/) - [Reopen a closed project board](/articles/reopening-a-closed-project-board) @@ -53,7 +53,7 @@ Collaborators with write access to a user-owned project board can: ## Project board visibility -You can change the project board's visibility from private to {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} and back again. By default, user-owned project boards are private. For more information, see "[Changing project board visibility](/articles/changing-project-board-visibility)." +You can change the project board's visibility from private to {% ifversion ghae %}internal{% else %}public{% endif %} and back again. By default, user-owned project boards are private. For more information, see "[Changing project board visibility](/articles/changing-project-board-visibility)." ## Further reading diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/what-does-the-available-for-hire-checkbox-do.md b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/what-does-the-available-for-hire-checkbox-do.md index bc0a48e365..b267cf49cf 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/what-does-the-available-for-hire-checkbox-do.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-user-account-settings/what-does-the-available-for-hire-checkbox-do.md @@ -5,7 +5,7 @@ redirect_from: - /articles/what-does-the-available-for-hire-checkbox-do - /github/setting-up-and-managing-your-github-user-account/what-does-the-available-for-hire-checkbox-do versions: - free-pro-team: '*' + fpt: '*' topics: - Accounts --- diff --git a/content/github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/about-organization-membership.md b/content/github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/about-organization-membership.md index e5ac522f99..064fcf92a6 100644 --- a/content/github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/about-organization-membership.md +++ b/content/github/setting-up-and-managing-your-github-user-account/managing-your-membership-in-organizations/about-organization-membership.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-organization-membership - /github/setting-up-and-managing-your-github-user-account/about-organization-membership versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Accounts --- @@ -35,7 +35,7 @@ For more information, see the or to individual GitHub Advisory Database records used, prefixed by . ## Connect -With GitHub Connect, you can share certain features and data between your GitHub Enterprise Server {% if currentVersion == "github-ae@next" %}or GitHub AE {% endif %}instance and your GitHub Enterprise Cloud organization or enterprise account on GitHub.com. In order to enable GitHub Connect, you must have at least one (1) account on GitHub Enterprise Cloud or GitHub.com, and one (1) licensed instance of GitHub Enterprise Server{% if currentVersion == "github-ae@next" %} or GitHub AE{% endif %}. Your use of GitHub Enterprise Cloud or GitHub.com through Connect is governed by the terms under which you license GitHub Enterprise Cloud or GitHub.com. Use of Personal Data is governed by the [GitHub Privacy Statement](/github/site-policy/github-privacy-statement). +With GitHub Connect, you can share certain features and data between your GitHub Enterprise Server {% ifversion ghae-next %}or GitHub AE {% endif %}instance and your GitHub Enterprise Cloud organization or enterprise account on GitHub.com. In order to enable GitHub Connect, you must have at least one (1) account on GitHub Enterprise Cloud or GitHub.com, and one (1) licensed instance of GitHub Enterprise Server{% ifversion ghae-next %} or GitHub AE{% endif %}. Your use of GitHub Enterprise Cloud or GitHub.com through Connect is governed by the terms under which you license GitHub Enterprise Cloud or GitHub.com. Use of Personal Data is governed by the [GitHub Privacy Statement](/github/site-policy/github-privacy-statement). ## Dependabot Preview You can use Dependabot to keep the packages you use updated to the latest versions. Your use of Dependabot Preview is governed by a separate [Terms of Service](https://dependabot.com/terms) and [Privacy Policy](https://dependabot.com/privacy). diff --git a/content/github/site-policy/github-terms-of-service.md b/content/github/site-policy/github-terms-of-service.md index e56cc2a857..32a1041f94 100644 --- a/content/github/site-policy/github-terms-of-service.md +++ b/content/github/site-policy/github-terms-of-service.md @@ -7,7 +7,7 @@ redirect_from: - /github-terms-of-service-draft/ - /articles/github-terms-of-service versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/github-trademark-policy.md b/content/github/site-policy/github-trademark-policy.md index 43cf991872..25ad432244 100644 --- a/content/github/site-policy/github-trademark-policy.md +++ b/content/github/site-policy/github-trademark-policy.md @@ -3,7 +3,7 @@ title: GitHub Trademark Policy redirect_from: - /articles/github-trademark-policy versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/github-username-policy.md b/content/github/site-policy/github-username-policy.md index 24672cf258..4f917f9815 100644 --- a/content/github/site-policy/github-username-policy.md +++ b/content/github/site-policy/github-username-policy.md @@ -4,7 +4,7 @@ redirect_from: - /articles/name-squatting-policy/ - /articles/github-username-policy versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/githubs-notice-about-the-california-consumer-privacy-act.md b/content/github/site-policy/githubs-notice-about-the-california-consumer-privacy-act.md index 19f01b365f..d8263760ad 100644 --- a/content/github/site-policy/githubs-notice-about-the-california-consumer-privacy-act.md +++ b/content/github/site-policy/githubs-notice-about-the-california-consumer-privacy-act.md @@ -1,7 +1,7 @@ --- title: GitHub's Notice about the California Consumer Privacy Act versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/global-privacy-practices.md b/content/github/site-policy/global-privacy-practices.md index 0c0b51a921..f1e55504d6 100644 --- a/content/github/site-policy/global-privacy-practices.md +++ b/content/github/site-policy/global-privacy-practices.md @@ -4,7 +4,7 @@ redirect_from: - /eu-safe-harbor/ - /articles/global-privacy-practices versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/guide-to-submitting-a-dmca-counter-notice.md b/content/github/site-policy/guide-to-submitting-a-dmca-counter-notice.md index ec5287539c..1f58da5fe2 100644 --- a/content/github/site-policy/guide-to-submitting-a-dmca-counter-notice.md +++ b/content/github/site-policy/guide-to-submitting-a-dmca-counter-notice.md @@ -5,7 +5,7 @@ redirect_from: - /articles/dmca-counter-notice-how-to/ - /articles/guide-to-submitting-a-dmca-counter-notice versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/guide-to-submitting-a-dmca-takedown-notice.md b/content/github/site-policy/guide-to-submitting-a-dmca-takedown-notice.md index 96d4dfa568..1cba70d82c 100644 --- a/content/github/site-policy/guide-to-submitting-a-dmca-takedown-notice.md +++ b/content/github/site-policy/guide-to-submitting-a-dmca-takedown-notice.md @@ -5,7 +5,7 @@ redirect_from: - /articles/dmca-notice-how-to/ - /articles/guide-to-submitting-a-dmca-takedown-notice versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/guidelines-for-legal-requests-of-user-data.md b/content/github/site-policy/guidelines-for-legal-requests-of-user-data.md index c7c68b5a67..825b0d1fbb 100644 --- a/content/github/site-policy/guidelines-for-legal-requests-of-user-data.md +++ b/content/github/site-policy/guidelines-for-legal-requests-of-user-data.md @@ -4,7 +4,7 @@ redirect_from: - /law-enforcement-guidelines/ - /articles/guidelines-for-legal-requests-of-user-data versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/index.md b/content/github/site-policy/index.md index 144b71b8d3..ecda08b8c7 100644 --- a/content/github/site-policy/index.md +++ b/content/github/site-policy/index.md @@ -4,7 +4,7 @@ redirect_from: - /categories/61/articles/ - /categories/site-policy versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal @@ -50,3 +50,4 @@ children: - /github-event-code-of-conduct - /github-gpl-cooperation-commitment --- + diff --git a/content/github/site-policy/responsible-disclosure-of-security-vulnerabilities.md b/content/github/site-policy/responsible-disclosure-of-security-vulnerabilities.md index 65fcf11b81..49f45024ee 100644 --- a/content/github/site-policy/responsible-disclosure-of-security-vulnerabilities.md +++ b/content/github/site-policy/responsible-disclosure-of-security-vulnerabilities.md @@ -4,7 +4,7 @@ redirect_from: - /responsible-disclosure/ - /articles/responsible-disclosure-of-security-vulnerabilities versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/site-policy/submitting-content-removal-requests.md b/content/github/site-policy/submitting-content-removal-requests.md index 72d551f1f1..47ed2f1985 100644 --- a/content/github/site-policy/submitting-content-removal-requests.md +++ b/content/github/site-policy/submitting-content-removal-requests.md @@ -3,7 +3,7 @@ title: Submitting content removal requests redirect_from: - /articles/submitting-content-removal-requests versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/understanding-how-github-uses-and-protects-your-data/about-githubs-use-of-your-data.md b/content/github/understanding-how-github-uses-and-protects-your-data/about-githubs-use-of-your-data.md index d763e1e3b0..302e89ae16 100644 --- a/content/github/understanding-how-github-uses-and-protects-your-data/about-githubs-use-of-your-data.md +++ b/content/github/understanding-how-github-uses-and-protects-your-data/about-githubs-use-of-your-data.md @@ -5,7 +5,7 @@ redirect_from: - /articles/about-githubs-use-of-your-data intro: '{% data variables.product.product_name %} uses your repository''s data to connect you to relevant tools, people, projects, and information.' versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/understanding-how-github-uses-and-protects-your-data/index.md b/content/github/understanding-how-github-uses-and-protects-your-data/index.md index f7ba9f51bc..bd41644152 100644 --- a/content/github/understanding-how-github-uses-and-protects-your-data/index.md +++ b/content/github/understanding-how-github-uses-and-protects-your-data/index.md @@ -3,7 +3,7 @@ title: Understanding how GitHub uses and protects your data redirect_from: - /categories/understanding-how-github-uses-and-protects-your-data versions: - free-pro-team: '*' + fpt: '*' children: - /about-githubs-use-of-your-data - /requesting-an-archive-of-your-personal-accounts-data diff --git a/content/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository.md b/content/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository.md index 0c4c046399..7ac8f73379 100644 --- a/content/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository.md +++ b/content/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository.md @@ -5,7 +5,7 @@ redirect_from: - /articles/opting-into-or-out-of-data-use-for-your-private-repository - /github/understanding-how-github-uses-and-protects-your-data/opting-into-or-out-of-data-use-for-your-private-repository versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/understanding-how-github-uses-and-protects-your-data/opting-into-or-out-of-the-github-archive-program-for-your-public-repository.md b/content/github/understanding-how-github-uses-and-protects-your-data/opting-into-or-out-of-the-github-archive-program-for-your-public-repository.md index 6ff74bda99..52d7596041 100644 --- a/content/github/understanding-how-github-uses-and-protects-your-data/opting-into-or-out-of-the-github-archive-program-for-your-public-repository.md +++ b/content/github/understanding-how-github-uses-and-protects-your-data/opting-into-or-out-of-the-github-archive-program-for-your-public-repository.md @@ -3,7 +3,7 @@ title: Opting into or out of the GitHub Archive Program for your public reposito intro: 'You can manage whether {% data variables.product.prodname_dotcom %} includes your public repository in the {% data variables.product.prodname_archive %} to help ensure the long-term preservation of the world''s open source software.' permissions: 'People with admin permissions to a public repository can opt into or out of the {% data variables.product.prodname_archive %}.' versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/understanding-how-github-uses-and-protects-your-data/requesting-an-archive-of-your-personal-accounts-data.md b/content/github/understanding-how-github-uses-and-protects-your-data/requesting-an-archive-of-your-personal-accounts-data.md index 2f3d883f08..95b8934f25 100644 --- a/content/github/understanding-how-github-uses-and-protects-your-data/requesting-an-archive-of-your-personal-accounts-data.md +++ b/content/github/understanding-how-github-uses-and-protects-your-data/requesting-an-archive-of-your-personal-accounts-data.md @@ -5,7 +5,7 @@ redirect_from: - /articles/requesting-an-archive-of-your-personal-accounts-data intro: '{% data reusables.user_settings.export-data %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Policy - Legal diff --git a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/about-repository-graphs.md b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/about-repository-graphs.md index 5fffcfb266..84028f731b 100644 --- a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/about-repository-graphs.md +++ b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/about-repository-graphs.md @@ -6,15 +6,15 @@ redirect_from: - /articles/about-repository-graphs - /github/visualizing-repository-data-with-graphs/about-repository-graphs versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- -A repository's graphs give you information on {% if currentVersion == "free-pro-team@latest" %} traffic, projects that depend on the repository,{% endif %} contributors and commits to the repository, and a repository's forks and network. If you maintain a repository, you can use this data to get a better understanding of who's using your repository and why they're using it. +A repository's graphs give you information on {% ifversion fpt %} traffic, projects that depend on the repository,{% endif %} contributors and commits to the repository, and a repository's forks and network. If you maintain a repository, you can use this data to get a better understanding of who's using your repository and why they're using it. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Some repository graphs are available only in public repositories with {% data variables.product.prodname_free_user %}: - Pulse diff --git a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/index.md b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/index.md index e2d8e07eeb..86af127104 100644 --- a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/index.md +++ b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/index.md @@ -1,12 +1,12 @@ --- title: Accessing basic repository data -intro: 'You can view basic information about a repository, such as the repository''s activity{% if currentVersion == "free-pro-team@latest" %}, traffic,{% endif %} and contribution activity.' +intro: 'You can view basic information about a repository, such as the repository''s activity{% ifversion fpt %}, traffic,{% endif %} and contribution activity.' redirect_from: - /articles/accessing-basic-repository-data versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-projects-contributors.md b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-projects-contributors.md index 8a2267183c..cb6be8a76e 100644 --- a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-projects-contributors.md +++ b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-projects-contributors.md @@ -1,6 +1,6 @@ --- title: Viewing a project's contributors -intro: 'You can see who contributed commits to a repository{% if currentVersion == "free-pro-team@latest" %} and its dependencies{% endif %}.' +intro: 'You can see who contributed commits to a repository{% ifversion fpt %} and its dependencies{% endif %}.' redirect_from: - /articles/i-don-t-see-myself-in-the-contributions-graph/ - /articles/viewing-contribution-activity-in-a-repository/ @@ -8,17 +8,17 @@ redirect_from: - /github/visualizing-repository-data-with-graphs/viewing-a-projects-contributors product: '{% data reusables.gated-features.repository-insights %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- ## About contributors -You can view the top 100 contributors to a repository{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}, including commit co-authors,{% endif %} in the contributors graph. Merge commits and empty commits aren't counted as contributions for this graph. +You can view the top 100 contributors to a repository{% ifversion ghes or ghae %}, including commit co-authors,{% endif %} in the contributors graph. Merge commits and empty commits aren't counted as contributions for this graph. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can also see a list of people who have contributed to the project's Python dependencies. To access this list of community contributors, visit `https://github.com/REPO-OWNER/REPO-NAME/community_contributors`. {% endif %} @@ -46,4 +46,4 @@ If you don't appear in a repository's contributors graph, it may be because: If all your commits in the repository are on non-default branches, you won't be in the contributors graph. For example, commits on the `gh-pages` branch aren't included in the graph unless `gh-pages` is the repository's default branch. To have your commits merged into the default branch, you can create a pull request. For more information, see "[About pull requests](/articles/about-pull-requests)." -If the email address you used to author the commits is not connected to your account on {% data variables.product.product_name %}, your commits won't be linked to your account, and you won't appear in the contributors graph. For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address){% if currentVersion != "github-ae@latest" %}" and "[Adding an email address to your {% data variables.product.product_name %} account](/articles/adding-an-email-address-to-your-github-account){% endif %}." +If the email address you used to author the commits is not connected to your account on {% data variables.product.product_name %}, your commits won't be linked to your account, and you won't appear in the contributors graph. For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address){% ifversion not ghae %}" and "[Adding an email address to your {% data variables.product.product_name %} account](/articles/adding-an-email-address-to-your-github-account){% endif %}." diff --git a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-summary-of-repository-activity.md b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-summary-of-repository-activity.md index d44f0d129b..e32bfdf3d9 100644 --- a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-summary-of-repository-activity.md +++ b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-a-summary-of-repository-activity.md @@ -6,9 +6,9 @@ redirect_from: - /articles/viewing-a-summary-of-repository-activity - /github/visualizing-repository-data-with-graphs/viewing-a-summary-of-repository-activity versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-traffic-to-a-repository.md b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-traffic-to-a-repository.md index e21cdb228d..2d864d74af 100644 --- a/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-traffic-to-a-repository.md +++ b/content/github/visualizing-repository-data-with-graphs/accessing-basic-repository-data/viewing-traffic-to-a-repository.md @@ -1,12 +1,12 @@ --- title: Viewing traffic to a repository intro: 'Anyone with push access to a repository can view its traffic, including full clones (not fetches), visitors from the past 14 days, referring sites, and popular content in the traffic graph.' -product: 'This repository insights graph is available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, and {% data variables.product.prodname_ghe_cloud %}.{% if currentVersion == "free-pro-team@latest" %} For more information, see "[About repository graphs](/articles/about-repository-graphs)" and "[{% data variables.product.prodname_dotcom %}''s products](/articles/github-s-products)."{% endif %}' +product: 'This repository insights graph is available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, and {% data variables.product.prodname_ghe_cloud %}.{% ifversion fpt %} For more information, see "[About repository graphs](/articles/about-repository-graphs)" and "[{% data variables.product.prodname_dotcom %}''s products](/articles/github-s-products)."{% endif %}' redirect_from: - /articles/viewing-traffic-to-a-repository - /github/visualizing-repository-data-with-graphs/viewing-traffic-to-a-repository versions: - free-pro-team: '*' + fpt: '*' topics: - Repositories --- diff --git a/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/index.md b/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/index.md index 2ae1d46849..0c3f468473 100644 --- a/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/index.md +++ b/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/analyzing-changes-to-a-repository-s-content - /articles/analyzing-changes-to-a-repositorys-content versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-additions-and-deletions-to-content-in-a-repository.md b/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-additions-and-deletions-to-content-in-a-repository.md index c9f6a2fdb3..2175a9b5fe 100644 --- a/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-additions-and-deletions-to-content-in-a-repository.md +++ b/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-additions-and-deletions-to-content-in-a-repository.md @@ -6,13 +6,13 @@ redirect_from: - /articles/visualizing-additions-and-deletions-to-content-in-a-repository - /github/visualizing-repository-data-with-graphs/visualizing-additions-and-deletions-to-content-in-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ![Code frequency graph](/assets/images/help/graphs/repo_code_frequency_graph_dotcom.png) diff --git a/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-commits-in-a-repository.md b/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-commits-in-a-repository.md index 74a7c42fdf..36545b6ebf 100644 --- a/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-commits-in-a-repository.md +++ b/content/github/visualizing-repository-data-with-graphs/analyzing-changes-to-a-repositorys-content/visualizing-commits-in-a-repository.md @@ -6,9 +6,9 @@ redirect_from: - /articles/visualizing-commits-in-a-repository - /github/visualizing-repository-data-with-graphs/visualizing-commits-in-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/visualizing-repository-data-with-graphs/index.md b/content/github/visualizing-repository-data-with-graphs/index.md index f56a11ba94..ecd9573e5e 100644 --- a/content/github/visualizing-repository-data-with-graphs/index.md +++ b/content/github/visualizing-repository-data-with-graphs/index.md @@ -7,9 +7,9 @@ redirect_from: - /categories/graphs/ - /categories/visualizing-repository-data-with-graphs versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: @@ -17,3 +17,4 @@ children: - /analyzing-changes-to-a-repositorys-content - /understanding-connections-between-repositories --- + diff --git a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/about-the-dependency-graph.md b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/about-the-dependency-graph.md index 9d43f4ab21..4a2d1f2650 100644 --- a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/about-the-dependency-graph.md +++ b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/about-the-dependency-graph.md @@ -2,7 +2,7 @@ title: About the dependency graph intro: 'Detailed information about the dependency graph, the ecosystems it supports, and how it determines which packages a repository depends on.' versions: - enterprise-server: <=2.22 + ghes: <=2.22 topics: - Repositories redirect_from: @@ -40,9 +40,9 @@ You can use the dependency graph to: ## Enabling the dependency graph -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %}If the dependency graph is not available in your system, your site administrator can enable the dependency graph and {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} +{% ifversion ghes > 2.21 %}If the dependency graph is not available in your system, your site administrator can enable the dependency graph and {% data variables.product.prodname_dependabot_alerts %}. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)."{% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} If the dependency graph is not available in your system, your site administrator can enable the dependency graph and security alerts. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)." +{% ifversion ghes < 2.22 %} If the dependency graph is not available in your system, your site administrator can enable the dependency graph and security alerts. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)." {% endif %} @@ -53,7 +53,7 @@ When the dependency graph is first enabled, any manifest and lock files for supp The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies. -The ecosystems listed below are supported for the dependency graph and {% if currentVersion == "enterprise-server@2.22" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}. +The ecosystems listed below are supported for the dependency graph and {% ifversion ghes = 2.22 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}. | Package manager | Languages | Recommended formats | All supported formats | | --- | --- | --- | ---| diff --git a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/exploring-the-dependencies-of-a-repository.md b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/exploring-the-dependencies-of-a-repository.md index 0a53e532e2..b7e54667fc 100644 --- a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/exploring-the-dependencies-of-a-repository.md +++ b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/exploring-the-dependencies-of-a-repository.md @@ -1,8 +1,8 @@ --- title: Exploring the dependencies of a repository -intro: 'Using the dependency graph, you can see the packages your project depends on{% if currentVersion == "free-pro-team@latest" %} and the repositories that depend on it{% endif %}. In addition, you can see any vulnerabilities detected in its dependencies.' +intro: 'Using the dependency graph, you can see the packages your project depends on{% ifversion fpt %} and the repositories that depend on it{% endif %}. In addition, you can see any vulnerabilities detected in its dependencies.' versions: - enterprise-server: <=2.22 + ghes: <=2.22 topics: - Repositories redirect_from: @@ -22,7 +22,7 @@ The dependency graph shows the dependencies of your repository. For information ### Dependencies view -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} Any direct and indirect dependencies that are specified in the repository's manifest or lock files are listed, grouped by ecosystem. If vulnerabilities have been detected in the repository, these are shown at the top of the view for users with access to {% data variables.product.prodname_dependabot_alerts %}. ![Dependencies graph](/assets/images/help/graphs/dependencies_graph_server.png) @@ -35,7 +35,7 @@ Any direct and indirect dependencies that are specified in the repository's mani {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} Any direct and indirect dependencies that are specified in the repository's manifest or lock files are listed, grouped by ecosystem. If vulnerabilities have been detected in the repository, these are shown at the top of the view for users with access to security alerts. ![Dependencies graph](/assets/images/help/graphs/dependencies_graph_server.png) diff --git a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/index.md b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/index.md index f7793aa47b..0c915b0f9b 100644 --- a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/index.md +++ b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/index.md @@ -1,12 +1,12 @@ --- title: Understanding connections between repositories -intro: 'You can better understand the connections that exist between repositories by viewing a repository''s network{% if currentVersion == "free-pro-team@latest" %}, projects that depend on the repository,{% endif %} and its forks.' +intro: 'You can better understand the connections that exist between repositories by viewing a repository''s network{% ifversion fpt %}, projects that depend on the repository,{% endif %} and its forks.' redirect_from: - /articles/understanding-connections-between-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories children: diff --git a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/listing-the-forks-of-a-repository.md b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/listing-the-forks-of-a-repository.md index bd472afdb6..ae37b3a453 100644 --- a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/listing-the-forks-of-a-repository.md +++ b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/listing-the-forks-of-a-repository.md @@ -5,15 +5,15 @@ redirect_from: - /articles/listing-the-forks-of-a-repository - /github/visualizing-repository-data-with-graphs/listing-the-forks-of-a-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- Forks are listed alphabetically by the username of the person who forked the repository. You can click on the username to be redirected to the user's {% data variables.product.product_name %} profile page or click on the fork name to be redirected to the specific fork of the repository. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ![Repository members graph](/assets/images/help/graphs/repo_forks_graph_dotcom.png) diff --git a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-a-repositorys-network.md b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-a-repositorys-network.md index b22e76fc83..85175d6fbf 100644 --- a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-a-repositorys-network.md +++ b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-a-repositorys-network.md @@ -7,9 +7,9 @@ redirect_from: - /articles/viewing-a-repositorys-network - /github/visualizing-repository-data-with-graphs/viewing-a-repositorys-network versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Repositories --- diff --git a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-the-dependencies-of-a-repository.md b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-the-dependencies-of-a-repository.md index f76e4ba130..69f0e9b960 100644 --- a/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-the-dependencies-of-a-repository.md +++ b/content/github/visualizing-repository-data-with-graphs/understanding-connections-between-repositories/viewing-the-dependencies-of-a-repository.md @@ -2,8 +2,8 @@ title: Viewing the dependencies of a repository intro: You can use the dependency graph to explore the code your repository depends on. versions: - free-pro-team: '*' - enterprise-server: '>=3.0' + fpt: '*' + ghes: '>=3.0' redirect_from: - /github/visualizing-repository-data-with-graphs/viewing-the-dependencies-of-a-repository --- diff --git a/content/github/working-with-github-support/about-github-premium-support-for-github-enterprise-cloud.md b/content/github/working-with-github-support/about-github-premium-support-for-github-enterprise-cloud.md index d834408ae2..070feea207 100644 --- a/content/github/working-with-github-support/about-github-premium-support-for-github-enterprise-cloud.md +++ b/content/github/working-with-github-support/about-github-premium-support-for-github-enterprise-cloud.md @@ -5,7 +5,7 @@ redirect_from: - /articles/about-github-premium-support - /articles/about-github-premium-support-for-github-enterprise-cloud versions: - free-pro-team: '*' + fpt: '*' topics: - Jobs --- diff --git a/content/github/working-with-github-support/about-github-support.md b/content/github/working-with-github-support/about-github-support.md index 89f9c36436..63334896cb 100644 --- a/content/github/working-with-github-support/about-github-support.md +++ b/content/github/working-with-github-support/about-github-support.md @@ -4,7 +4,7 @@ intro: '{% data variables.contact.github_support %} can help you troubleshoot is redirect_from: - /articles/about-github-support versions: - free-pro-team: '*' + fpt: '*' topics: - Jobs --- diff --git a/content/github/working-with-github-support/github-enterprise-cloud-support.md b/content/github/working-with-github-support/github-enterprise-cloud-support.md index 2fd3025988..fc23cd4820 100644 --- a/content/github/working-with-github-support/github-enterprise-cloud-support.md +++ b/content/github/working-with-github-support/github-enterprise-cloud-support.md @@ -6,7 +6,7 @@ redirect_from: - /articles/github-enterprise-cloud-support intro: '{% data variables.product.prodname_ghe_cloud %} includes a target eight-hour response time for priority support requests, Monday to Friday in your local time zone.' versions: - free-pro-team: '*' + fpt: '*' topics: - Jobs --- diff --git a/content/github/working-with-github-support/github-marketplace-support.md b/content/github/working-with-github-support/github-marketplace-support.md index d46bf1ee62..08fefca96b 100644 --- a/content/github/working-with-github-support/github-marketplace-support.md +++ b/content/github/working-with-github-support/github-marketplace-support.md @@ -4,7 +4,7 @@ intro: 'For help with purchasing or paying for an app from {% data variables.pro redirect_from: - /articles/github-marketplace-support versions: - free-pro-team: '*' + fpt: '*' topics: - Jobs --- diff --git a/content/github/working-with-github-support/index.md b/content/github/working-with-github-support/index.md index e5a72f0e06..0149865bd8 100644 --- a/content/github/working-with-github-support/index.md +++ b/content/github/working-with-github-support/index.md @@ -4,7 +4,7 @@ redirect_from: - /categories/working-with-github-support - /forum versions: - free-pro-team: '*' + fpt: '*' topics: - Jobs children: diff --git a/content/github/working-with-github-support/submitting-a-ticket.md b/content/github/working-with-github-support/submitting-a-ticket.md index 1960c71368..5c7f5ed94a 100644 --- a/content/github/working-with-github-support/submitting-a-ticket.md +++ b/content/github/working-with-github-support/submitting-a-ticket.md @@ -4,7 +4,7 @@ intro: 'You can submit a ticket to {% data variables.contact.github_support %} u redirect_from: - /articles/submitting-a-ticket versions: - free-pro-team: '*' + fpt: '*' topics: - Jobs --- diff --git a/content/github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md b/content/github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md index 0efe033559..eba6f6ad2b 100644 --- a/content/github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md +++ b/content/github/writing-on-github/editing-and-sharing-content-with-gists/creating-gists.md @@ -1,6 +1,6 @@ --- title: Creating gists -intro: 'You can create two kinds of gists: {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} and secret. Create {% if currentVersion == "github-ae@latest" %}an internal{% else %}a public{% endif %} gist if you''re ready to share your ideas with {% if currentVersion == "github-ae@latest" %}enterprise members{% else %}the world{% endif %} or a secret gist if you''re not.' +intro: 'You can create two kinds of gists: {% ifversion ghae %}internal{% else %}public{% endif %} and secret. Create {% ifversion ghae %}an internal{% else %}a public{% endif %} gist if you''re ready to share your ideas with {% ifversion ghae %}enterprise members{% else %}the world{% endif %} or a secret gist if you''re not.' redirect_from: - /articles/about-gists/ - /articles/cannot-delete-an-anonymous-gist/ @@ -8,21 +8,21 @@ redirect_from: - /articles/creating-gists - /github/writing-on-github/creating-gists versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## About gists -Every gist is a Git repository, which means that it can be forked and cloned. {% if currentVersion != "github-ae@latest" %}If you are signed in to {% data variables.product.product_name %} when{% else %}When{% endif %} you create a gist, the gist will be associated with your account and you will see it in your list of gists when you navigate to your {% data variables.gists.gist_homepage %}. +Every gist is a Git repository, which means that it can be forked and cloned. {% ifversion not ghae %}If you are signed in to {% data variables.product.product_name %} when{% else %}When{% endif %} you create a gist, the gist will be associated with your account and you will see it in your list of gists when you navigate to your {% data variables.gists.gist_homepage %}. -Gists can be {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} or secret. {% if currentVersion == "github-ae@latest" %}Internal{% else %}Public{% endif %} gists show up in {% data variables.gists.discover_url %}, where {% if currentVersion == "github-ae@latest" %}enterprise members{% else %}people{% endif %} can browse new gists as they're created. They're also searchable, so you can use them if you'd like other people to find and see your work. +Gists can be {% ifversion ghae %}internal{% else %}public{% endif %} or secret. {% ifversion ghae %}Internal{% else %}Public{% endif %} gists show up in {% data variables.gists.discover_url %}, where {% ifversion ghae %}enterprise members{% else %}people{% endif %} can browse new gists as they're created. They're also searchable, so you can use them if you'd like other people to find and see your work. -Secret gists don't show up in {% data variables.gists.discover_url %} and are not searchable. Secret gists aren't private. If you send the URL of a secret gist to {% if currentVersion == "github-ae@latest" %}another enterprise member{% else %}a friend {% endif %}, they'll be able to see it. However, if {% if currentVersion == "github-ae@latest" %}any other enterprise member{% else %}someone you don't know{% endif %} discovers the URL, they'll also be able to see your gist. If you need to keep your code away from prying eyes, you may want to [create a private repository](/articles/creating-a-new-repository) instead. +Secret gists don't show up in {% data variables.gists.discover_url %} and are not searchable. Secret gists aren't private. If you send the URL of a secret gist to {% ifversion ghae %}another enterprise member{% else %}a friend {% endif %}, they'll be able to see it. However, if {% ifversion ghae %}any other enterprise member{% else %}someone you don't know{% endif %} discovers the URL, they'll also be able to see your gist. If you need to keep your code away from prying eyes, you may want to [create a private repository](/articles/creating-a-new-repository) instead. {% data reusables.gist.cannot-convert-public-gists-to-secret %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your site administrator has disabled private mode, you can also use anonymous gists, which can be public or secret. @@ -35,19 +35,19 @@ You'll receive a notification when: - Someone mentions you in a gist. - You subscribe to a gist, by clicking **Subscribe** at the top of any gist. -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} You can pin gists to your profile so other people can see them easily. For more information, see "[Pinning items to your profile](/articles/pinning-items-to-your-profile)." {% endif %} -You can discover {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} gists others have created by going to the {% data variables.gists.gist_homepage %} and clicking **All Gists**. This will take you to a page of all gists sorted and displayed by time of creation or update. You can also search gists by language with {% data variables.gists.gist_search_url %}. Gist search uses the same search syntax as [code search](/articles/searching-code). +You can discover {% ifversion ghae %}internal{% else %}public{% endif %} gists others have created by going to the {% data variables.gists.gist_homepage %} and clicking **All Gists**. This will take you to a page of all gists sorted and displayed by time of creation or update. You can also search gists by language with {% data variables.gists.gist_search_url %}. Gist search uses the same search syntax as [code search](/articles/searching-code). Since gists are Git repositories, you can view their full commit history, complete with diffs. You can also fork or clone gists. For more information, see ["Forking and cloning gists"](/articles/forking-and-cloning-gists). You can download a ZIP file of a gist by clicking the **Download ZIP** button at the top of the gist. You can embed a gist in any text field that supports Javascript, such as a blog post. To get the embed code, click the clipboard icon next to the **Embed** URL of a gist. To embed a specific gist file, append the **Embed** URL with `?file=FILENAME`. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Gist supports mapping GeoJSON files. These maps are displayed in embedded gists, so you can easily share and embed maps. For more information, see "[Mapping GeoJSON files on {% data variables.product.product_name %}](/articles/mapping-geojson-files-on-github)." @@ -57,7 +57,7 @@ Gist supports mapping GeoJSON files. These maps are displayed in embedded gists, Follow the steps below to create a gist. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} {% note %} You can also create a gist using the {% data variables.product.prodname_cli %}. For more information, see "[`gh gist create`](https://cli.github.com/manual/gh_gist_create)" in the {% data variables.product.prodname_cli %} documentation. @@ -75,8 +75,8 @@ Alternatively, you can drag and drop a text file from your desktop directly into 4. Type the text of your gist into the gist text box. ![Gist text box](/assets/images/help/gist/gist_text_box.png) -5. Optionally, to create {% if currentVersion == "github-ae@latest" %}an internal{% else %}a public{% endif %} gist, click {% octicon "triangle-down" aria-label="The downwards triangle icon" %}, then click **Create {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} gist**. -![Drop-down menu to select gist visibility]{% if currentVersion == "github-ae@latest" %}(/assets/images/help/gist/gist-visibility-drop-down-ae.png){% else %}(/assets/images/help/gist/gist-visibility-drop-down.png){% endif %} +5. Optionally, to create {% ifversion ghae %}an internal{% else %}a public{% endif %} gist, click {% octicon "triangle-down" aria-label="The downwards triangle icon" %}, then click **Create {% ifversion ghae %}internal{% else %}public{% endif %} gist**. +![Drop-down menu to select gist visibility]{% ifversion ghae %}(/assets/images/help/gist/gist-visibility-drop-down-ae.png){% else %}(/assets/images/help/gist/gist-visibility-drop-down.png){% endif %} -6. Click **Create secret Gist** or **Create {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} gist**. +6. Click **Create secret Gist** or **Create {% ifversion ghae %}internal{% else %}public{% endif %} gist**. ![Button to create gist](/assets/images/help/gist/create-secret-gist-button.png) diff --git a/content/github/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists.md b/content/github/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists.md index edfc531bca..9ad71ab5fd 100644 --- a/content/github/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists.md +++ b/content/github/writing-on-github/editing-and-sharing-content-with-gists/forking-and-cloning-gists.md @@ -5,9 +5,9 @@ redirect_from: - /articles/forking-and-cloning-gists - /github/writing-on-github/forking-and-cloning-gists versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Forking gists diff --git a/content/github/writing-on-github/editing-and-sharing-content-with-gists/index.md b/content/github/writing-on-github/editing-and-sharing-content-with-gists/index.md index 6473dea5ce..1f216a62b5 100644 --- a/content/github/writing-on-github/editing-and-sharing-content-with-gists/index.md +++ b/content/github/writing-on-github/editing-and-sharing-content-with-gists/index.md @@ -6,9 +6,9 @@ redirect_from: - /categories/gists/ - /articles/editing-and-sharing-content-with-gists versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /creating-gists - /forking-and-cloning-gists diff --git a/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github.md b/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github.md index 64b0acecc6..65c9aff0e8 100644 --- a/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github.md +++ b/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/about-writing-and-formatting-on-github.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-writing-and-formatting-on-github - /github/writing-on-github/about-writing-and-formatting-on-github versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- [Markdown](http://daringfireball.net/projects/markdown/) is an easy-to-read, easy-to-write syntax for formatting plain text. diff --git a/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md b/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md index 3b46fbc33e..dff1f48dbd 100644 --- a/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md +++ b/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax.md @@ -5,9 +5,9 @@ redirect_from: - /articles/basic-writing-and-formatting-syntax - /github/writing-on-github/basic-writing-and-formatting-syntax versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Headings @@ -53,7 +53,7 @@ In the words of Abraham Lincoln: ## Quoting code -You can call out code or a command within a sentence with single backticks. The text within the backticks will not be formatted.{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %} You can also press the `command` or `Ctrl` + `e` keyboard shortcut to insert the backticks for a code block within a line of Markdown.{% endif %} +You can call out code or a command within a sentence with single backticks. The text within the backticks will not be formatted.{% ifversion fpt or ghae-next or ghes > 3.1 %} You can also press the `command` or `Ctrl` + `e` keyboard shortcut to insert the backticks for a code block within a line of Markdown.{% endif %} ```markdown Use `git status` to list all new or modified files that haven't yet been committed. @@ -78,7 +78,7 @@ For more information, see "[Creating and highlighting code blocks](/articles/cre ## Links -You can create an inline link by wrapping link text in brackets `[ ]`, and then wrapping the URL in parentheses `( )`. {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@next" or currentVersion ver_gt "enterprise-server@3.1" %}You can also use the keyboard shortcut `command + k` to create a link.{% endif %} +You can create an inline link by wrapping link text in brackets `[ ]`, and then wrapping the URL in parentheses `( )`. {% ifversion fpt or ghae-next or ghes > 3.1 %}You can also use the keyboard shortcut `command + k` to create a link.{% endif %} `This site was built using [GitHub Pages](https://pages.github.com/).` @@ -171,7 +171,7 @@ For more information, see "[About task lists](/articles/about-task-lists)." ## Mentioning people and teams -You can mention a person or [team](/articles/setting-up-teams/) on {% data variables.product.product_name %} by typing `@` plus their username or team name. This will trigger a notification and bring their attention to the conversation. People will also receive a notification if you edit a comment to mention their username or team name. For more information about notifications, see {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[About notifications](/github/receiving-notifications-about-activity-on-github/about-notifications){% endif %}." +You can mention a person or [team](/articles/setting-up-teams/) on {% data variables.product.product_name %} by typing `@` plus their username or team name. This will trigger a notification and bring their attention to the conversation. People will also receive a notification if you edit a comment to mention their username or team name. For more information about notifications, see {% ifversion fpt or ghes or ghae %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[About notifications](/github/receiving-notifications-about-activity-on-github/about-notifications){% endif %}." `@github/support What do you think about these updates?` @@ -199,7 +199,7 @@ Some {% data variables.product.prodname_github_app %}s provide information in {% ![Content attachment](/assets/images/github-apps/content_reference_attachment.png) -To see content attachments, you must have a {% data variables.product.prodname_github_app %} that uses the Content Attachments API installed on the repository.{% if currentVersion == "free-pro-team@latest" %} For more information, see "[Installing an app in your personal account](/articles/installing-an-app-in-your-personal-account)" and "[Installing an app in your organization](/articles/installing-an-app-in-your-organization)."{% endif %} +To see content attachments, you must have a {% data variables.product.prodname_github_app %} that uses the Content Attachments API installed on the repository.{% ifversion fpt %} For more information, see "[Installing an app in your personal account](/articles/installing-an-app-in-your-personal-account)" and "[Installing an app in your organization](/articles/installing-an-app-in-your-organization)."{% endif %} Content attachments will not be displayed for URLs that are part of a markdown link. diff --git a/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/index.md b/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/index.md index a65088141a..3ec66caaf5 100644 --- a/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/index.md +++ b/content/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/getting-started-with-writing-and-formatting-on-github intro: 'You can use simple features to format your comments and interact with others in issues, pull requests, and wikis on GitHub.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /about-writing-and-formatting-on-github - /basic-writing-and-formatting-syntax diff --git a/content/github/writing-on-github/index.md b/content/github/writing-on-github/index.md index 7dfdcaae03..c59b342c85 100644 --- a/content/github/writing-on-github/index.md +++ b/content/github/writing-on-github/index.md @@ -7,12 +7,13 @@ redirect_from: - /categories/writing-on-github intro: 'You can structure the information shared on {% data variables.product.product_name %} with various formatting options.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /getting-started-with-writing-and-formatting-on-github - /working-with-advanced-formatting - /working-with-saved-replies - /editing-and-sharing-content-with-gists --- + diff --git a/content/github/writing-on-github/working-with-advanced-formatting/attaching-files.md b/content/github/writing-on-github/working-with-advanced-formatting/attaching-files.md index b99ddc26d5..6b11895f8c 100644 --- a/content/github/writing-on-github/working-with-advanced-formatting/attaching-files.md +++ b/content/github/writing-on-github/working-with-advanced-formatting/attaching-files.md @@ -7,15 +7,15 @@ redirect_from: - /articles/file-attachments-on-issues-and-pull-requests - /github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- {% warning %} -**Warning:** If you add an image {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} or video {% endif %} to a pull request or issue comment, anyone can view the anonymized URL without authentication, even if the pull request is in a private repository{% if enterpriseServerVersions contains currentVersion %}, or if private mode is enabled{% endif %}. To keep sensitive media files private, serve them from a private network or server that requires authentication. {% if currentVersion == "free-pro-team@latest" %}For more information on anonymized URLs see "[About anonymized URLs](/github/authenticating-to-github/about-anonymized-urls)".{% endif %} +**Warning:** If you add an image {% ifversion fpt or ghes > 3.1 or ghae-next %} or video {% endif %} to a pull request or issue comment, anyone can view the anonymized URL without authentication, even if the pull request is in a private repository{% ifversion ghes %}, or if private mode is enabled{% endif %}. To keep sensitive media files private, serve them from a private network or server that requires authentication. {% ifversion fpt %}For more information on anonymized URLs see "[About anonymized URLs](/github/authenticating-to-github/about-anonymized-urls)".{% endif %} {% endwarning %} @@ -30,7 +30,7 @@ To attach a file to an issue or pull request conversation, drag and drop it into {% endtip %} The maximum file size is: -- 10MB for images and gifs{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +- 10MB for images and gifs{% ifversion fpt or ghes > 3.1 or ghae-next %} - 10MB for videos uploaded to a repository owned by a user or organization on a free GitHub plan - 100MB for videos uploaded to a repository owned by a user or organization on a paid GitHub plan{% endif %} - 25MB for all other files @@ -44,7 +44,7 @@ We support these files: * Microsoft Word (*.docx*), Powerpoint (*.pptx*), and Excel (*.xlsx*) documents * Text files (*.txt*) * PDFs (*.pdf*) -* ZIP (*.zip*, *.gz*){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +* ZIP (*.zip*, *.gz*){% ifversion fpt or ghes > 3.1 or ghae-next %} * Video (*.mp4*, *.mov*) {% note %} diff --git a/content/github/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls.md b/content/github/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls.md index 387c2d27c0..43e17baa87 100644 --- a/content/github/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls.md +++ b/content/github/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls.md @@ -5,9 +5,9 @@ redirect_from: - /articles/autolinked-references-and-urls - /github/writing-on-github/autolinked-references-and-urls versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## URLs @@ -37,7 +37,7 @@ Within conversations on {% data variables.product.product_name %}, references to | `Username/Repository#` and issue or pull request number | jlord/sheetsee.js#26 | [jlord/sheetsee.js#26](https://github.com/jlord/sheetsee.js/issues/26) | `Organization_name/Repository#` and issue or pull request number | github/linguist#4039 | [github/linguist#4039](https://github.com/github/linguist/pull/4039) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you reference an issue, pull request, or discussion in a list, the reference will unfurl to show the title and state instead. For more information about task lists, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." {% endif %} diff --git a/content/github/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet.md b/content/github/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet.md index 29c31655c8..d1313f544f 100644 --- a/content/github/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet.md +++ b/content/github/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet.md @@ -6,9 +6,9 @@ redirect_from: - /articles/creating-a-permanent-link-to-a-code-snippet - /github/managing-your-work-on-github/creating-a-permanent-link-to-a-code-snippet versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/github/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md b/content/github/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md index f14d0fc853..2e5ca5c7f7 100644 --- a/content/github/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md +++ b/content/github/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks.md @@ -5,9 +5,9 @@ redirect_from: - /articles/creating-and-highlighting-code-blocks - /github/writing-on-github/creating-and-highlighting-code-blocks versions: - free-pro-team: "*" - enterprise-server: "*" - github-ae: "*" + fpt: '*' + ghes: '*' + ghae: '*' --- ## Fenced code blocks diff --git a/content/github/writing-on-github/working-with-advanced-formatting/index.md b/content/github/writing-on-github/working-with-advanced-formatting/index.md index e0a67e4275..844bc16223 100644 --- a/content/github/writing-on-github/working-with-advanced-formatting/index.md +++ b/content/github/writing-on-github/working-with-advanced-formatting/index.md @@ -4,9 +4,9 @@ intro: 'Formatting like tables, syntax highlighting, and automatic linking allow redirect_from: - /articles/working-with-advanced-formatting versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /organizing-information-with-tables - /creating-and-highlighting-code-blocks diff --git a/content/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables.md b/content/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables.md index 829a8d8a4b..027a82ac1f 100644 --- a/content/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables.md +++ b/content/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables.md @@ -5,9 +5,9 @@ redirect_from: - /articles/organizing-information-with-tables - /github/writing-on-github/organizing-information-with-tables versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ## Creating a table diff --git a/content/github/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests.md b/content/github/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests.md index a8f758d57e..3dc026b870 100644 --- a/content/github/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests.md +++ b/content/github/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests.md @@ -1,10 +1,10 @@ --- title: Using keywords in issues and pull requests -intro: 'Use keywords to link an issue and pull request or to mark an issue or pull request as a duplicate.' +intro: Use keywords to link an issue and pull request or to mark an issue or pull request as a duplicate. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Issues - Pull requests @@ -12,7 +12,7 @@ topics: ## Linking a pull request to an issue -To link a pull request to an issue to{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} show that a fix is in progress and to{% endif %} automatically close the issue when someone merges the pull request, type one of the following keywords followed by a reference to the issue. For example, `Closes #10` or `Fixes octo-org/octo-repo#100`. +To link a pull request to an issue to{% ifversion fpt or ghes or ghae %} show that a fix is in progress and to{% endif %} automatically close the issue when someone merges the pull request, type one of the following keywords followed by a reference to the issue. For example, `Closes #10` or `Fixes octo-org/octo-repo#100`. * close * closes diff --git a/content/github/writing-on-github/working-with-saved-replies/about-saved-replies.md b/content/github/writing-on-github/working-with-saved-replies/about-saved-replies.md index 6718282bfe..18c96b748a 100644 --- a/content/github/writing-on-github/working-with-saved-replies/about-saved-replies.md +++ b/content/github/writing-on-github/working-with-saved-replies/about-saved-replies.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-saved-replies - /github/writing-on-github/about-saved-replies versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- ![Saved replies](/assets/images/help/settings/saved-replies.png) diff --git a/content/github/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md b/content/github/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md index 044fc74060..c5741ff461 100644 --- a/content/github/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md +++ b/content/github/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md @@ -5,9 +5,9 @@ redirect_from: - /articles/creating-a-saved-reply - /github/writing-on-github/creating-a-saved-reply versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% data reusables.user_settings.access_settings %} {% data reusables.user_settings.saved_replies %} diff --git a/content/github/writing-on-github/working-with-saved-replies/deleting-a-saved-reply.md b/content/github/writing-on-github/working-with-saved-replies/deleting-a-saved-reply.md index 7e3a7058c6..ebfeafc802 100644 --- a/content/github/writing-on-github/working-with-saved-replies/deleting-a-saved-reply.md +++ b/content/github/writing-on-github/working-with-saved-replies/deleting-a-saved-reply.md @@ -5,9 +5,9 @@ redirect_from: - /articles/deleting-a-saved-reply - /github/writing-on-github/deleting-a-saved-reply versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% data reusables.user_settings.access_settings %} {% data reusables.user_settings.saved_replies %} diff --git a/content/github/writing-on-github/working-with-saved-replies/editing-a-saved-reply.md b/content/github/writing-on-github/working-with-saved-replies/editing-a-saved-reply.md index 2ec58b116a..f9044baa0f 100644 --- a/content/github/writing-on-github/working-with-saved-replies/editing-a-saved-reply.md +++ b/content/github/writing-on-github/working-with-saved-replies/editing-a-saved-reply.md @@ -6,9 +6,9 @@ redirect_from: - /articles/editing-a-saved-reply - /github/writing-on-github/editing-a-saved-reply versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% data reusables.user_settings.access_settings %} {% data reusables.user_settings.saved_replies %} diff --git a/content/github/writing-on-github/working-with-saved-replies/index.md b/content/github/writing-on-github/working-with-saved-replies/index.md index f68d35cee4..18ddd9b01f 100644 --- a/content/github/writing-on-github/working-with-saved-replies/index.md +++ b/content/github/writing-on-github/working-with-saved-replies/index.md @@ -4,9 +4,9 @@ intro: 'To save time and make sure you''re delivering a consistent message, you redirect_from: - /articles/working-with-saved-replies versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /about-saved-replies - /creating-a-saved-reply diff --git a/content/github/writing-on-github/working-with-saved-replies/using-saved-replies.md b/content/github/writing-on-github/working-with-saved-replies/using-saved-replies.md index 9db95c5533..6d2c4a9812 100644 --- a/content/github/writing-on-github/working-with-saved-replies/using-saved-replies.md +++ b/content/github/writing-on-github/working-with-saved-replies/using-saved-replies.md @@ -5,9 +5,9 @@ redirect_from: - /articles/using-saved-replies - /github/writing-on-github/using-saved-replies versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' --- {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issue-pr %} diff --git a/content/graphql/guides/forming-calls-with-graphql.md b/content/graphql/guides/forming-calls-with-graphql.md index 3880f49d99..d80bb99023 100644 --- a/content/graphql/guides/forming-calls-with-graphql.md +++ b/content/graphql/guides/forming-calls-with-graphql.md @@ -5,9 +5,9 @@ redirect_from: - /v4/guides/forming-calls - /graphql/guides/forming-calls versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- @@ -18,7 +18,7 @@ To communicate with the GraphQL server, you'll need an OAuth token with the righ Follow the steps in "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)" to create a token. The scopes you require depends on the type of data you're trying to request. For example, select the **User** scopes to request user data. If you need access to repository information, select the appropriate **Repository** scopes. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} To match the behavior of the [GraphQL Explorer](/graphql/guides/using-the-explorer), request the following scopes: @@ -30,7 +30,7 @@ The following scopes are recommended: ``` -user{% if currentVersion != "github-ae@latest" %} +user{% ifversion not ghae %} public_repo{% endif %} repo repo_deployment @@ -249,7 +249,7 @@ Looking at the composition line by line: The `labels` field has the type [`LabelConnection`](/graphql/reference/objects#labelconnection). As with the `issues` object, because `labels` is a connection, we must travel its edges to a connected node: the `label` object. At the node, we can specify the `label` object fields we want to return, in this case, `name`. -You may notice that running this query on the Octocat's {% if currentVersion != "github-ae@latest" %}public{% endif %} `Hello-World` repository won't return many labels. Try running it on one of your own repositories that does use labels, and you'll likely see a difference. +You may notice that running this query on the Octocat's {% ifversion not ghae %}public{% endif %} `Hello-World` repository won't return many labels. Try running it on one of your own repositories that does use labels, and you'll likely see a difference. ## Example mutation diff --git a/content/graphql/guides/index.md b/content/graphql/guides/index.md index 0032d2e21f..71c8b226fd 100644 --- a/content/graphql/guides/index.md +++ b/content/graphql/guides/index.md @@ -4,9 +4,9 @@ intro: 'Learn about getting started with GraphQL, migrating from REST to GraphQL redirect_from: - /v4/guides versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API children: diff --git a/content/graphql/guides/introduction-to-graphql.md b/content/graphql/guides/introduction-to-graphql.md index 78840dbc35..da7eff2be5 100644 --- a/content/graphql/guides/introduction-to-graphql.md +++ b/content/graphql/guides/introduction-to-graphql.md @@ -5,9 +5,9 @@ redirect_from: - /v4/guides/intro-to-graphql - /graphql/guides/intro-to-graphql versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/guides/managing-enterprise-accounts.md b/content/graphql/guides/managing-enterprise-accounts.md index 331ad66399..562e7a76bc 100644 --- a/content/graphql/guides/managing-enterprise-accounts.md +++ b/content/graphql/guides/managing-enterprise-accounts.md @@ -4,9 +4,9 @@ intro: You can manage your enterprise account and the organizations it owns with redirect_from: - /v4/guides/managing-enterprise-accounts versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- @@ -95,9 +95,9 @@ Now you are ready to start making queries. ## An example query using the Enterprise Accounts API -This GraphQL query requests the total number of {% if currentVersion != "github-ae@latest" %}`public`{% else %}`private`{% endif %} repositories in each of your appliance's organizations using the Enterprise Accounts API. To customize this query, replace `` with the slug of your Enterprise's instance slug. +This GraphQL query requests the total number of {% ifversion not ghae %}`public`{% else %}`private`{% endif %} repositories in each of your appliance's organizations using the Enterprise Accounts API. To customize this query, replace `` with the slug of your Enterprise's instance slug. -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ```graphql query publicRepositoriesByOrganization($slug: String!) { @@ -162,9 +162,9 @@ variables { ``` {% endif %} -The next GraphQL query example shows how challenging it is to retrieve the number of {% if currentVersion != "github-ae@latest" %}`public`{% else %}`private`{% endif %} repositories in each organization without using the Enterprise Account API. Notice that the GraphQL Enterprise Accounts API has made this task simpler for enterprises since you only need to customize a single variable. To customize this query, replace `` and ``, etc. with the organization names on your instance. +The next GraphQL query example shows how challenging it is to retrieve the number of {% ifversion not ghae %}`public`{% else %}`private`{% endif %} repositories in each organization without using the Enterprise Account API. Notice that the GraphQL Enterprise Accounts API has made this task simpler for enterprises since you only need to customize a single variable. To customize this query, replace `` and ``, etc. with the organization names on your instance. -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ```graphql # Each organization is queried separately { @@ -212,7 +212,7 @@ fragment repositories on Organization { ## Query each organization separately -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} ```graphql query publicRepositoriesByOrganization { diff --git a/content/graphql/guides/migrating-from-rest-to-graphql.md b/content/graphql/guides/migrating-from-rest-to-graphql.md index 377d13da0d..9a02c4ca66 100644 --- a/content/graphql/guides/migrating-from-rest-to-graphql.md +++ b/content/graphql/guides/migrating-from-rest-to-graphql.md @@ -5,9 +5,9 @@ redirect_from: - /v4/guides/migrating-from-rest - /graphql/guides/migrating-from-rest versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/guides/using-global-node-ids.md b/content/graphql/guides/using-global-node-ids.md index 6b2de9767f..ba8404cee2 100644 --- a/content/graphql/guides/using-global-node-ids.md +++ b/content/graphql/guides/using-global-node-ids.md @@ -4,9 +4,9 @@ intro: You can get global node IDs of objects via the REST API and use them in G redirect_from: - /v4/guides/using-global-node-ids versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/guides/using-the-explorer.md b/content/graphql/guides/using-the-explorer.md index cc62eb6951..91c12ef91a 100644 --- a/content/graphql/guides/using-the-explorer.md +++ b/content/graphql/guides/using-the-explorer.md @@ -4,16 +4,16 @@ intro: 'You can run queries on real {% data variables.product.prodname_dotcom %} redirect_from: - /v4/guides/using-the-explorer versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- ## About the GraphQL Explorer -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} [GraphQL Explorer](/graphql/overview/explorer) is an instance of [GraphiQL](https://github.com/graphql/graphiql), which is a "graphical interactive in-browser GraphQL IDE." diff --git a/content/graphql/guides/using-the-graphql-api-for-discussions.md b/content/graphql/guides/using-the-graphql-api-for-discussions.md index b290279781..38a59f4c1a 100644 --- a/content/graphql/guides/using-the-graphql-api-for-discussions.md +++ b/content/graphql/guides/using-the-graphql-api-for-discussions.md @@ -1,8 +1,8 @@ --- title: Using the GraphQL API for Discussions -intro: 'Learn how to use the GitHub Discussions GraphQL API.' +intro: Learn how to use the GitHub Discussions GraphQL API. versions: - free-pro-team: '*' + fpt: '*' --- The {% data variables.product.prodname_discussions %} GraphQL API allows you to get, create, edit, and delete discussion posts. For more information about {% data variables.product.prodname_discussions %}, see "[‎About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." diff --git a/content/graphql/index.md b/content/graphql/index.md index af8ed96210..fe9b0e6dbf 100644 --- a/content/graphql/index.md +++ b/content/graphql/index.md @@ -5,9 +5,9 @@ shortTitle: GraphQL API redirect_from: - /v4 versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /overview - /reference diff --git a/content/graphql/overview/about-the-graphql-api.md b/content/graphql/overview/about-the-graphql-api.md index 21fb7f0ddb..78367db513 100644 --- a/content/graphql/overview/about-the-graphql-api.md +++ b/content/graphql/overview/about-the-graphql-api.md @@ -2,9 +2,9 @@ title: About the GraphQL API intro: 'The {% data variables.product.prodname_dotcom %} GraphQL API offers flexibility and the ability to define precisely the data you want to fetch.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/overview/breaking-changes.md b/content/graphql/overview/breaking-changes.md index bba4000d64..2636407006 100644 --- a/content/graphql/overview/breaking-changes.md +++ b/content/graphql/overview/breaking-changes.md @@ -4,9 +4,9 @@ intro: 'Learn about recent and upcoming breaking changes to the {% data variable redirect_from: - /v4/breaking_changes versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/overview/changelog.md b/content/graphql/overview/changelog.md index 7445aae13f..db35e99dda 100644 --- a/content/graphql/overview/changelog.md +++ b/content/graphql/overview/changelog.md @@ -4,9 +4,9 @@ intro: 'The GraphQL schema changelog is a list of recent and upcoming changes to redirect_from: - /v4/changelog versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/overview/explorer.md b/content/graphql/overview/explorer.md index 1d2d21729a..b36968d417 100644 --- a/content/graphql/overview/explorer.md +++ b/content/graphql/overview/explorer.md @@ -4,9 +4,9 @@ redirect_from: - /v4/explorer - /v4/explorer-new versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' layout: graphql-explorer topics: - API diff --git a/content/graphql/overview/index.md b/content/graphql/overview/index.md index dc0d82d664..bbe4085fbd 100644 --- a/content/graphql/overview/index.md +++ b/content/graphql/overview/index.md @@ -2,9 +2,9 @@ title: Overview intro: 'Learn about the {% data variables.product.prodname_dotcom %} GraphQL API, previews for upcoming changes, breaking changes, and limitations. You can also use the GraphQL Explorer to interact with the API on real {% data variables.product.prodname_dotcom %} data.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /about-the-graphql-api - /public-schema diff --git a/content/graphql/overview/public-schema.md b/content/graphql/overview/public-schema.md index 9bf94828b0..c84401afe2 100644 --- a/content/graphql/overview/public-schema.md +++ b/content/graphql/overview/public-schema.md @@ -4,9 +4,9 @@ intro: 'Download the public schema for the {% data variables.product.prodname_do redirect_from: - /v4/public_schema versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- @@ -15,19 +15,19 @@ You can [perform introspection](/graphql/guides/introduction-to-graphql#discover Alternatively, you can download the latest version of the public schema here: -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} [{% octicon "desktop-download" aria-label="The desktop download icon" %} `schema.docs.graphql`](/public/schema.docs.graphql) {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} [{% octicon "desktop-download" aria-label="The desktop download icon" %} `schema.docs-enterprise.graphql`](/public/ghes-{{ allVersions[currentVersion].currentRelease }}/schema.docs-enterprise.graphql) ({{ allVersions[currentVersion].versionTitle }}) {% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} [{% octicon "desktop-download" aria-label="The desktop download icon" %} `schema.docs-ghae.graphql`](/public/ghae/schema.docs-ghae.graphql) ({{ allVersions[currentVersion].versionTitle }}) diff --git a/content/graphql/overview/resource-limitations.md b/content/graphql/overview/resource-limitations.md index 8d880e9ad2..52b77f0c23 100644 --- a/content/graphql/overview/resource-limitations.md +++ b/content/graphql/overview/resource-limitations.md @@ -4,9 +4,9 @@ intro: 'The {% data variables.product.prodname_dotcom %} GraphQL API has limitat redirect_from: - /v4/guides/resource-limitations versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/overview/schema-previews.md b/content/graphql/overview/schema-previews.md index b1c5626eca..102bb3e392 100644 --- a/content/graphql/overview/schema-previews.md +++ b/content/graphql/overview/schema-previews.md @@ -4,9 +4,9 @@ intro: 'You can preview upcoming features and changes to the {% data variables.p redirect_from: - /v4/previews versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/reference/enums.md b/content/graphql/reference/enums.md index baeb536ce0..d4e8a3a889 100644 --- a/content/graphql/reference/enums.md +++ b/content/graphql/reference/enums.md @@ -4,9 +4,9 @@ redirect_from: - /v4/enum - /v4/reference/enum versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/reference/index.md b/content/graphql/reference/index.md index 95f9648d38..f27e447581 100644 --- a/content/graphql/reference/index.md +++ b/content/graphql/reference/index.md @@ -4,9 +4,9 @@ intro: 'View reference documentation to learn about the data types available in redirect_from: - /v4/reference versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /queries - /mutations diff --git a/content/graphql/reference/input-objects.md b/content/graphql/reference/input-objects.md index a2162b6e5a..3b38c39139 100644 --- a/content/graphql/reference/input-objects.md +++ b/content/graphql/reference/input-objects.md @@ -4,9 +4,9 @@ redirect_from: - /v4/input_object - /v4/reference/input_object versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/reference/interfaces.md b/content/graphql/reference/interfaces.md index 648508cdf4..2b382845db 100644 --- a/content/graphql/reference/interfaces.md +++ b/content/graphql/reference/interfaces.md @@ -4,9 +4,9 @@ redirect_from: - /v4/interface - /v4/reference/interface versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/reference/mutations.md b/content/graphql/reference/mutations.md index 8d8e3f4f67..950e8bd04d 100644 --- a/content/graphql/reference/mutations.md +++ b/content/graphql/reference/mutations.md @@ -4,9 +4,9 @@ redirect_from: - /v4/mutation - /v4/reference/mutation versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/reference/objects.md b/content/graphql/reference/objects.md index 366e801276..dbc7f56a2e 100644 --- a/content/graphql/reference/objects.md +++ b/content/graphql/reference/objects.md @@ -4,9 +4,9 @@ redirect_from: - /v4/object - /v4/reference/object versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/reference/queries.md b/content/graphql/reference/queries.md index 7413ff6407..7ef65805f7 100644 --- a/content/graphql/reference/queries.md +++ b/content/graphql/reference/queries.md @@ -5,9 +5,9 @@ redirect_from: - /v4/query - /v4/reference/query versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/reference/scalars.md b/content/graphql/reference/scalars.md index 4853166117..73add63d98 100644 --- a/content/graphql/reference/scalars.md +++ b/content/graphql/reference/scalars.md @@ -4,9 +4,9 @@ redirect_from: - /v4/scalar - /v4/reference/scalar versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/graphql/reference/unions.md b/content/graphql/reference/unions.md index fa64644688..8f62f78771 100644 --- a/content/graphql/reference/unions.md +++ b/content/graphql/reference/unions.md @@ -4,9 +4,9 @@ redirect_from: - /v4/union - /v4/reference/union versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/index.md b/content/index.md index 31298ebf10..2045215c4f 100644 --- a/content/index.md +++ b/content/index.md @@ -1,5 +1,5 @@ --- -title: '{% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" %}.com{% endif %} Help Documentation' +title: '{% data variables.product.product_name %}{% ifversion fpt %}.com{% endif %} Help Documentation' featuredLinks: gettingStarted: - /github/getting-started-with-github/set-up-git diff --git a/content/insights/exploring-your-usage-of-github-enterprise/index.md b/content/insights/exploring-your-usage-of-github-enterprise/index.md index b11859f201..173d834396 100644 --- a/content/insights/exploring-your-usage-of-github-enterprise/index.md +++ b/content/insights/exploring-your-usage-of-github-enterprise/index.md @@ -5,7 +5,7 @@ intro: You can use metrics and reports to understand and improve your software d redirect_from: - /github/installing-and-configuring-github-insights/exploring-your-usage-of-github-enterprise versions: - enterprise-server: '*' + ghes: '*' children: - /metrics-available-with-github-insights - /viewing-key-metrics-and-reports diff --git a/content/insights/exploring-your-usage-of-github-enterprise/metrics-available-with-github-insights.md b/content/insights/exploring-your-usage-of-github-enterprise/metrics-available-with-github-insights.md index bc6fc8b255..e402f7babd 100644 --- a/content/insights/exploring-your-usage-of-github-enterprise/metrics-available-with-github-insights.md +++ b/content/insights/exploring-your-usage-of-github-enterprise/metrics-available-with-github-insights.md @@ -5,7 +5,7 @@ redirect_from: - /github/installing-and-configuring-github-insights/metrics-available-with-github-insights - /github/installing-and-configuring-github-insights/key-metrics-for-collaboration-in-pull-requests versions: - enterprise-server: '*' + ghes: '*' --- ## About metrics in {% data variables.product.prodname_insights %} diff --git a/content/insights/exploring-your-usage-of-github-enterprise/navigating-between-github-enterprise-and-github-insights.md b/content/insights/exploring-your-usage-of-github-enterprise/navigating-between-github-enterprise-and-github-insights.md index 795fdf2ffb..93ff2a6eb5 100644 --- a/content/insights/exploring-your-usage-of-github-enterprise/navigating-between-github-enterprise-and-github-insights.md +++ b/content/insights/exploring-your-usage-of-github-enterprise/navigating-between-github-enterprise-and-github-insights.md @@ -3,7 +3,7 @@ title: Navigating between GitHub Enterprise and GitHub Insights intro: '' permissions: 'Anyone with access to {% data variables.product.prodname_insights %} can navigate between {% data variables.product.prodname_enterprise %} and {% data variables.product.prodname_insights %}.' versions: - enterprise-server: '*' + ghes: '*' --- Before you can navigate between {% data variables.product.prodname_enterprise %} and {% data variables.product.prodname_insights %}, a site administrator must enable a link between {% data variables.product.prodname_insights %} and {% data variables.product.prodname_enterprise %}. For more information, see "[Enabling a link between {% data variables.product.prodname_insights %} and {% data variables.product.prodname_enterprise %}](/insights/installing-and-configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise)." diff --git a/content/insights/exploring-your-usage-of-github-enterprise/setting-your-timezone-for-github-insights.md b/content/insights/exploring-your-usage-of-github-enterprise/setting-your-timezone-for-github-insights.md index 17c91b8cbe..fcdbe6860f 100644 --- a/content/insights/exploring-your-usage-of-github-enterprise/setting-your-timezone-for-github-insights.md +++ b/content/insights/exploring-your-usage-of-github-enterprise/setting-your-timezone-for-github-insights.md @@ -3,7 +3,7 @@ title: Setting your timezone for GitHub Insights intro: 'You can set the timezone for metrics you view in {% data variables.product.prodname_insights %}.' permissions: 'Anyone with access to {% data variables.product.prodname_insights %} can set their own timezone.' versions: - enterprise-server: '*' + ghes: '*' --- Your timezone setting only affects how you see data in {% data variables.product.prodname_insights %}. The setting does not apply to other users. diff --git a/content/insights/exploring-your-usage-of-github-enterprise/viewing-key-metrics-and-reports.md b/content/insights/exploring-your-usage-of-github-enterprise/viewing-key-metrics-and-reports.md index 85e74bf3e0..fd5fd40eab 100644 --- a/content/insights/exploring-your-usage-of-github-enterprise/viewing-key-metrics-and-reports.md +++ b/content/insights/exploring-your-usage-of-github-enterprise/viewing-key-metrics-and-reports.md @@ -5,7 +5,7 @@ redirect_from: - /github/installing-and-configuring-github-insights/viewing-and-filtering-key-metrics-and-reports permissions: 'Anyone with access to {% data variables.product.prodname_insights %} can view key metrics and reports.' versions: - enterprise-server: '*' + ghes: '*' --- ## About metrics and reports diff --git a/content/insights/index.md b/content/insights/index.md index e232548f8b..828dc074fc 100644 --- a/content/insights/index.md +++ b/content/insights/index.md @@ -14,7 +14,7 @@ featuredLinks: redirect_from: - /github/installing-and-configuring-github-insights versions: - enterprise-server: '*' + ghes: '*' children: - /installing-and-configuring-github-insights - /exploring-your-usage-of-github-enterprise diff --git a/content/insights/installing-and-configuring-github-insights/configuring-github-insights/configuring-the-connection-between-github-insights-and-github-enterprise.md b/content/insights/installing-and-configuring-github-insights/configuring-github-insights/configuring-the-connection-between-github-insights-and-github-enterprise.md index 9dc4a2dcc7..8a889ac93f 100644 --- a/content/insights/installing-and-configuring-github-insights/configuring-github-insights/configuring-the-connection-between-github-insights-and-github-enterprise.md +++ b/content/insights/installing-and-configuring-github-insights/configuring-github-insights/configuring-the-connection-between-github-insights-and-github-enterprise.md @@ -3,7 +3,7 @@ title: Configuring the connection between GitHub Insights and GitHub Enterprise intro: 'You can manage how {% data variables.product.prodname_insights %} connects to {% data variables.product.prodname_enterprise %}.' permissions: 'People with admin permissions to {% data variables.product.prodname_insights %} can configure the connection to {% data variables.product.prodname_enterprise %}.' versions: - enterprise-server: '*' + ghes: '*' redirect_from: - /insights/installing-and-configuring-github-insights/configuring-the-connection-between-github-insights-and-github-enterprise --- diff --git a/content/insights/installing-and-configuring-github-insights/configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise.md b/content/insights/installing-and-configuring-github-insights/configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise.md index 7278869a28..2254b6d5f9 100644 --- a/content/insights/installing-and-configuring-github-insights/configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise.md +++ b/content/insights/installing-and-configuring-github-insights/configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise.md @@ -7,7 +7,7 @@ redirect_from: - /github/installing-and-configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise - /insights/installing-and-configuring-github-insights/enabling-a-link-between-github-insights-and-github-enterprise versions: - enterprise-server: '*' + ghes: '*' --- After you enable the link, each user can navigate directly from {% data variables.product.prodname_ghe_server %} to {% data variables.product.prodname_insights %}. For more information, see "[Navigating between {% data variables.product.prodname_enterprise %} and {% data variables.product.prodname_insights %}](/insights/exploring-your-usage-of-github-enterprise/navigating-between-github-enterprise-and-github-insights)." diff --git a/content/insights/installing-and-configuring-github-insights/configuring-github-insights/index.md b/content/insights/installing-and-configuring-github-insights/configuring-github-insights/index.md index daea89f9b3..87bc2db5fa 100644 --- a/content/insights/installing-and-configuring-github-insights/configuring-github-insights/index.md +++ b/content/insights/installing-and-configuring-github-insights/configuring-github-insights/index.md @@ -3,7 +3,7 @@ title: Configuring GitHub Insights shortTitle: Configuring intro: 'You can manage the connection between {% data variables.product.prodname_insights %} and {% data variables.product.prodname_enterprise %} and manage permissions for {% data variables.product.prodname_insights %} users.' versions: - enterprise-server: '*' + ghes: '*' children: - /configuring-the-connection-between-github-insights-and-github-enterprise - /managing-permissions-in-github-insights diff --git a/content/insights/installing-and-configuring-github-insights/configuring-github-insights/managing-permissions-in-github-insights.md b/content/insights/installing-and-configuring-github-insights/configuring-github-insights/managing-permissions-in-github-insights.md index c8baeb04e3..f41556f38f 100644 --- a/content/insights/installing-and-configuring-github-insights/configuring-github-insights/managing-permissions-in-github-insights.md +++ b/content/insights/installing-and-configuring-github-insights/configuring-github-insights/managing-permissions-in-github-insights.md @@ -3,12 +3,12 @@ title: Managing permissions in GitHub Insights intro: 'You can update a user''s permissions in {% data variables.product.prodname_insights %}.' permissions: 'People with admin permissions to {% data variables.product.prodname_insights %} can manage permissions.' versions: - enterprise-server: '*' + ghes: '*' redirect_from: - /insights/installing-and-configuring-github-insights/managing-permissions-in-github-insights --- {% data reusables.github-insights.permissions-levels %} -If you want to give admin permissions to someone who is not a site administrator in {% data variables.product.prodname_enterprise %}, contact {% data variables.contact.github_support %}. For more information, see {% if currentVersion == "free-pro-team@latest" %}"[Submitting a ticket](/github/working-with-github-support/submitting-a-ticket)."{% else %}"[Reaching {% data variables.contact.github_support %}](/enterprise/{{ currentVersion }}/admin/enterprise-support/reaching-github-support)."{% endif %} +If you want to give admin permissions to someone who is not a site administrator in {% data variables.product.prodname_enterprise %}, contact {% data variables.contact.github_support %}. For more information, see {% ifversion fpt %}"[Submitting a ticket](/github/working-with-github-support/submitting-a-ticket)."{% else %}"[Reaching {% data variables.contact.github_support %}](/enterprise/{{ currentVersion }}/admin/enterprise-support/reaching-github-support)."{% endif %} To remove a user's access from {% data variables.product.prodname_insights %}, you must remove the user from {% data variables.product.prodname_enterprise %}. diff --git a/content/insights/installing-and-configuring-github-insights/index.md b/content/insights/installing-and-configuring-github-insights/index.md index baf78dd0aa..d4b6a5223b 100644 --- a/content/insights/installing-and-configuring-github-insights/index.md +++ b/content/insights/installing-and-configuring-github-insights/index.md @@ -3,7 +3,7 @@ title: Installing and configuring GitHub Insights shortTitle: Installing and configuring intro: You can start using GitHub Insights by installing and configuring the application. versions: - enterprise-server: '*' + ghes: '*' children: - /installing-and-updating-github-insights - /configuring-github-insights diff --git a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/about-github-insights.md b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/about-github-insights.md index 62c4a94225..59eb9579c3 100644 --- a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/about-github-insights.md +++ b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/about-github-insights.md @@ -5,7 +5,7 @@ redirect_from: - /github/installing-and-configuring-github-insights/about-github-insights - /insights/installing-and-configuring-github-insights/about-github-insights versions: - enterprise-server: '*' + ghes: '*' --- ## About {% data variables.product.prodname_insights %} @@ -19,7 +19,7 @@ People with admin permissions to {% data variables.product.prodname_insights %} ## Contacting support -You can receive support for {% data variables.product.prodname_insights %} from {% data variables.contact.github_support %}. For more information, see {% if currentVersion == "free-pro-team@latest" %}"[Submitting a ticket](/github/working-with-github-support/submitting-a-ticket)."{% else %}"[Reaching {% data variables.contact.github_support %}](/enterprise/{{ currentVersion }}/admin/enterprise-support/reaching-github-support)."{% endif %} +You can receive support for {% data variables.product.prodname_insights %} from {% data variables.contact.github_support %}. For more information, see {% ifversion fpt %}"[Submitting a ticket](/github/working-with-github-support/submitting-a-ticket)."{% else %}"[Reaching {% data variables.contact.github_support %}](/enterprise/{{ currentVersion }}/admin/enterprise-support/reaching-github-support)."{% endif %} ## Further reading diff --git a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/index.md b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/index.md index 4d866251b1..fd16aa774e 100644 --- a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/index.md +++ b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/index.md @@ -3,7 +3,7 @@ title: Installing and updating GitHub Insights shortTitle: Installing and updating intro: 'You can install the {% data variables.product.prodname_insights %} application and update the application to the latest version.' versions: - enterprise-server: '*' + ghes: '*' children: - /about-github-insights - /system-overview-for-github-insights diff --git a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/installing-github-insights.md b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/installing-github-insights.md index 2a556c1cf5..e79d905bb3 100644 --- a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/installing-github-insights.md +++ b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/installing-github-insights.md @@ -6,7 +6,7 @@ redirect_from: - /insights/installing-and-configuring-github-insights/installing-github-insights permissions: 'Organization owners in {% data variables.product.prodname_enterprise %} with read permissions to the `github/insights-releases` repository and administrative access to the application server can install {% data variables.product.prodname_insights %}.' versions: - enterprise-server: '*' + ghes: '*' --- ## Prerequisites diff --git a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/system-overview-for-github-insights.md b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/system-overview-for-github-insights.md index a0cf4ef4f1..461ef204fb 100644 --- a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/system-overview-for-github-insights.md +++ b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/system-overview-for-github-insights.md @@ -5,7 +5,7 @@ redirect_from: - /github/installing-and-configuring-github-insights/system-overview-for-github-insights - /insights/installing-and-configuring-github-insights/system-overview-for-github-insights versions: - enterprise-server: '*' + ghes: '*' --- ## Requirements for running {% data variables.product.prodname_insights %} diff --git a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/updating-github-insights.md b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/updating-github-insights.md index f2f982bb38..51fc66aa45 100644 --- a/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/updating-github-insights.md +++ b/content/insights/installing-and-configuring-github-insights/installing-and-updating-github-insights/updating-github-insights.md @@ -6,7 +6,7 @@ redirect_from: - /insights/installing-and-configuring-github-insights/updating-github-insights permissions: 'People with read permissions to the `github/insights-releases` repository and administrative access to the application server can update {% data variables.product.prodname_insights %}.' versions: - enterprise-server: '*' + ghes: '*' --- ## About {% data variables.product.prodname_insights %} updates diff --git a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/about-data-in-github-insights.md b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/about-data-in-github-insights.md index bd7651944b..8b047dab53 100644 --- a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/about-data-in-github-insights.md +++ b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/about-data-in-github-insights.md @@ -3,7 +3,7 @@ title: About data in GitHub Insights intro: 'The data included in {% data variables.product.prodname_insights %} metrics is highly customizable.' permissions: '' versions: - enterprise-server: '*' + ghes: '*' redirect_from: - /insights/installing-and-configuring-github-insights/about-data-in-github-insights --- diff --git a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/index.md b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/index.md index 940ba7afd0..597586f35d 100644 --- a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/index.md +++ b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/index.md @@ -5,7 +5,7 @@ intro: 'You can choose which metrics are displayed in {% data variables.product. redirect_from: - /github/installing-and-configuring-github-insights/managing-data-in-github-insights versions: - enterprise-server: '*' + ghes: '*' children: - /about-data-in-github-insights - /managing-available-metrics-and-reports diff --git a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-available-metrics-and-reports.md b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-available-metrics-and-reports.md index d5e95e4ca0..7a9c171bb8 100644 --- a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-available-metrics-and-reports.md +++ b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-available-metrics-and-reports.md @@ -6,7 +6,7 @@ redirect_from: - /insights/installing-and-configuring-github-insights/managing-available-metrics-and-reports permissions: 'People with admin permissions to {% data variables.product.prodname_insights %} can manage available metrics and reports.' versions: - enterprise-server: '*' + ghes: '*' --- When you disable a metric, the metric will not be visible for any user, anywhere on {% data variables.product.prodname_insights %}. diff --git a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-contributors-and-teams.md b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-contributors-and-teams.md index 88bf160480..ee941d6215 100644 --- a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-contributors-and-teams.md +++ b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-contributors-and-teams.md @@ -7,7 +7,7 @@ redirect_from: permissions: 'People with admin permissions in {% data variables.product.prodname_insights %} can manage contributors and teams.' miniTocMaxHeadingLevel: 3 versions: - enterprise-server: '*' + ghes: '*' --- ## About contributors and teams in {% data variables.product.prodname_insights %} diff --git a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-events.md b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-events.md index aca474d625..df45728994 100644 --- a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-events.md +++ b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-events.md @@ -6,7 +6,7 @@ redirect_from: - /insights/installing-and-configuring-github-insights/managing-events permissions: 'People with admin permissions to {% data variables.product.prodname_insights %} can manage events.' versions: - enterprise-server: '*' + ghes: '*' --- ## About events diff --git a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-goals.md b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-goals.md index ed2510d742..8b42494a81 100644 --- a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-goals.md +++ b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-goals.md @@ -6,7 +6,7 @@ redirect_from: - /insights/installing-and-configuring-github-insights/managing-goals permissions: 'Anyone with access to {% data variables.product.prodname_insights %} can manage goals.' versions: - enterprise-server: '*' + ghes: '*' --- ## About goals diff --git a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-organizations.md b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-organizations.md index b4a4647a80..f251a128d4 100644 --- a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-organizations.md +++ b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-organizations.md @@ -6,7 +6,7 @@ redirect_from: - /insights/installing-and-configuring-github-insights/managing-organizations permissions: 'People with admin permissions in {% data variables.product.prodname_insights %} can manage organizations.' versions: - enterprise-server: '*' + ghes: '*' --- ## About organization management diff --git a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-repositories.md b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-repositories.md index 751babc344..ad4848d6c8 100644 --- a/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-repositories.md +++ b/content/insights/installing-and-configuring-github-insights/managing-data-in-github-insights/managing-repositories.md @@ -7,7 +7,7 @@ redirect_from: permissions: 'People with admin permissions in {% data variables.product.prodname_insights %} can manage repositories. ' miniTocMaxHeadingLevel: 3 versions: - enterprise-server: '*' + ghes: '*' --- ## About repository management diff --git a/content/issues/index.md b/content/issues/index.md index 1dbb894b3f..ca64620cd1 100644 --- a/content/issues/index.md +++ b/content/issues/index.md @@ -1,7 +1,7 @@ --- title: GitHub Issues shortTitle: GitHub Issues -intro: Learn how you can use {% data variables.product.prodname_github_issues %} to plan and track your work. +intro: 'Learn how you can use {% data variables.product.prodname_github_issues %} to plan and track your work.' introLinks: overview: /issues/tracking-your-work-with-issues/creating-issues/about-issues quickstart: /issues/tracking-your-work-with-issues/quickstart @@ -28,9 +28,9 @@ changelog: layout: product-landing beta_product: false versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /tracking-your-work-with-issues - /trying-out-the-new-projects-experience @@ -62,3 +62,4 @@ redirect_from: - /linking-a-pull-request-to-an-issue - /about-duplicate-issues-and-pull-requests --- + diff --git a/content/issues/organizing-your-work-with-project-boards/index.md b/content/issues/organizing-your-work-with-project-boards/index.md index f7c6b5001b..39e3cd6e4a 100644 --- a/content/issues/organizing-your-work-with-project-boards/index.md +++ b/content/issues/organizing-your-work-with-project-boards/index.md @@ -3,9 +3,9 @@ title: Organizing your work with project boards shortTitle: Project boards intro: 'Use project boards to manage your work on {% data variables.product.prodname_dotcom %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Issues - Projects diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-automation-for-project-boards.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-automation-for-project-boards.md index 087f40c4ea..a162b60144 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-automation-for-project-boards.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-automation-for-project-boards.md @@ -6,9 +6,9 @@ redirect_from: - /articles/about-automation-for-project-boards - /github/managing-your-work-on-github/about-automation-for-project-boards versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -41,5 +41,5 @@ You can track the progress on your project board. Cards in the "To do", "In prog For more information, see "[Tracking progress on your project board](/github/managing-your-work-on-github/tracking-progress-on-your-project-board)." ## Further reading -- "[Configuring automation for project boards](/articles/configuring-automation-for-project-boards)"{% if currentVersion == "free-pro-team@latest" %} +- "[Configuring automation for project boards](/articles/configuring-automation-for-project-boards)"{% ifversion fpt %} - "[Copying a project board](/articles/copying-a-project-board)"{% endif %} diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md index e79d863343..325e936a07 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards.md @@ -7,9 +7,9 @@ redirect_from: - /articles/about-project-boards - /github/managing-your-work-on-github/about-project-boards versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -66,7 +66,7 @@ For more information on automation for project boards, see "[About automation fo ## Further reading - "[Creating a project board](/articles/creating-a-project-board)" -- "[Editing a project board](/articles/editing-a-project-board)"{% if currentVersion == "free-pro-team@latest" %} +- "[Editing a project board](/articles/editing-a-project-board)"{% ifversion fpt %} - "[Copying a project board](/articles/copying-a-project-board)"{% endif %} - "[Adding issues and pull requests to a project board](/articles/adding-issues-and-pull-requests-to-a-project-board)" - "[Project board permissions for an organization](/articles/project-board-permissions-for-an-organization)" diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md index f9d5e05b61..945c945309 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/changing-project-board-visibility.md @@ -1,14 +1,14 @@ --- title: Changing project board visibility -intro: 'As an organization owner or project board admin, you can make a project board {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} or private.' +intro: 'As an organization owner or project board admin, you can make a project board {% ifversion ghae %}internal{% else %}public{% endif %} or private.' redirect_from: - /github/managing-your-work-on-github/managing-project-boards/changing-project-board-visibility - /articles/changing-project-board-visibility - /github/managing-your-work-on-github/changing-project-board-visibility versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -18,11 +18,11 @@ topics: {% tip %} -**Tip:** When you make your project board {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %}, organization members are given read access by default. You can give specific organization members write or admin permissions by giving project board access to teams they're on or by adding them to the project board as a collaborator. For more information, see "[Project board permissions for an organization](/articles/project-board-permissions-for-an-organization)." +**Tip:** When you make your project board {% ifversion ghae %}internal{% else %}public{% endif %}, organization members are given read access by default. You can give specific organization members write or admin permissions by giving project board access to teams they're on or by adding them to the project board as a collaborator. For more information, see "[Project board permissions for an organization](/articles/project-board-permissions-for-an-organization)." {% endtip %} -1. Navigate to the project board you want to make {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} or private. +1. Navigate to the project board you want to make {% ifversion ghae %}internal{% else %}public{% endif %} or private. {% data reusables.project-management.click-menu %} {% data reusables.project-management.access-collaboration-settings %} {% data reusables.project-management.choose-visibility %} diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md index faf2d1ab81..8ca041da18 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board.md @@ -7,9 +7,9 @@ redirect_from: - /articles/closing-a-project-board - /github/managing-your-work-on-github/closing-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards.md index bf47eab570..521c37ddf1 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/configuring-automation-for-project-boards.md @@ -6,9 +6,9 @@ redirect_from: - /articles/configuring-automation-for-project-boards - /github/managing-your-work-on-github/configuring-automation-for-project-boards versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/copying-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/copying-a-project-board.md index d3c64570f4..2400242c33 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/copying-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/copying-a-project-board.md @@ -6,7 +6,7 @@ redirect_from: - /articles/copying-a-project-board - /github/managing-your-work-on-github/copying-a-project-board versions: - free-pro-team: '*' + fpt: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md index e6dfe81e33..55984a73f8 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/creating-a-project-board.md @@ -7,9 +7,9 @@ redirect_from: - /articles/creating-a-project-board - /github/managing-your-work-on-github/creating-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -88,7 +88,7 @@ You can also configure workflow automations to keep your project board in sync w ## Further reading - "[About projects boards](/articles/about-project-boards)" -- "[Editing a project board](/articles/editing-a-project-board)"{% if currentVersion == "free-pro-team@latest" %} +- "[Editing a project board](/articles/editing-a-project-board)"{% ifversion fpt %} - "[Copying a project board](/articles/copying-a-project-board)"{% endif %} - "[Closing a project board](/articles/closing-a-project-board)" - "[About automation for project boards](/articles/about-automation-for-project-boards)" diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md index 573d3f421f..8b55b51316 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/deleting-a-project-board.md @@ -7,9 +7,9 @@ redirect_from: - /articles/deleting-a-project-board - /github/managing-your-work-on-github/deleting-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md index 510f16f9ae..5953164eae 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/editing-a-project-board.md @@ -8,9 +8,9 @@ redirect_from: - /articles/editing-a-project-board - /github/managing-your-work-on-github/editing-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/index.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/index.md index bd529eceda..f2f7f64c0c 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/index.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/index.md @@ -1,11 +1,11 @@ --- title: Managing project boards shortTitle: Managing project boards -intro: 'Learn how to create and manage project boards' +intro: Learn how to create and manage project boards versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Issues - Projects diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board.md index a75038c1ca..bf1521c24b 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/linking-a-repository-to-a-project-board.md @@ -6,9 +6,9 @@ redirect_from: - /articles/linking-a-repository-to-a-project-board - /github/managing-your-work-on-github/linking-a-repository-to-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board.md b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board.md index b797dbd4ab..18650feaea 100644 --- a/content/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/managing-project-boards/reopening-a-closed-project-board.md @@ -6,9 +6,9 @@ redirect_from: - /articles/reopening-a-closed-project-board - /github/managing-your-work-on-github/reopening-a-closed-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md index e63cba7d16..6f35951fae 100644 --- a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-issues-and-pull-requests-to-a-project-board.md @@ -7,9 +7,9 @@ redirect_from: - /articles/adding-issues-and-pull-requests-to-a-project-board - /github/managing-your-work-on-github/adding-issues-and-pull-requests-to-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md index 24287883ab..82121444e8 100644 --- a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/adding-notes-to-a-project-board.md @@ -7,9 +7,9 @@ redirect_from: - /articles/adding-notes-to-a-project-board - /github/managing-your-work-on-github/adding-notes-to-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/archiving-cards-on-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/archiving-cards-on-a-project-board.md index 401d2693e5..bcd47818a9 100644 --- a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/archiving-cards-on-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/archiving-cards-on-a-project-board.md @@ -6,9 +6,9 @@ redirect_from: - /articles/archiving-cards-on-a-project-board - /github/managing-your-work-on-github/archiving-cards-on-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board.md b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board.md index 8490e5bb9d..c6d6a84309 100644 --- a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/filtering-cards-on-a-project-board.md @@ -6,9 +6,9 @@ redirect_from: - /articles/filtering-cards-on-a-project-board - /github/managing-your-work-on-github/filtering-cards-on-a-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -27,7 +27,7 @@ You can also use the "Filter cards" search bar at the top of each project board - Filter by check status using `status:pending`, `status:success`, or `status:failure` - Filter cards by type using `type:issue`, `type:pr`, or `type:note` - Filter cards by state and type using `is:open`, `is:closed`, or `is:merged`; and `is:issue`, `is:pr`, or `is:note` -- Filter cards by issues that are linked to a pull request by a closing reference using `linked:pr`{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +- Filter cards by issues that are linked to a pull request by a closing reference using `linked:pr`{% ifversion fpt or ghes or ghae %} - Filter cards by repository in an organization-wide project board using `repo:ORGANIZATION/REPOSITORY`{% endif %} 1. Navigate to the project board that contains the cards you want to filter. diff --git a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/index.md b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/index.md index c46ca411bd..ec3483f2c4 100644 --- a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/index.md +++ b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/index.md @@ -1,11 +1,11 @@ --- title: Tracking progress on your project board shortTitle: Tracking projects -intro: 'Learn how to track your work on project boards' +intro: Learn how to track your work on project boards versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Issues - Projects diff --git a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/tracking-progress-on-your-project-board.md b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/tracking-progress-on-your-project-board.md index efbe05cdd4..ddc2b24f1a 100644 --- a/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/tracking-progress-on-your-project-board.md +++ b/content/issues/organizing-your-work-with-project-boards/tracking-work-with-project-boards/tracking-progress-on-your-project-board.md @@ -6,9 +6,9 @@ redirect_from: - /articles/tracking-progress-on-your-project-board - /github/managing-your-work-on-github/tracking-progress-on-your-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/tracking-your-work-with-issues/about-issues.md b/content/issues/tracking-your-work-with-issues/about-issues.md index 3c8676a029..3ebd08760f 100644 --- a/content/issues/tracking-your-work-with-issues/about-issues.md +++ b/content/issues/tracking-your-work-with-issues/about-issues.md @@ -8,9 +8,9 @@ redirect_from: - /github/managing-your-work-on-github/about-issues - /issues/tracking-your-work-with-issues/creating-issues/about-issues versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues @@ -22,28 +22,28 @@ Issues let you track your work on {% data variables.product.company_short %}, wh ## Quickly create issues -Issues can be created in a variety of ways, so you can choose the most convenient method for your workflow. For example, you can create an issue from a repository,{% if currentVersion == "free-pro-team@latest" %} an item in a task list,{% endif %} a note in a project, a comment in an issue or pull request, a specific line of code, or a URL query. You can also create an issue from your platform of choice: through the web UI, {% data variables.product.prodname_desktop %}, {% data variables.product.prodname_cli %}, GraphQL and REST APIs, or {% data variables.product.prodname_mobile %}. For more information, see "[Creating an issue](/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue)." +Issues can be created in a variety of ways, so you can choose the most convenient method for your workflow. For example, you can create an issue from a repository,{% ifversion fpt %} an item in a task list,{% endif %} a note in a project, a comment in an issue or pull request, a specific line of code, or a URL query. You can also create an issue from your platform of choice: through the web UI, {% data variables.product.prodname_desktop %}, {% data variables.product.prodname_cli %}, GraphQL and REST APIs, or {% data variables.product.prodname_mobile %}. For more information, see "[Creating an issue](/issues/tracking-your-work-with-issues/creating-issues/creating-an-issue)." ## Track work -You can organize and prioritize issues with projects. {% if currentVersion == "free-pro-team@latest" %}To track issues as part of a larger issue, you can use task lists.{% endif %} To categorize related issues, you can use labels and milestones. +You can organize and prioritize issues with projects. {% ifversion fpt %}To track issues as part of a larger issue, you can use task lists.{% endif %} To categorize related issues, you can use labels and milestones. -For more information about projects, see {% if currentVersion == "free-pro-team@latest" %}"[About projects (beta)](/issues/trying-out-the-new-projects-experience/about-projects)" and {% endif %}"[Organizing your work with project boards](/issues/organizing-your-work-with-project-boards)." {% if currentVersion == "free-pro-team@latest" %}For more information about task lists, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." {% endif %}For more information about labels and milestones, see "[Using labels and milestones to track work](/issues/using-labels-and-milestones-to-track-work)." +For more information about projects, see {% ifversion fpt %}"[About projects (beta)](/issues/trying-out-the-new-projects-experience/about-projects)" and {% endif %}"[Organizing your work with project boards](/issues/organizing-your-work-with-project-boards)." {% ifversion fpt %}For more information about task lists, see "[About task lists](/issues/tracking-your-work-with-issues/creating-issues/about-task-lists)." {% endif %}For more information about labels and milestones, see "[Using labels and milestones to track work](/issues/using-labels-and-milestones-to-track-work)." ## Stay up to date -To stay updated on the most recent comments in an issue, you can subscribe to an issue to receive notifications about the latest comments. To quickly find links to recently updated issues you're subscribed to, visit your dashboard. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[About notifications](/github/receiving-notifications-about-activity-on-github/about-notifications){% endif %}" and "[About your personal dashboard](/articles/about-your-personal-dashboard)." +To stay updated on the most recent comments in an issue, you can subscribe to an issue to receive notifications about the latest comments. To quickly find links to recently updated issues you're subscribed to, visit your dashboard. For more information, see {% ifversion fpt or ghes or ghae %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[About notifications](/github/receiving-notifications-about-activity-on-github/about-notifications){% endif %}" and "[About your personal dashboard](/articles/about-your-personal-dashboard)." ## Community management -To help contributors open meaningful issues that provide the information that you need, you can use {% if currentVersion == "free-pro-team@latest" %}issue forms and {% endif %}issue templates. For more information, see "[Using templates to encourage useful issues and pull requests](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)." +To help contributors open meaningful issues that provide the information that you need, you can use {% ifversion fpt %}issue forms and {% endif %}issue templates. For more information, see "[Using templates to encourage useful issues and pull requests](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)." -{% if currentVersion == "free-pro-team@latest" %}To maintain a healthy community, you can report comments that violate {% data variables.product.prodname_dotcom %}'s [Community Guidelines](/articles/github-community-guidelines). For more information, see "[Reporting abuse or spam](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)."{% endif %} +{% ifversion fpt %}To maintain a healthy community, you can report comments that violate {% data variables.product.prodname_dotcom %}'s [Community Guidelines](/articles/github-community-guidelines). For more information, see "[Reporting abuse or spam](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)."{% endif %} ## Efficient communication You can @mention collaborators who have access to your repository in an issue to draw their attention to a comment. To link related issues in the same repository, you can type `#` followed by part of the issue title and then clicking the issue that you want to link. To communicate responsibility, you can assign issues. If you find yourself frequently typing the same comment, you can use saved replies. -{% if currentVersion == "free-pro-team@latest" %} For more information, see "[Basic writing and formatting syntax](/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)" and "[Assigning issues and pull requests to other GitHub users](/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users)." +{% ifversion fpt %} For more information, see "[Basic writing and formatting syntax](/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)" and "[Assigning issues and pull requests to other GitHub users](/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users)." ## Comparing issues and discussions diff --git a/content/issues/tracking-your-work-with-issues/about-task-lists.md b/content/issues/tracking-your-work-with-issues/about-task-lists.md index feb158cc43..d5f6316638 100644 --- a/content/issues/tracking-your-work-with-issues/about-task-lists.md +++ b/content/issues/tracking-your-work-with-issues/about-task-lists.md @@ -1,21 +1,21 @@ --- title: About task lists -intro: You can use task lists to break the work for an issue or pull request into smaller tasks, then track the full set of work to completion. +intro: 'You can use task lists to break the work for an issue or pull request into smaller tasks, then track the full set of work to completion.' redirect_from: - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/about-task-lists - /articles/about-task-lists - /github/managing-your-work-on-github/about-task-lists - /issues/tracking-your-work-with-issues/creating-issues/about-task-lists versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** Improved task lists are currently in beta and subject to change. @@ -27,9 +27,9 @@ topics: A task list is a set of tasks that each render on a separate line with a clickable checkbox. You can select or deselect the checkboxes to mark the tasks as complete or incomplete. -You can use Markdown to create a task list in any comment on {% data variables.product.product_name %}. {% if currentVersion == "free-pro-team@latest" %}If you reference an issue, pull request, or disussion in a task list, the reference will unfurl to show the title and state.{% endif %} +You can use Markdown to create a task list in any comment on {% data variables.product.product_name %}. {% ifversion fpt %}If you reference an issue, pull request, or disussion in a task list, the reference will unfurl to show the title and state.{% endif %} -{% if currentVersion != "free-pro-team@latest" %} +{% ifversion not fpt %} You can view task list summary information in issue and pull request lists, when the task list is in the initial comment. {% else %} diff --git a/content/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users.md b/content/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users.md index 7b8018330a..f898bb8505 100644 --- a/content/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users.md +++ b/content/issues/tracking-your-work-with-issues/assigning-issues-and-pull-requests-to-other-github-users.md @@ -7,9 +7,9 @@ redirect_from: - /github/managing-your-work-on-github/assigning-issues-and-pull-requests-to-other-github-users - /issues/tracking-your-work-with-issues/managing-issues/assigning-issues-and-pull-requests-to-other-github-users versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/tracking-your-work-with-issues/creating-an-issue.md b/content/issues/tracking-your-work-with-issues/creating-an-issue.md index b2ead4ac47..258c80a29c 100644 --- a/content/issues/tracking-your-work-with-issues/creating-an-issue.md +++ b/content/issues/tracking-your-work-with-issues/creating-an-issue.md @@ -19,9 +19,9 @@ redirect_from: - /github/managing-your-work-on-github/about-automation-for-issues-and-pull-requests-with-query-parameters - /issues/tracking-your-work-with-issues/creating-issues/creating-an-issue versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests - Issues @@ -34,7 +34,7 @@ Issues can be used to keep track of bugs, enhancements, or other requests. For m ## Creating an issue from a repository -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} {% tip %} **Tip**: You can also create an issue using the {% data variables.product.prodname_cli %}. For more information, see "[`gh issue create`](https://cli.github.com/manual/gh_issue_create)" in the {% data variables.product.prodname_cli %} documentation. @@ -92,7 +92,7 @@ You can open a new issue from a specific line or lines of code in a file or pull If you're using a project board to track and prioritize your work, you can convert project board notes to issues. For more information, see "[About project boards](/github/managing-your-work-on-github/about-project-boards)" and "[Adding notes to a project board](/github/managing-your-work-on-github/adding-notes-to-a-project-board#converting-a-note-to-an-issue)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Creating an issue from a task list item diff --git a/content/issues/tracking-your-work-with-issues/deleting-an-issue.md b/content/issues/tracking-your-work-with-issues/deleting-an-issue.md index ae5acf753c..3391d8ebfb 100644 --- a/content/issues/tracking-your-work-with-issues/deleting-an-issue.md +++ b/content/issues/tracking-your-work-with-issues/deleting-an-issue.md @@ -7,9 +7,9 @@ redirect_from: - /github/managing-your-work-on-github/deleting-an-issue - /issues/tracking-your-work-with-issues/creating-issues/deleting-an-issue versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/tracking-your-work-with-issues/index.md b/content/issues/tracking-your-work-with-issues/index.md index 00e2373ba6..433a89fb30 100644 --- a/content/issues/tracking-your-work-with-issues/index.md +++ b/content/issues/tracking-your-work-with-issues/index.md @@ -3,9 +3,9 @@ title: Tracking your work with issues shortTitle: Issues intro: 'Use {% data variables.product.prodname_github_issues %} to track ideas and work on {% data variables.product.prodname_dotcom %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Issues children: @@ -21,6 +21,7 @@ children: - /transferring-an-issue-to-another-repository - /deleting-an-issue redirect_from: -- /issues/tracking-your-work-with-issues/creating-issues -- /issues/tracking-your-work-with-issues/managing-issues + - /issues/tracking-your-work-with-issues/creating-issues + - /issues/tracking-your-work-with-issues/managing-issues --- + diff --git a/content/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue.md b/content/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue.md index 3a06d03022..19278f0419 100644 --- a/content/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue.md +++ b/content/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue.md @@ -10,9 +10,9 @@ redirect_from: - /github/managing-your-work-on-github/linking-a-pull-request-to-an-issue - /issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -24,7 +24,7 @@ topics: ## About linked issues and pull requests -You can link an issue to a pull request {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}manually or {% endif %}using a supported keyword in the pull request description. +You can link an issue to a pull request {% ifversion fpt or ghes or ghae %}manually or {% endif %}using a supported keyword in the pull request description. When you link a pull request to the issue the pull request addresses, collaborators can see that someone is working on the issue. @@ -52,12 +52,12 @@ Issue in the same repository | *KEYWORD* #*ISSUE-NUMBER* | `Closes #10` Issue in a different repository | *KEYWORD* *OWNER*/*REPOSITORY*#*ISSUE-NUMBER* | `Fixes octo-org/octo-repo#100` Multiple issues | Use full syntax for each issue | `Resolves #10, resolves #123, resolves octo-org/octo-repo#100` -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}Only manually linked pull requests can be manually unlinked. To unlink an issue that you linked using a keyword, you must edit the pull request description to remove the keyword.{% endif %} +{% ifversion fpt or ghes or ghae %}Only manually linked pull requests can be manually unlinked. To unlink an issue that you linked using a keyword, you must edit the pull request description to remove the keyword.{% endif %} You can also use closing keywords in a commit message. The issue will be closed when you merge the commit into the default branch, but the pull request that contains the commit will not be listed as a linked pull request. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} ## Manually linking a pull request to an issue Anyone with write permissions to a repository can manually link a pull request to an issue. diff --git a/content/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate.md b/content/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate.md index 9ab8e331c4..1f7569383f 100644 --- a/content/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate.md +++ b/content/issues/tracking-your-work-with-issues/marking-issues-or-pull-requests-as-a-duplicate.md @@ -7,9 +7,9 @@ redirect_from: - /github/managing-your-work-on-github/about-duplicate-issues-and-pull-requests - /issues/tracking-your-work-with-issues/managing-issues/marking-issues-or-pull-requests-as-a-duplicate versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository.md b/content/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository.md index a492706962..47fd28dc15 100644 --- a/content/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository.md +++ b/content/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository.md @@ -7,9 +7,9 @@ redirect_from: - /github/managing-your-work-on-github/pinning-an-issue-to-your-repository - /issues/tracking-your-work-with-issues/managing-issues/pinning-an-issue-to-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/tracking-your-work-with-issues/quickstart.md b/content/issues/tracking-your-work-with-issues/quickstart.md index 5c2c3db543..0db74abb70 100644 --- a/content/issues/tracking-your-work-with-issues/quickstart.md +++ b/content/issues/tracking-your-work-with-issues/quickstart.md @@ -4,9 +4,9 @@ intro: 'Follow this brief interactive guide to learn about {% data variables.pro allowTitleToDifferFromFilename: true miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' type: quick_start topics: - Issues @@ -28,7 +28,7 @@ First, create an issue. There are multiple ways to create an issue; you can choo {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} {% data reusables.repositories.new_issue %} -1. In this example, we will start with a blank issue. Your repository may use issue templates{% if currentVersion == "free-pro-team@latest"%} and issue forms{% endif %} to encourage contributors to provide specific information. If your repository uses issue templates, {% if currentVersion == "free-pro-team@latest" or currentVersion >= "enterprise-server@2.21" %}click **Open a blank issue**{% else %}click **Open a regular issue.**{% endif %}. +1. In this example, we will start with a blank issue. Your repository may use issue templates{% ifversion fpt %} and issue forms{% endif %} to encourage contributors to provide specific information. If your repository uses issue templates, {% ifversion fpt or ghes %}click **Open a blank issue**{% else %}click **Open a regular issue.**{% endif %}. ![blank issue](/assets/images/help/issues/blank-issue.png) @@ -70,7 +70,7 @@ To communicate responsibility, you can assign the issue to a member of your orga ## Adding the issue to a project -You can add the issue to an existing project. {% if currentVersion == "free-pro-team@latest" %}If you are using projects (beta), you can also populate metadata for the project. {% endif %} For more information about projects, see {% if currentVersion == "free-pro-team@latest" %}"[About projects (beta)](/issues/trying-out-the-new-projects-experience/about-projects)" and {% endif %}"[Organizing your work with project boards](/issues/organizing-your-work-with-project-boards)". +You can add the issue to an existing project. {% ifversion fpt %}If you are using projects (beta), you can also populate metadata for the project. {% endif %} For more information about projects, see {% ifversion fpt %}"[About projects (beta)](/issues/trying-out-the-new-projects-experience/about-projects)" and {% endif %}"[Organizing your work with project boards](/issues/organizing-your-work-with-project-boards)". ![issue with projects](/assets/images/help/issues/issue-project.png) @@ -96,5 +96,5 @@ You can use issues for a wide range of purposes. For example: Here are some helpful resources for taking your next steps with {% data variables.product.prodname_github_issues %}: - To learn more about issues, see "[About issues](/issues/tracking-your-work-with-issues/about-issues)." -- To learn more about how projects can help you with planning and tracking, see {% if currentVersion == "free-pro-team@latest" %}"[About projects (beta)](/issues/trying-out-the-new-projects-experience/about-projects)" or {% endif %}"[Organizing your work with project boards](/issues/organizing-your-work-with-project-boards)". -- To learn more about using issue templates{% if currentVersion == "free-pro-team@latest"%} and issue forms{% endif %} to encourage contributors to provide specific information, see "[Using templates to encourage useful issues and pull requests](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)." +- To learn more about how projects can help you with planning and tracking, see {% ifversion fpt %}"[About projects (beta)](/issues/trying-out-the-new-projects-experience/about-projects)" or {% endif %}"[Organizing your work with project boards](/issues/organizing-your-work-with-project-boards)". +- To learn more about using issue templates{% ifversion fpt %} and issue forms{% endif %} to encourage contributors to provide specific information, see "[Using templates to encourage useful issues and pull requests](/communities/using-templates-to-encourage-useful-issues-and-pull-requests)." diff --git a/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md b/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md index ac56d66e4e..bfcddcf86a 100644 --- a/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md +++ b/content/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository.md @@ -7,15 +7,15 @@ redirect_from: - /github/managing-your-work-on-github/transferring-an-issue-to-another-repository - /issues/tracking-your-work-with-issues/managing-issues/transferring-an-issue-to-another-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- To transfer an open issue to another repository, you must have write permissions on the repository the issue is in and the repository you're transferring the issue to. For more information, see "[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)." -You can only transfer issues between repositories owned by the same user or organization account. {% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %}You can't transfer an issue from a private repository to a public repository.{% endif %} +You can only transfer issues between repositories owned by the same user or organization account. {% ifversion fpt or ghes %}You can't transfer an issue from a private repository to a public repository.{% endif %} When you transfer an issue, comments and assignees are retained. The issue's labels and milestones are not retained. This issue will stay on any user-owned or organization-wide project boards and be removed from any repository project boards. For more information, see "[About project boards](/articles/about-project-boards)." diff --git a/content/issues/tracking-your-work-with-issues/viewing-all-of-your-issues-and-pull-requests.md b/content/issues/tracking-your-work-with-issues/viewing-all-of-your-issues-and-pull-requests.md index 9fd185b589..3d7ab7b36a 100644 --- a/content/issues/tracking-your-work-with-issues/viewing-all-of-your-issues-and-pull-requests.md +++ b/content/issues/tracking-your-work-with-issues/viewing-all-of-your-issues-and-pull-requests.md @@ -7,9 +7,9 @@ redirect_from: - /github/managing-your-work-on-github/viewing-all-of-your-issues-and-pull-requests - /issues/tracking-your-work-with-issues/managing-issues/viewing-all-of-your-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- @@ -22,4 +22,4 @@ Your issues and pull request dashboards are available at the top of any page. On ## Further reading -- {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}”[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions#reviewing-repositories-that-youre-watching){% else %}”[Listing the repositories you're watching](/github/receiving-notifications-about-activity-on-github/listing-the-repositories-youre-watching){% endif %}" +- {% ifversion fpt or ghes or ghae %}”[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions#reviewing-repositories-that-youre-watching){% else %}”[Listing the repositories you're watching](/github/receiving-notifications-about-activity-on-github/listing-the-repositories-youre-watching){% endif %}" diff --git a/content/issues/trying-out-the-new-projects-experience/about-projects.md b/content/issues/trying-out-the-new-projects-experience/about-projects.md index 5150c278ee..d96c0bbd57 100644 --- a/content/issues/trying-out-the-new-projects-experience/about-projects.md +++ b/content/issues/trying-out-the-new-projects-experience/about-projects.md @@ -4,7 +4,7 @@ intro: 'Projects are a customizable, flexible tool for planning and tracking wor allowTitleToDifferFromFilename: true miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Projects diff --git a/content/issues/trying-out-the-new-projects-experience/automating-projects.md b/content/issues/trying-out-the-new-projects-experience/automating-projects.md index 210a1066d8..73c1f86539 100644 --- a/content/issues/trying-out-the-new-projects-experience/automating-projects.md +++ b/content/issues/trying-out-the-new-projects-experience/automating-projects.md @@ -4,7 +4,7 @@ intro: 'You can use the API and {% data variables.product.prodname_actions %} to product: '{% data reusables.gated-features.actions %}' allowTitleToDifferFromFilename: true versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Projects diff --git a/content/issues/trying-out-the-new-projects-experience/best-practices-for-managing-projects.md b/content/issues/trying-out-the-new-projects-experience/best-practices-for-managing-projects.md index ba36b39fef..ab5e6204a4 100644 --- a/content/issues/trying-out-the-new-projects-experience/best-practices-for-managing-projects.md +++ b/content/issues/trying-out-the-new-projects-experience/best-practices-for-managing-projects.md @@ -4,7 +4,7 @@ intro: 'Learn tips for managing your projects on {% data variables.product.compa allowTitleToDifferFromFilename: true miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Projects diff --git a/content/issues/trying-out-the-new-projects-experience/creating-a-project.md b/content/issues/trying-out-the-new-projects-experience/creating-a-project.md index 5dd5491ca6..3e7c65eaaf 100644 --- a/content/issues/trying-out-the-new-projects-experience/creating-a-project.md +++ b/content/issues/trying-out-the-new-projects-experience/creating-a-project.md @@ -4,7 +4,7 @@ intro: 'Learn how to make a project, populate it, and add custom fields.' allowTitleToDifferFromFilename: true miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' type: quick_start topics: - Projects diff --git a/content/issues/trying-out-the-new-projects-experience/customizing-your-project-views.md b/content/issues/trying-out-the-new-projects-experience/customizing-your-project-views.md index 047580cad0..caeb420877 100644 --- a/content/issues/trying-out-the-new-projects-experience/customizing-your-project-views.md +++ b/content/issues/trying-out-the-new-projects-experience/customizing-your-project-views.md @@ -3,7 +3,7 @@ title: Customizing your project (beta) views intro: 'Display the information you need by changing the layout, grouping, sorting, and filters in your project.' allowTitleToDifferFromFilename: true versions: - free-pro-team: '*' + fpt: '*' type: reference topics: - Projects diff --git a/content/issues/trying-out-the-new-projects-experience/index.md b/content/issues/trying-out-the-new-projects-experience/index.md index 36b4929376..14b9d17e53 100644 --- a/content/issues/trying-out-the-new-projects-experience/index.md +++ b/content/issues/trying-out-the-new-projects-experience/index.md @@ -3,7 +3,7 @@ title: Trying out the new projects experience shortTitle: Projects (beta) intro: 'Build customized projects to track your work in {% data variables.product.company_short %}.' versions: - free-pro-team: '*' + fpt: '*' topics: - Issues - Projects @@ -16,3 +16,4 @@ children: - /automating-projects - /best-practices-for-managing-projects --- + diff --git a/content/issues/trying-out-the-new-projects-experience/quickstart.md b/content/issues/trying-out-the-new-projects-experience/quickstart.md index 083c336751..caf6118b0d 100644 --- a/content/issues/trying-out-the-new-projects-experience/quickstart.md +++ b/content/issues/trying-out-the-new-projects-experience/quickstart.md @@ -4,7 +4,7 @@ intro: 'Experience the speed, flexibility, and customization of projects (beta) allowTitleToDifferFromFilename: true miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' type: quick_start topics: - Projects diff --git a/content/issues/trying-out-the-new-projects-experience/using-the-api-to-manage-projects.md b/content/issues/trying-out-the-new-projects-experience/using-the-api-to-manage-projects.md index 5124d74ca7..cf6cb8046b 100644 --- a/content/issues/trying-out-the-new-projects-experience/using-the-api-to-manage-projects.md +++ b/content/issues/trying-out-the-new-projects-experience/using-the-api-to-manage-projects.md @@ -1,8 +1,8 @@ --- -title: Using the API to manage projects (beta) -intro: 'You can use the GraphQL API to find information about projects and to update projects.' +title: Using the API to manage projects (beta) +intro: You can use the GraphQL API to find information about projects and to update projects. versions: - free-pro-team: '*' + fpt: '*' miniTocMaxHeadingLevel: 3 allowTitleToDifferFromFilename: true type: how_to diff --git a/content/issues/using-labels-and-milestones-to-track-work/about-milestones.md b/content/issues/using-labels-and-milestones-to-track-work/about-milestones.md index 79220af0c1..713d8127ec 100644 --- a/content/issues/using-labels-and-milestones-to-track-work/about-milestones.md +++ b/content/issues/using-labels-and-milestones-to-track-work/about-milestones.md @@ -6,9 +6,9 @@ redirect_from: - /articles/about-milestones - /github/managing-your-work-on-github/about-milestones versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests.md b/content/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests.md index 3d8b08490b..700877a210 100644 --- a/content/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests.md +++ b/content/issues/using-labels-and-milestones-to-track-work/associating-milestones-with-issues-and-pull-requests.md @@ -6,9 +6,9 @@ redirect_from: - /articles/associating-milestones-with-issues-and-pull-requests - /github/managing-your-work-on-github/associating-milestones-with-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md b/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md index 495dce4862..0cd63a7054 100644 --- a/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md +++ b/content/issues/using-labels-and-milestones-to-track-work/creating-and-editing-milestones-for-issues-and-pull-requests.md @@ -7,9 +7,9 @@ redirect_from: - /articles/creating-and-editing-milestones-for-issues-and-pull-requests - /github/managing-your-work-on-github/creating-and-editing-milestones-for-issues-and-pull-requests versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md b/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md index 63ce2ce3f6..543fcc0d20 100644 --- a/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md +++ b/content/issues/using-labels-and-milestones-to-track-work/filtering-issues-and-pull-requests-by-milestone.md @@ -6,9 +6,9 @@ redirect_from: - /articles/filtering-issues-and-pull-requests-by-milestone - /github/managing-your-work-on-github/filtering-issues-and-pull-requests-by-milestone versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/issues/using-labels-and-milestones-to-track-work/index.md b/content/issues/using-labels-and-milestones-to-track-work/index.md index 62ba9e132d..68bcdf2158 100644 --- a/content/issues/using-labels-and-milestones-to-track-work/index.md +++ b/content/issues/using-labels-and-milestones-to-track-work/index.md @@ -3,9 +3,9 @@ title: Using labels and milestones to track work shortTitle: Labels and milestones intro: 'Use labels and milestones to categorize and track work on {% data variables.product.prodname_dotcom %}.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Issues children: diff --git a/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md b/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md index 9b65b4824d..14c007907c 100644 --- a/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md +++ b/content/issues/using-labels-and-milestones-to-track-work/managing-labels.md @@ -1,6 +1,6 @@ --- title: Managing labels -intro: 'You can classify {% if currentVersion == "free-pro-team@latest" %}issues, pull requests, and discussions{% else %}issues and pull requests{% endif %} by creating, editing, applying, and deleting labels.' +intro: 'You can classify {% ifversion fpt %}issues, pull requests, and discussions{% else %}issues and pull requests{% endif %} by creating, editing, applying, and deleting labels.' redirect_from: - /github/managing-your-work-on-github/managing-your-work-with-issues-and-pull-requests/managing-labels - /articles/managing-Labels @@ -20,15 +20,15 @@ redirect_from: - /github/managing-your-work-on-github/deleting-a-label - /github/managing-your-work-on-github/managing-labels versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- ## About labels -You can manage your work on {% data variables.product.product_name %} by creating labels to categorize {% if currentVersion == "free-pro-team@latest" %}issues, pull requests, and discussions{% else %}issues and pull requests{% endif %}. You can apply labels in the repository the label was created in. Once a label exists, you can use the label on any {% if currentVersion == "free-pro-team@latest" %}issue, pull request, or discussion{% else %}issue or pull request{% endif %} within that repository. +You can manage your work on {% data variables.product.product_name %} by creating labels to categorize {% ifversion fpt %}issues, pull requests, and discussions{% else %}issues and pull requests{% endif %}. You can apply labels in the repository the label was created in. Once a label exists, you can use the label on any {% ifversion fpt %}issue, pull request, or discussion{% else %}issue or pull request{% endif %} within that repository. Anyone with read access to a repository can view and search the repository’s labels. Anyone with triage access to a repository can apply/dismiss existing labels. To create, edit, apply, or delete a label, you must have write access to the repository. @@ -38,21 +38,21 @@ Anyone with read access to a repository can view and search the repository’s l Label | Description --- | --- -`bug` | Indicates an unexpected problem or unintended behavior{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.17" %} +`bug` | Indicates an unexpected problem or unintended behavior{% ifversion fpt or ghes %} `documentation` | Indicates a need for improvements or additions to documentation{% endif %} -`duplicate` | Indicates similar {% if currentVersion == "free-pro-team@latest" %}issues, pull requests, or discussions{% else %}issues or pull requests{% endif %} +`duplicate` | Indicates similar {% ifversion fpt %}issues, pull requests, or discussions{% else %}issues or pull requests{% endif %} `enhancement` | Indicates new feature requests `good first issue` | Indicates a good issue for first-time contributors `help wanted` | Indicates that a maintainer wants help on an issue or pull request -`invalid` | Indicates that an {% if currentVersion == "free-pro-team@latest" %}issue, pull request, or discussion{% else %}issue or pull request{% endif %} is no longer relevant -`question` | Indicates that an {% if currentVersion == "free-pro-team@latest" %}issue, pull request, or discussion{% else %}issue or pull request{% endif %} needs more information -`wontfix` | Indicates that work won't continue on an {% if currentVersion == "free-pro-team@latest" %}issue, pull request, or discussion{% else %}issue or pull request{% endif %} +`invalid` | Indicates that an {% ifversion fpt %}issue, pull request, or discussion{% else %}issue or pull request{% endif %} is no longer relevant +`question` | Indicates that an {% ifversion fpt %}issue, pull request, or discussion{% else %}issue or pull request{% endif %} needs more information +`wontfix` | Indicates that work won't continue on an {% ifversion fpt %}issue, pull request, or discussion{% else %}issue or pull request{% endif %} Default labels are included in every new repository when the repository is created, but you can edit or delete the labels later. Issues with the `good first issue` label are used to populate the repository's `contribute` page. For an example of a `contribute` page, see [github/docs/contribute](https://github.com/github/docs/contribute). -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" %} +{% ifversion fpt or ghes %} Organization owners can customize the default labels for repositories in their organization. For more information, see "[Managing default labels for repositories in your organization](/articles/managing-default-labels-for-repositories-in-your-organization)." {% endif %} @@ -69,7 +69,7 @@ Organization owners can customize the default labels for repositories in their o ## Applying a label -1. Navigate to the {% if currentVersion == "free-pro-team@latest" %}issue, pull request, or discussion{% else %}issue or pull request{% endif %}. +1. Navigate to the {% ifversion fpt %}issue, pull request, or discussion{% else %}issue or pull request{% endif %}. 1. In the right sidebar, to the right of "Labels", click {% octicon "gear" aria-label="The gear icon" %}, then click a label. !["Labels" drop-down menu](/assets/images/help/issues/labels-drop-down.png) @@ -94,6 +94,6 @@ Deleting a label will remove the label from issues and pull requests. {% data reusables.project-management.delete-label %} ## Further reading -- "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)"{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} -- "[Managing default labels for repositories in your organization](/articles/managing-default-labels-for-repositories-in-your-organization)"{% endif %}{% if currentVersion == "free-pro-team@latest" %} +- "[Filtering issues and pull requests by labels](/articles/filtering-issues-and-pull-requests-by-labels)"{% ifversion fpt or ghes %} +- "[Managing default labels for repositories in your organization](/articles/managing-default-labels-for-repositories-in-your-organization)"{% endif %}{% ifversion fpt %} - "[Encouraging helpful contributions to your project with labels](/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels)"{% endif %} diff --git a/content/issues/using-labels-and-milestones-to-track-work/viewing-your-milestones-progress.md b/content/issues/using-labels-and-milestones-to-track-work/viewing-your-milestones-progress.md index f2b3260329..08b56f207b 100644 --- a/content/issues/using-labels-and-milestones-to-track-work/viewing-your-milestones-progress.md +++ b/content/issues/using-labels-and-milestones-to-track-work/viewing-your-milestones-progress.md @@ -7,9 +7,9 @@ redirect_from: - /articles/viewing-your-milestones-progress - /github/managing-your-work-on-github/viewing-your-milestones-progress versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md b/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md index 68026d2084..1483ce25cd 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md +++ b/content/organizations/collaborating-with-groups-in-organizations/about-organizations.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-organizations - /github/setting-up-and-managing-organizations-and-teams/about-organizations versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -15,7 +15,7 @@ topics: {% data reusables.organizations.organizations_include %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Organizations and enterprise accounts Enterprise accounts allow owners to centrally manage policy and billing for multiple {% data variables.product.prodname_dotcom_the_website %} organizations. diff --git a/content/organizations/collaborating-with-groups-in-organizations/about-your-organization-dashboard.md b/content/organizations/collaborating-with-groups-in-organizations/about-your-organization-dashboard.md index 450e5f17ed..d8d0b27944 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/about-your-organization-dashboard.md +++ b/content/organizations/collaborating-with-groups-in-organizations/about-your-organization-dashboard.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-your-organization-dashboard - /github/setting-up-and-managing-organizations-and-teams/about-your-organization-dashboard versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -33,7 +33,7 @@ In the left sidebar of your dashboard, you can access your organization's top re In the "All activity" section of your news feed, you can view updates from other teams and repositories in your organization. -The "All activity" section shows all recent activity in the organization, including activity in repositories you're not subscribed to and of people you're not following. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[Watching and unwatching repositories](/github/receiving-notifications-about-activity-on-github/watching-and-unwatching-repositories){% endif %}" and "[Following people](/articles/following-people)." +The "All activity" section shows all recent activity in the organization, including activity in repositories you're not subscribed to and of people you're not following. For more information, see {% ifversion fpt or ghes or ghae %}"[About notifications](/github/managing-subscriptions-and-notifications-on-github/about-notifications){% else %}"[Watching and unwatching repositories](/github/receiving-notifications-about-activity-on-github/watching-and-unwatching-repositories){% endif %}" and "[Following people](/articles/following-people)." For instance, the organization news feed shows updates when someone in the organization: - Creates a new branch. @@ -41,7 +41,7 @@ For instance, the organization news feed shows updates when someone in the organ - Submits a pull request review comment. - Forks a repository. - Creates a wiki page. - - Pushes commits.{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} + - Pushes commits.{% ifversion fpt or ghes %} - Creates a public repository.{% endif %} ## Further information diff --git a/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md b/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md index 4525571b11..2fac664906 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md +++ b/content/organizations/collaborating-with-groups-in-organizations/about-your-organizations-news-feed.md @@ -7,9 +7,9 @@ redirect_from: - /articles/about-your-organizations-news-feed - /github/setting-up-and-managing-organizations-and-teams/about-your-organizations-news-feed versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -23,6 +23,6 @@ An organization's news feed shows other people's activity on repositories owned 2. Open your {% data reusables.user_settings.personal_dashboard %}. 3. Click the account context switcher in the upper-left corner of the page. ![Context switcher button in Enterprise](/assets/images/help/organizations/account_context_switcher.png) -4. Select an organization from the drop-down menu.{% if currentVersion == "free-pro-team@latest" %} +4. Select an organization from the drop-down menu.{% ifversion fpt %} ![Context switcher menu in dotcom](/assets/images/help/organizations/account-context-switcher-selected-dotcom.png){% else %} ![Context switcher menu in Enterprise](/assets/images/help/organizations/account_context_switcher.png){% endif %} diff --git a/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md b/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md index 457201dc57..a42d2d9477 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md +++ b/content/organizations/collaborating-with-groups-in-organizations/accessing-your-organizations-settings.md @@ -11,14 +11,14 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/accessing-your-organizations-settings intro: 'The organization account settings page provides several ways to manage the account, such as billing, team membership, and repository settings.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% tip %} diff --git a/content/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch.md b/content/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch.md index 795d70b9bf..2bc6062586 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch.md +++ b/content/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch.md @@ -2,9 +2,9 @@ title: Creating a new organization from scratch intro: Create an organization to apply fine-grained access permissions to repositories. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' redirect_from: - /articles/creating-a-new-organization-from-scratch - /admin/user-management/creating-organizations @@ -19,10 +19,10 @@ When you create a new organization from scratch, it doesn't have any repositorie {% data reusables.user_settings.access_settings %} {% data reusables.user_settings.organizations %} {% data reusables.organizations.new-organization %} -4. Follow the prompts to create your organization. {% if currentVersion == "free-pro-team@latest" %}For more information about the plans available for your team, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)."{% endif %} +4. Follow the prompts to create your organization. {% ifversion fpt %}For more information about the plans available for your team, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)."{% endif %} ## Further reading -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - "[Setting your billing email](/articles/setting-your-billing-email)"{% endif %} - "[About organizations](/articles/about-organizations)" diff --git a/content/organizations/collaborating-with-groups-in-organizations/index.md b/content/organizations/collaborating-with-groups-in-organizations/index.md index f40be65fcf..04eebed754 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/index.md +++ b/content/organizations/collaborating-with-groups-in-organizations/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/collaborating-with-groups-in-organizations - /github/setting-up-and-managing-organizations-and-teams/collaborating-with-groups-in-organizations versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization.md b/content/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization.md index f010442701..f697a38f4e 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization.md +++ b/content/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/viewing-insights-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/viewing-insights-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/collaborating-with-your-team/about-team-discussions.md b/content/organizations/collaborating-with-your-team/about-team-discussions.md index 51143da35c..fa6ea92a28 100644 --- a/content/organizations/collaborating-with-your-team/about-team-discussions.md +++ b/content/organizations/collaborating-with-your-team/about-team-discussions.md @@ -6,9 +6,9 @@ redirect_from: - /github/building-a-strong-community/about-team-discussions - /github/setting-up-and-managing-organizations-and-teams/about-team-discussions versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- @@ -31,7 +31,7 @@ When someone posts or replies to a public discussion on a team's page, members o {% tip %} -**Tip:** Depending on your notification settings, you'll receive updates by email, the web notifications page on {% data variables.product.product_name %}, or both. For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications){% else %}"[About email notifications](/github/receiving-notifications-about-activity-on-github/about-email-notifications)" and "[About web notifications](/github/receiving-notifications-about-activity-on-github/about-web-notifications){% endif %}." +**Tip:** Depending on your notification settings, you'll receive updates by email, the web notifications page on {% data variables.product.product_name %}, or both. For more information, see {% ifversion fpt or ghae or ghes %}"[Configuring notifications](/github/managing-subscriptions-and-notifications-on-github/configuring-notifications){% else %}"[About email notifications](/github/receiving-notifications-about-activity-on-github/about-email-notifications)" and "[About web notifications](/github/receiving-notifications-about-activity-on-github/about-web-notifications){% endif %}." {% endtip %} @@ -39,7 +39,7 @@ By default, if your username is mentioned in a team discussion, you'll receive n To turn off notifications for team discussions, you can unsubscribe to a specific discussion post or change your notification settings to unwatch or completely ignore a specific team's discussions. You can subscribe to notifications for a specific discussion post even if you're unwatching that team's discussions. -For more information, see {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.20" %}"[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions){% else %}"[Subscribing to and unsubscribing from notifications](/github/receiving-notifications-about-activity-on-github/subscribing-to-and-unsubscribing-from-notifications){% endif %}" and "[Nested teams](/articles/about-teams/#nested-teams)." +For more information, see {% ifversion fpt or ghae or ghes %}"[Viewing your subscriptions](/github/managing-subscriptions-and-notifications-on-github/viewing-your-subscriptions){% else %}"[Subscribing to and unsubscribing from notifications](/github/receiving-notifications-about-activity-on-github/subscribing-to-and-unsubscribing-from-notifications){% endif %}" and "[Nested teams](/articles/about-teams/#nested-teams)." ## Further reading diff --git a/content/organizations/collaborating-with-your-team/creating-a-team-discussion.md b/content/organizations/collaborating-with-your-team/creating-a-team-discussion.md index 6ab8e24377..eac2e71c45 100644 --- a/content/organizations/collaborating-with-your-team/creating-a-team-discussion.md +++ b/content/organizations/collaborating-with-your-team/creating-a-team-discussion.md @@ -6,9 +6,9 @@ redirect_from: - /github/building-a-strong-community/creating-a-team-discussion - /github/setting-up-and-managing-organizations-and-teams/creating-a-team-discussion versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion.md b/content/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion.md index bb6871d98d..633759c622 100644 --- a/content/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion.md +++ b/content/organizations/collaborating-with-your-team/editing-or-deleting-a-team-discussion.md @@ -6,9 +6,9 @@ redirect_from: - /github/building-a-strong-community/editing-or-deleting-a-team-discussion - /github/setting-up-and-managing-organizations-and-teams/editing-or-deleting-a-team-discussion versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/organizations/collaborating-with-your-team/index.md b/content/organizations/collaborating-with-your-team/index.md index f7d5caf5a0..a00896a89a 100644 --- a/content/organizations/collaborating-with-your-team/index.md +++ b/content/organizations/collaborating-with-your-team/index.md @@ -6,9 +6,9 @@ redirect_from: - /github/building-a-strong-community/collaborating-with-your-team - /github/setting-up-and-managing-organizations-and-teams/collaborating-with-your-team versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community children: diff --git a/content/organizations/collaborating-with-your-team/pinning-a-team-discussion.md b/content/organizations/collaborating-with-your-team/pinning-a-team-discussion.md index fef98832d4..e729f42b79 100644 --- a/content/organizations/collaborating-with-your-team/pinning-a-team-discussion.md +++ b/content/organizations/collaborating-with-your-team/pinning-a-team-discussion.md @@ -6,9 +6,9 @@ redirect_from: - /github/building-a-strong-community/pinning-a-team-discussion - /github/setting-up-and-managing-organizations-and-teams/pinning-a-team-discussion versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Community --- diff --git a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md index 1e4e7a023e..9ec0d0472d 100644 --- a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md +++ b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/about-two-factor-authentication-and-saml-single-sign-on.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-two-factor-authentication-and-saml-single-sign-on - /github/setting-up-and-managing-organizations-and-teams/about-two-factor-authentication-and-saml-single-sign-on versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/index.md b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/index.md index d9f40af32d..101a522d33 100644 --- a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/index.md +++ b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/index.md @@ -5,7 +5,7 @@ redirect_from: - /articles/granting-access-to-your-organization-with-saml-single-sign-on - /github/setting-up-and-managing-organizations-and-teams/granting-access-to-your-organization-with-saml-single-sign-on versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/managing-bots-and-service-accounts-with-saml-single-sign-on.md b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/managing-bots-and-service-accounts-with-saml-single-sign-on.md index c2b40e95ab..5090e7f63e 100644 --- a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/managing-bots-and-service-accounts-with-saml-single-sign-on.md +++ b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/managing-bots-and-service-accounts-with-saml-single-sign-on.md @@ -6,7 +6,7 @@ redirect_from: - /articles/managing-bots-and-service-accounts-with-saml-single-sign-on - /github/setting-up-and-managing-organizations-and-teams/managing-bots-and-service-accounts-with-saml-single-sign-on versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md index 3c7bfccdf8..d524fed0cc 100644 --- a/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md +++ b/content/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization.md @@ -8,7 +8,7 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/viewing-and-revoking-organization-members-authorized-access-tokens - /github/setting-up-and-managing-organizations-and-teams/viewing-and-managing-a-members-saml-access-to-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/index.md b/content/organizations/index.md index b17f337e5e..413ff1602b 100644 --- a/content/organizations/index.md +++ b/content/organizations/index.md @@ -7,9 +7,9 @@ redirect_from: - /categories/setting-up-and-managing-organizations-and-teams - /github/setting-up-and-managing-organizations-and-teams versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/keeping-your-organization-secure/index.md b/content/organizations/keeping-your-organization-secure/index.md index 84eb3dea13..fc373555e0 100644 --- a/content/organizations/keeping-your-organization-secure/index.md +++ b/content/organizations/keeping-your-organization-secure/index.md @@ -1,14 +1,14 @@ --- title: Keeping your organization secure -intro: 'Organization owners have several features to help them keep their projects and data secure. If you''re the owner of an organization, you should regularly review your organization''s audit log{% if currentVersion != "github-ae@latest" %}, member 2FA status,{% endif %} and application settings to ensure that no unauthorized or malicious activity has occurred.' +intro: 'Organization owners have several features to help them keep their projects and data secure. If you''re the owner of an organization, you should regularly review your organization''s audit log{% ifversion not ghae %}, member 2FA status,{% endif %} and application settings to ensure that no unauthorized or malicious activity has occurred.' redirect_from: - /articles/preventing-unauthorized-access-to-organization-information/ - /articles/keeping-your-organization-secure - /github/setting-up-and-managing-organizations-and-teams/keeping-your-organization-secure versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization.md b/content/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization.md index 32f880d034..95331904f6 100644 --- a/content/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization.md @@ -5,8 +5,8 @@ product: '{% data reusables.gated-features.allowed-ip-addresses %}' redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-allowed-ip-addresses-for-your-organization versions: - free-pro-team: '*' - github-ae: '*' + fpt: '*' + ghae: '*' topics: - Organizations - Teams @@ -24,7 +24,7 @@ You can restrict access to organization assets by configuring an allow list for If you set up an allow list you can also choose to automatically add to your allow list any IP addresses configured for {% data variables.product.prodname_github_apps %} that you install in your organization. The creator of a {% data variables.product.prodname_github_app %} can configure an allow list for their application, specifying the IP addresses at which the application runs. By inheriting their allow list into yours, you avoid connection requests from the application being refused. For more information, see "[Allowing access by {% data variables.product.prodname_github_apps %}](#allowing-access-by-github-apps)." -You can also configure allowed IP addresses for the organizations in an enterprise account. For more information, see {% if currentVersion == "github-ae@latest" %}"[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)." {% else %}"[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account#managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account)."{% endif %} +You can also configure allowed IP addresses for the organizations in an enterprise account. For more information, see {% ifversion ghae %}"[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)." {% else %}"[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account#managing-allowed-ip-addresses-for-organizations-in-your-enterprise-account)."{% endif %} ## Adding an allowed IP address @@ -81,7 +81,7 @@ For more information about how to create an allow list for a {% data variables.p ## Using {% data variables.product.prodname_actions %} with an IP allow list -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% data reusables.github-actions.ip-allow-list-hosted-runners %} diff --git a/content/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization.md b/content/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization.md index 4b160cd578..c5b40ed09e 100644 --- a/content/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization.md @@ -6,9 +6,9 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-secret-scanning-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/managing-security-and-analysis-settings-for-your-organization versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Organizations - Teams @@ -16,7 +16,7 @@ topics: ## About management of security and analysis settings -{% data variables.product.prodname_dotcom %} can help secure the repositories in your organization. You can manage the security and analysis features for all existing or new repositories that members create in your organization. {% if currentVersion == "free-pro-team@latest" %}If you have a license for {% data variables.product.prodname_GH_advanced_security %} then you can also manage access to these features. {% data reusables.advanced-security.more-info-ghas %}{% endif %} +{% data variables.product.prodname_dotcom %} can help secure the repositories in your organization. You can manage the security and analysis features for all existing or new repositories that members create in your organization. {% ifversion fpt %}If you have a license for {% data variables.product.prodname_GH_advanced_security %} then you can also manage access to these features. {% data reusables.advanced-security.more-info-ghas %}{% endif %} {% data reusables.security.some-security-and-analysis-features-are-enabled-by-default %} {% data reusables.security.security-and-analysis-features-enable-read-only %} @@ -29,15 +29,15 @@ topics: The page that's displayed allows you to enable or disable all security and analysis features for the repositories in your organization. -{% if currentVersion == "free-pro-team@latest" %}If your organization belongs to an enterprise with a license for {% data variables.product.prodname_GH_advanced_security %}, the page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features. Any repositories that use {% data variables.product.prodname_GH_advanced_security %} are listed at the bottom of the page.{% endif %} +{% ifversion fpt %}If your organization belongs to an enterprise with a license for {% data variables.product.prodname_GH_advanced_security %}, the page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features. Any repositories that use {% data variables.product.prodname_GH_advanced_security %} are listed at the bottom of the page.{% endif %} -{% if currentVersion ver_gt "enterprise-server@3.0" %}If you have a license for {% data variables.product.prodname_GH_advanced_security %}, the page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features. Any repositories that use {% data variables.product.prodname_GH_advanced_security %} are listed at the bottom of the page.{% endif %} +{% ifversion ghes > 3.0 %}If you have a license for {% data variables.product.prodname_GH_advanced_security %}, the page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features. Any repositories that use {% data variables.product.prodname_GH_advanced_security %} are listed at the bottom of the page.{% endif %} -{% if currentVersion == "github-ae@latest" %}The page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features.{% endif %} +{% ifversion ghae %}The page will also contain options to enable and disable {% data variables.product.prodname_advanced_security %} features.{% endif %} ## Enabling or disabling a feature for all existing repositories -You can enable or disable features for all repositories. {% if currentVersion == "free-pro-team@latest" %}The impact of your changes on repositories in your organization is determined by their visibility: +You can enable or disable features for all repositories. {% ifversion fpt %}The impact of your changes on repositories in your organization is determined by their visibility: - **Dependency graph** - Your changes affect only private repositories because the feature is always enabled for public repositories. - **{% data variables.product.prodname_dependabot_alerts %}** - Your changes affect all repositories. @@ -48,38 +48,38 @@ You can enable or disable features for all repositories. {% if currentVersion == {% data reusables.advanced-security.note-org-enable-uses-seats %} 1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." -2. Under "Configure security and analysis features", to the right of the feature, click **Disable all** or **Enable all**. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}The control for "{% data variables.product.prodname_GH_advanced_security %}" is disabled if you have no available seats in your {% data variables.product.prodname_GH_advanced_security %} license.{% endif %} - {% if currentVersion == "free-pro-team@latest" %} +2. Under "Configure security and analysis features", to the right of the feature, click **Disable all** or **Enable all**. {% ifversion fpt or ghes > 3.0 %}The control for "{% data variables.product.prodname_GH_advanced_security %}" is disabled if you have no available seats in your {% data variables.product.prodname_GH_advanced_security %} license.{% endif %} + {% ifversion fpt %} !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/help/organizations/security-and-analysis-disable-or-enable-all-ghas-dotcom.png) {% endif %} - {% if currentVersion ver_gt "enterprise-server@3.0" %} + {% ifversion ghes > 3.0 %} !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/enterprise/3.1/help/organizations/security-and-analysis-disable-or-enable-all-ghas.png) {% endif %} - {% if currentVersion == "enterprise-server@3.0" %} + {% ifversion ghes = 3.0 %} !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/enterprise/3.0/organizations/security-and-analysis-disable-or-enable-all-ghas.png) {% endif %} - {% if currentVersion == "github-ae@latest" %} + {% ifversion ghae %} !["Enable all" or "Disable all" button for "Configure security and analysis" features](/assets/images/enterprise/github-ae/organizations/security-and-analysis-disable-or-enable-all-ghae.png) {% endif %} - {% if currentVersion == "free-pro-team@latest" or currentVersion == "enterprise-server@3.0" %} + {% ifversion fpt or ghes = 3.0 %} 3. Optionally, enable the feature by default for new repositories in your organization. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} !["Enable by default" option for new repositories](/assets/images/help/organizations/security-and-analysis-enable-by-default-in-modal.png) {% endif %} - {% if currentVersion == "enterprise-server@3.0" %} + {% ifversion ghes = 3.0 %} !["Enable by default" option for new repositories](/assets/images/enterprise/3.0/organizations/security-and-analysis-secret-scanning-enable-by-default.png) {% endif %} {% endif %} - {% if currentVersion == "free-pro-team@latest" or currentVersion == "enterprise-server@3.0" %} + {% ifversion fpt or ghes = 3.0 %} 4. Click **Disable FEATURE** or **Enable FEATURE** to disable or enable the feature for all the repositories in your organization. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} ![Button to disable or enable feature](/assets/images/help/organizations/security-and-analysis-enable-dependency-graph.png) {% endif %} - {% if currentVersion == "enterprise-server@3.0" %} + {% ifversion ghes = 3.0 %} ![Button to disable or enable feature](/assets/images/enterprise/3.0/organizations/security-and-analysis-enable-secret-scanning.png) {% endif %} {% endif %} - {% if currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@3.0" %} + {% ifversion ghae or ghes > 3.0 %} 3. Click **Enable/Disable all** or **Enable/Disable for eligible repositories** to confirm the change. ![Button to enable feature for all the eligible repositories in the organization](/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-secret-scanning-existing-repos-ghae.png) {% endif %} @@ -89,21 +89,21 @@ You can enable or disable features for all repositories. {% if currentVersion == ## Enabling or disabling a feature automatically when new repositories are added 1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." -2. Under "Configure security and analysis features", to the right of the feature, enable or disable the feature by default for new repositories{% if currentVersion == "free-pro-team@latest" %}, or all new private repositories,{% endif %} in your organization. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +2. Under "Configure security and analysis features", to the right of the feature, enable or disable the feature by default for new repositories{% ifversion fpt %}, or all new private repositories,{% endif %} in your organization. + {% ifversion fpt or ghes > 3.1 %} ![Checkbox for enabling or disabling a feature for new repositories](/assets/images/help/organizations/security-and-analysis-enable-or-disable-feature-checkbox-dotcom.png) {% endif %} - {% if currentVersion == "enterprise-server@3.1" %} + {% ifversion ghes = 3.1 %} ![Checkbox for enabling or disabling a feature for new repositories](/assets/images/enterprise/3.1/help/organizations/security-and-analysis-enable-or-disable-feature-checkbox.png) {% endif %} - {% if currentVersion == "enterprise-server@3.0" %} + {% ifversion ghes = 3.0 %} ![Checkbox for enabling or disabling a feature for new repositories](/assets/images/enterprise/3.0/organizations/security-and-analysis-enable-or-disable-secret-scanning-checkbox.png) {% endif %} - {% if currentVersion == "github-ae@latest" %} + {% ifversion ghae %} ![Checkbox for enabling or disabling a feature for new repositories](/assets/images/enterprise/github-ae/organizations/security-and-analysis-enable-or-disable-secret-scanning-checkbox-ghae.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Allowing {% data variables.product.prodname_dependabot %} to access private dependencies @@ -126,7 +126,7 @@ To allow {% data variables.product.prodname_dependabot %} to access a private {% !["X" button to remove a repository](/assets/images/help/organizations/dependabot-private-repository-list.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} ## Removing access to {% data variables.product.prodname_GH_advanced_security %} from individual repositories in an organization @@ -135,7 +135,7 @@ You can manage access to {% data variables.product.prodname_GH_advanced_security 1. Go to the security and analysis settings for your organization. For more information, see "[Displaying the security and analysis settings](#displaying-the-security-and-analysis-settings)." 1. To see a list of all the repositories in your organization with {% data variables.product.prodname_GH_advanced_security %} enabled, scroll to the "{% data variables.product.prodname_GH_advanced_security %} repositories" section. ![{% data variables.product.prodname_GH_advanced_security %} repositories section](/assets/images/help/organizations/settings-security-analysis-ghas-repos-list.png) - The table lists the number of unique committers for each repository. This is the number of seats you could free up on your license by removing access to {% data variables.product.prodname_GH_advanced_security %}. {% if currentVersion == "free-pro-team@latest" %}For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security)."{% else %}For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)."{% endif %} + The table lists the number of unique committers for each repository. This is the number of seats you could free up on your license by removing access to {% data variables.product.prodname_GH_advanced_security %}. {% ifversion fpt %}For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security)."{% else %}For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/admin/advanced-security/about-licensing-for-github-advanced-security)."{% endif %} 1. To remove access to {% data variables.product.prodname_GH_advanced_security %} from a repository and free up seats used by any committers that are unique to the repository, click the adjacent {% octicon "x" aria-label="X symbol" %}. 1. In the confirmation dialog, click **Remove repository** to remove access to the features of {% data variables.product.prodname_GH_advanced_security %}. @@ -150,7 +150,7 @@ You can manage access to {% data variables.product.prodname_GH_advanced_security ## Further reading - "[Securing your repository](/code-security/getting-started/securing-your-repository)" -- "[About secret scanning](/github/administering-a-repository/about-secret-scanning)"{% if currentVersion == "free-pro-team@latest" %} -- "[Keeping your dependencies updated automatically](/github/administering-a-repository/keeping-your-dependencies-updated-automatically)"{% endif %}{% if currentVersion != "github-ae@latest" %} +- "[About secret scanning](/github/administering-a-repository/about-secret-scanning)"{% ifversion fpt %} +- "[Keeping your dependencies updated automatically](/github/administering-a-repository/keeping-your-dependencies-updated-automatically)"{% endif %}{% ifversion not ghae %} - "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)" - "[Managing vulnerabilities in your project's dependencies](/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies)"{% endif %} diff --git a/content/organizations/keeping-your-organization-secure/preparing-to-require-two-factor-authentication-in-your-organization.md b/content/organizations/keeping-your-organization-secure/preparing-to-require-two-factor-authentication-in-your-organization.md index 0917cd3a0d..b5d93a1226 100644 --- a/content/organizations/keeping-your-organization-secure/preparing-to-require-two-factor-authentication-in-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/preparing-to-require-two-factor-authentication-in-your-organization.md @@ -5,13 +5,13 @@ redirect_from: - /articles/preparing-to-require-two-factor-authentication-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/preparing-to-require-two-factor-authentication-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Organizations - Teams --- -We recommend that you notify {% if currentVersion == "free-pro-team@latest" %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} at least one week before you require 2FA in your organization. +We recommend that you notify {% ifversion fpt %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} at least one week before you require 2FA in your organization. When you require use of two-factor authentication for your organization, members, outside collaborators, and billing managers (including bot accounts) who do not use 2FA will be removed from the organization and lose access to its repositories. They will also lose access to their forks of the organization's private repositories. diff --git a/content/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization.md b/content/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization.md index fc622f84e7..bcb8343f71 100644 --- a/content/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization.md @@ -1,12 +1,12 @@ --- title: Requiring two-factor authentication in your organization -intro: 'Organization owners can require {% if currentVersion == "free-pro-team@latest" %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} to enable two-factor authentication for their personal accounts, making it harder for malicious actors to access an organization''s repositories and settings.' +intro: 'Organization owners can require {% ifversion fpt %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} to enable two-factor authentication for their personal accounts, making it harder for malicious actors to access an organization''s repositories and settings.' redirect_from: - /articles/requiring-two-factor-authentication-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/requiring-two-factor-authentication-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Organizations - Teams @@ -14,9 +14,9 @@ topics: ## About two-factor authentication for organizations -{% data reusables.two_fa.about-2fa %} You can require all {% if currentVersion == "free-pro-team@latest" %}members, outside collaborators, and billing managers{% else %}members and outside collaborators{% endif %} in your organization to enable two-factor authentication on {% data variables.product.product_name %}. For more information about two-factor authentication, see "[Securing your account with two-factor authentication (2FA)](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa)." +{% data reusables.two_fa.about-2fa %} You can require all {% ifversion fpt %}members, outside collaborators, and billing managers{% else %}members and outside collaborators{% endif %} in your organization to enable two-factor authentication on {% data variables.product.product_name %}. For more information about two-factor authentication, see "[Securing your account with two-factor authentication (2FA)](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can also require two-factor authentication for organizations in an enterprise. For more information, see "[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account#requiring-two-factor-authentication-for-organizations-in-your-enterprise-account)." @@ -26,8 +26,8 @@ You can also require two-factor authentication for organizations in an enterpris **Warnings:** -- When you require use of two-factor authentication for your organization, {% if currentVersion == "free-pro-team@latest" %}members, outside collaborators, and billing managers{% else %}members and outside collaborators{% endif %} (including bot accounts) who do not use 2FA will be removed from the organization and lose access to its repositories. They will also lose access to their forks of the organization's private repositories. You can [reinstate their access privileges and settings](/articles/reinstating-a-former-member-of-your-organization) if they enable two-factor authentication for their personal account within three months of their removal from your organization. -- If an organization owner, member,{% if currentVersion == "free-pro-team@latest" %} billing manager,{% endif %} or outside collaborator disables 2FA for their personal account after you've enabled required two-factor authentication, they will automatically be removed from the organization. +- When you require use of two-factor authentication for your organization, {% ifversion fpt %}members, outside collaborators, and billing managers{% else %}members and outside collaborators{% endif %} (including bot accounts) who do not use 2FA will be removed from the organization and lose access to its repositories. They will also lose access to their forks of the organization's private repositories. You can [reinstate their access privileges and settings](/articles/reinstating-a-former-member-of-your-organization) if they enable two-factor authentication for their personal account within three months of their removal from your organization. +- If an organization owner, member,{% ifversion fpt %} billing manager,{% endif %} or outside collaborator disables 2FA for their personal account after you've enabled required two-factor authentication, they will automatically be removed from the organization. - If you're the sole owner of an organization that requires two-factor authentication, you won't be able to disable 2FA for your personal account without disabling required two-factor authentication for the organization. {% endwarning %} @@ -36,9 +36,9 @@ You can also require two-factor authentication for organizations in an enterpris ## Prerequisites -Before you can require {% if currentVersion == "free-pro-team@latest" %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} to use two-factor authentication, you must enable two-factor authentication for your account on {% data variables.product.product_name %}. For more information, see "[Securing your account with two-factor authentication (2FA)](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa)." +Before you can require {% ifversion fpt %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} to use two-factor authentication, you must enable two-factor authentication for your account on {% data variables.product.product_name %}. For more information, see "[Securing your account with two-factor authentication (2FA)](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa)." -Before you require use of two-factor authentication, we recommend notifying {% if currentVersion == "free-pro-team@latest" %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} and asking them to set up 2FA for their accounts. You can see if members and outside collaborators already use 2FA. For more information, see "[Viewing whether users in your organization have 2FA enabled](/organizations/keeping-your-organization-secure/viewing-whether-users-in-your-organization-have-2fa-enabled)." +Before you require use of two-factor authentication, we recommend notifying {% ifversion fpt %}organization members, outside collaborators, and billing managers{% else %}organization members and outside collaborators{% endif %} and asking them to set up 2FA for their accounts. You can see if members and outside collaborators already use 2FA. For more information, see "[Viewing whether users in your organization have 2FA enabled](/organizations/keeping-your-organization-secure/viewing-whether-users-in-your-organization-have-2fa-enabled)." ## Requiring two-factor authentication in your organization @@ -47,7 +47,7 @@ Before you require use of two-factor authentication, we recommend notifying {% i {% data reusables.organizations.security %} {% data reusables.organizations.require_two_factor_authentication %} {% data reusables.organizations.removed_outside_collaborators %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 8. If any members or outside collaborators are removed from the organization, we recommend sending them an invitation that can reinstate their former privileges and access to your organization. They must enable two-factor authentication before they can accept your invitation. {% endif %} @@ -62,7 +62,7 @@ To view people who were automatically removed from your organization for non-com {% data reusables.audit_log.audit_log_sidebar_for_org_admins %} 4. Enter your search query. To search for: - Organization members removed, use `action:org.remove_member` in your search query - - Outside collaborators removed, use `action:org.remove_outside_collaborator` in your search query{% if currentVersion == "free-pro-team@latest" %} + - Outside collaborators removed, use `action:org.remove_outside_collaborator` in your search query{% ifversion fpt %} - Billing managers removed, use `action:org.remove_billing_manager`in your search query{% endif %} You can also view people who were removed from your organization by using a [time frame](/articles/reviewing-the-audit-log-for-your-organization/#search-based-on-time-of-action) in your search. diff --git a/content/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization.md b/content/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization.md index 94a77c2510..1fe2baf1b1 100644 --- a/content/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/restricting-email-notifications-for-your-organization.md @@ -9,8 +9,8 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/restricting-email-notifications-to-an-approved-domain - /organizations/keeping-your-organization-secure/restricting-email-notifications-to-an-approved-domain versions: - free-pro-team: '*' - enterprise-server: '>=3.2' + fpt: '*' + ghes: '>=3.2' type: how_to topics: - Enterprise diff --git a/content/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization.md b/content/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization.md index eb7cbcf488..ccd5691973 100644 --- a/content/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/reviewing-the-audit-log-for-your-organization.md @@ -6,9 +6,9 @@ redirect_from: - /articles/reviewing-the-audit-log-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -31,7 +31,7 @@ The audit log lists events triggered by activities that affect your organization To search for specific events, use the `action` qualifier in your query. Actions listed in the audit log are grouped within the following categories: | Category name | Description -|------------------|-------------------{% if currentVersion == "free-pro-team@latest" %} +|------------------|-------------------{% ifversion fpt %} | [`account`](#account-category-actions) | Contains all activities related to your organization account. | [`advisory_credit`](#advisory_credit-category-actions) | Contains all activities related to crediting a contributor for a security advisory in the {% data variables.product.prodname_advisory_database %}. For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." | [`billing`](#billing-category-actions) | Contains all activities related to your organization's billing. @@ -46,28 +46,28 @@ To search for specific events, use the `action` qualifier in your query. Actions | [`discussion_post_reply`](#discussion_post_reply-category-actions) | Contains all activities related to replies to discussions posted to a team page. | [`hook`](#hook-category-actions) | Contains all activities related to webhooks. | [`integration_installation_request`](#integration_installation_request-category-actions) | Contains all activities related to organization member requests for owners to approve integrations for use in the organization. | -| [`issue`](#issue-category-actions) | Contains activities related to deleting an issue. {% if currentVersion == "free-pro-team@latest" %} +| [`issue`](#issue-category-actions) | Contains activities related to deleting an issue. {% ifversion fpt %} | [`marketplace_agreement_signature`](#marketplace_agreement_signature-category-actions) | Contains all activities related to signing the {% data variables.product.prodname_marketplace %} Developer Agreement. -| [`marketplace_listing`](#marketplace_listing-category-actions) | Contains all activities related to listing apps in {% data variables.product.prodname_marketplace %}.{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +| [`marketplace_listing`](#marketplace_listing-category-actions) | Contains all activities related to listing apps in {% data variables.product.prodname_marketplace %}.{% endif %}{% ifversion fpt or ghes > 3.0 %} | [`members_can_create_pages`](#members_can_create_pages-category-actions) | Contains all activities related to managing the publication of {% data variables.product.prodname_pages %} sites for repositories in the organization. For more information, see "[Managing the publication of {% data variables.product.prodname_pages %} sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." | {% endif %} -| [`org`](#org-category-actions) | Contains activities related to organization membership.{% if currentVersion == "free-pro-team@latest" %} -| [`org_credential_authorization`](#org_credential_authorization-category-actions) | Contains all activities related to authorizing credentials for use with SAML single sign-on.{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +| [`org`](#org-category-actions) | Contains activities related to organization membership.{% ifversion fpt %} +| [`org_credential_authorization`](#org_credential_authorization-category-actions) | Contains all activities related to authorizing credentials for use with SAML single sign-on.{% endif %}{% ifversion fpt or ghes or ghae %} | [`organization_label`](#organization_label-category-actions) | Contains all activities related to default labels for repositories in your organization.{% endif %} -| [`oauth_application`](#oauth_application-category-actions) | Contains all activities related to OAuth Apps.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} -| [`packages`](#packages-category-actions) | Contains all activities related to {% data variables.product.prodname_registry %}.{% endif %}{% if currentVersion == "free-pro-team@latest" %} +| [`oauth_application`](#oauth_application-category-actions) | Contains all activities related to OAuth Apps.{% ifversion fpt or ghes > 3.0 %} +| [`packages`](#packages-category-actions) | Contains all activities related to {% data variables.product.prodname_registry %}.{% endif %}{% ifversion fpt %} | [`payment_method`](#payment_method-category-actions) | Contains all activities related to how your organization pays for GitHub.{% endif %} | [`profile_picture`](#profile_picture-category-actions) | Contains all activities related to your organization's profile picture. | [`project`](#project-category-actions) | Contains all activities related to project boards. | [`protected_branch`](#protected_branch-category-actions) | Contains all activities related to protected branches. -| [`repo`](#repo-category-actions) | Contains activities related to the repositories owned by your organization.{% if currentVersion == "free-pro-team@latest" %} +| [`repo`](#repo-category-actions) | Contains activities related to the repositories owned by your organization.{% ifversion fpt %} | [`repository_advisory`](#repository_advisory-category-actions) | Contains repository-level activities related to security advisories in the {% data variables.product.prodname_advisory_database %}. For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." -| [`repository_content_analysis`](#repository_content_analysis-category-actions) | Contains all activities related to [enabling or disabling data use for a private repository](/articles/about-github-s-use-of-your-data).{% endif %}{% if currentVersion != "github-ae@latest" %} -| [`repository_dependency_graph`](#repository_dependency_graph-category-actions) | Contains repository-level activities related to enabling or disabling the dependency graph for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} -| [`repository_secret_scanning`](#repository_secret_scanning-category-actions) | Contains repository-level activities related to secret scanning. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." {% endif %}{% if currentVersion != "github-ae@latest" %} -| [`repository_vulnerability_alert`](#repository_vulnerability_alert-category-actions) | Contains all activities related to [{% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies).{% endif %}{% if currentVersion == "free-pro-team@latest" %} -| [`repository_vulnerability_alerts`](#repository_vulnerability_alerts-category-actions) | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot %} alerts. {% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +| [`repository_content_analysis`](#repository_content_analysis-category-actions) | Contains all activities related to [enabling or disabling data use for a private repository](/articles/about-github-s-use-of-your-data).{% endif %}{% ifversion not ghae %} +| [`repository_dependency_graph`](#repository_dependency_graph-category-actions) | Contains repository-level activities related to enabling or disabling the dependency graph for a {% ifversion fpt %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."{% endif %}{% ifversion fpt or ghes > 2.22 or ghae %} +| [`repository_secret_scanning`](#repository_secret_scanning-category-actions) | Contains repository-level activities related to secret scanning. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." {% endif %}{% ifversion not ghae %} +| [`repository_vulnerability_alert`](#repository_vulnerability_alert-category-actions) | Contains all activities related to [{% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies).{% endif %}{% ifversion fpt %} +| [`repository_vulnerability_alerts`](#repository_vulnerability_alerts-category-actions) | Contains repository-level configuration activities for {% data variables.product.prodname_dependabot %} alerts. {% endif %}{% ifversion fpt or ghes > 2.22 or ghae %} | [`secret_scanning`](#secret_scanning-category-actions) | Contains organization-level configuration activities for secret scanning in existing repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." -| [`secret_scanning_new_repos`](#secret_scanning_new_repos-category-actions) | Contains organization-level configuration activities for secret scanning for new repositories created in the organization. {% endif %}{% if currentVersion == "free-pro-team@latest" %} +| [`secret_scanning_new_repos`](#secret_scanning_new_repos-category-actions) | Contains organization-level configuration activities for secret scanning for new repositories created in the organization. {% endif %}{% ifversion fpt %} | [`sponsors`](#sponsors-category-actions) | Contains all events related to sponsor buttons (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)"){% endif %} | [`team`](#team-category-actions) | Contains all activities related to teams in your organization. | [`team_discussions`](#team_discussions-category-actions) | Contains activities related to managing team discussions for an organization. @@ -105,7 +105,7 @@ Using the qualifier `country`, you can filter events in the audit log based on t * `country:Mexico` finds all events that occurred in Mexico. * `country:"United States"` all finds events that occurred in the United States. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Exporting the audit log {% data reusables.audit_log.export-log %} @@ -114,9 +114,9 @@ Using the qualifier `country`, you can filter events in the audit log based on t ## Using the audit log API -You can interact with the audit log using the GraphQL API{% if currentVersion == "free-pro-team@latest" %} or the REST API{% endif %}. +You can interact with the audit log using the GraphQL API{% ifversion fpt %} or the REST API{% endif %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Using the GraphQL API @@ -131,7 +131,7 @@ You can interact with the audit log using the GraphQL API{% if currentVersion == To ensure a secure IP and maintain compliance for your organization, you can use the audit log GraphQL API to keep copies of your audit log data and monitor: {% data reusables.audit_log.audit-log-api-info %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Note that you can't retrieve Git events using the GraphQL API. To retrieve Git events, use the REST API instead. For more information, see "[`git` category actions](#git-category-actions)." {% endif %} @@ -139,7 +139,7 @@ The GraphQL response can include data for up to 90 to 120 days. For example, you can make a GraphQL request to see all the new organization members added to your organization. For more information, see the "[GraphQL API Audit Log](/graphql/reference/interfaces#auditentry/)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Using the REST API @@ -163,7 +163,7 @@ For more information about the audit log REST API, see "[Organizations](/rest/re An overview of some of the most common actions that are recorded as events in the audit log. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `account` category actions @@ -208,15 +208,15 @@ An overview of some of the most common actions that are recorded as events in th | Action | Description |------------------|------------------- -| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_alerts %} for all existing {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." -| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_alerts %} for all existing {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories. +| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_alerts %} for all existing {% ifversion fpt %}private {% endif %}repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_alerts %} for all existing {% ifversion fpt %}private {% endif %}repositories. ### `dependabot_alerts_new_repos` category actions | Action | Description |------------------|------------------- -| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_alerts %} for all new {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." -| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_alerts %} for all new {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories. +| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_alerts %} for all new {% ifversion fpt %}private {% endif %}repositories. For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)." +| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_alerts %} for all new {% ifversion fpt %}private {% endif %}repositories. ### `dependabot_security_updates` category actions @@ -262,14 +262,14 @@ An overview of some of the most common actions that are recorded as events in th | `update` | Triggered when [a reply to a team discussion post is edited](/articles/managing-disruptive-comments/#editing-a-comment). | `destroy` | Triggered when [a reply to a team discussion post is deleted](/articles/managing-disruptive-comments/#deleting-a-comment). -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} ### `enterprise` category actions {% data reusables.actions.actions-audit-events-for-enterprise %} {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `environment` category actions | Action | Description @@ -280,7 +280,7 @@ An overview of some of the most common actions that are recorded as events in th | `update_actions_secret` | Triggered when a secret in an environment is updated. For more information, see ["Environment secrets](/actions/reference/environments#environment-secrets)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `git` category actions {% note %} @@ -321,7 +321,7 @@ An overview of some of the most common actions that are recorded as events in th |------------------|------------------- | `destroy` | Triggered when an organization owner or someone with admin permissions in a repository deletes an issue from an organization-owned repository. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `marketplace_agreement_signature` category actions @@ -341,7 +341,7 @@ An overview of some of the most common actions that are recorded as events in th {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} ### `members_can_create_pages` category actions @@ -357,50 +357,50 @@ For more information, see "[Managing the publication of {% data variables.produc ### `org` category actions | Action | Description -|------------------|-------------------{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +|------------------|-------------------{% ifversion fpt or ghes > 3.0 or ghae-next %} | `advanced_security_policy_selected_member_disabled` | Triggered when an enterprise owner prevents {% data variables.product.prodname_GH_advanced_security %} features from being enabled for repositories owned by the organization. {% data reusables.advanced-security.more-information-about-enforcement-policy %} -| `advanced_security_policy_selected_member_enabled` | Triggered when an enterprise owner allows {% data variables.product.prodname_GH_advanced_security %} features to be enabled for repositories owned by the organization. {% data reusables.advanced-security.more-information-about-enforcement-policy %}{% endif %}{% if currentVersion == "free-pro-team@latest" %} +| `advanced_security_policy_selected_member_enabled` | Triggered when an enterprise owner allows {% data variables.product.prodname_GH_advanced_security %} features to be enabled for repositories owned by the organization. {% data reusables.advanced-security.more-information-about-enforcement-policy %}{% endif %}{% ifversion fpt %} | `audit_log_export` | Triggered when an organization admin [creates an export of the organization audit log](#exporting-the-audit-log). If the export included a query, the log will list the query used and the number of audit log entries matching that query. | `block_user` | Triggered when an organization owner [blocks a user from accessing the organization's repositories](/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization). -| `cancel_invitation` | Triggered when an organization invitation has been revoked. {% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} -| `create_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is created for an organization. For more information, see "[Creating encrypted secrets for an organization](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization)."{% endif %} {% if currentVersion == "free-pro-team@latest"%} +| `cancel_invitation` | Triggered when an organization invitation has been revoked. {% endif %}{% ifversion fpt or ghes > 2.21 %} +| `create_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is created for an organization. For more information, see "[Creating encrypted secrets for an organization](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization)."{% endif %} {% ifversion fpt %} | `disable_oauth_app_restrictions` | Triggered when an owner [disables {% data variables.product.prodname_oauth_app %} access restrictions](/articles/disabling-oauth-app-access-restrictions-for-your-organization) for your organization. | `disable_saml` | Triggered when an organization admin disables SAML single sign-on for an organization.{% endif %} -| `disable_member_team_creation_permission` | Triggered when an organization owner limits team creation to owners. For more information, see "[Setting team creation permissions in your organization](/articles/setting-team-creation-permissions-in-your-organization)." |{% if currentVersion != "github-ae@latest" %} -| `disable_two_factor_requirement` | Triggered when an owner disables a two-factor authentication requirement for all members{% if currentVersion == "free-pro-team@latest" %}, billing managers,{% endif %} and outside collaborators in an organization.{% endif %}{% if currentVersion == "free-pro-team@latest" %} +| `disable_member_team_creation_permission` | Triggered when an organization owner limits team creation to owners. For more information, see "[Setting team creation permissions in your organization](/articles/setting-team-creation-permissions-in-your-organization)." |{% ifversion not ghae %} +| `disable_two_factor_requirement` | Triggered when an owner disables a two-factor authentication requirement for all members{% ifversion fpt %}, billing managers,{% endif %} and outside collaborators in an organization.{% endif %}{% ifversion fpt %} | `enable_oauth_app_restrictions` | Triggered when an owner [enables {% data variables.product.prodname_oauth_app %} access restrictions](/articles/enabling-oauth-app-access-restrictions-for-your-organization) for your organization. | `enable_saml` | Triggered when an organization admin [enables SAML single sign-on](/articles/enabling-and-testing-saml-single-sign-on-for-your-organization) for an organization.{% endif %} -| `enable_member_team_creation_permission` | Triggered when an organization owner allows members to create teams. For more information, see "[Setting team creation permissions in your organization](/articles/setting-team-creation-permissions-in-your-organization)." |{% if currentVersion != "github-ae@latest" %} -| `enable_two_factor_requirement` | Triggered when an owner requires two-factor authentication for all members{% if currentVersion == "free-pro-team@latest" %}, billing managers,{% endif %} and outside collaborators in an organization.{% endif %} -| `invite_member` | Triggered when [a new user was invited to join your organization](/articles/adding-organization-members-to-a-team).{% if currentVersion == "free-pro-team@latest" %} +| `enable_member_team_creation_permission` | Triggered when an organization owner allows members to create teams. For more information, see "[Setting team creation permissions in your organization](/articles/setting-team-creation-permissions-in-your-organization)." |{% ifversion not ghae %} +| `enable_two_factor_requirement` | Triggered when an owner requires two-factor authentication for all members{% ifversion fpt %}, billing managers,{% endif %} and outside collaborators in an organization.{% endif %} +| `invite_member` | Triggered when [a new user was invited to join your organization](/articles/adding-organization-members-to-a-team).{% ifversion fpt %} | `oauth_app_access_approved` | Triggered when an owner [grants organization access to an {% data variables.product.prodname_oauth_app %}](/articles/approving-oauth-apps-for-your-organization/). | `oauth_app_access_denied` | Triggered when an owner [disables a previously approved {% data variables.product.prodname_oauth_app %}'s access](/articles/denying-access-to-a-previously-approved-oauth-app-for-your-organization) to your organization. -| `oauth_app_access_requested` | Triggered when an organization member requests that an owner grant an {% data variables.product.prodname_oauth_app %} access to your organization.{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `oauth_app_access_requested` | Triggered when an organization member requests that an owner grant an {% data variables.product.prodname_oauth_app %} access to your organization.{% endif %}{% ifversion fpt or ghes > 2.21 %} | `register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to an organization](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-an-organization)." -| `remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed.{% endif %}{% if currentVersion == "free-pro-team@latest"%} +| `remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed.{% endif %}{% ifversion fpt %} | `remove_billing_manager` | Triggered when an [owner removes a billing manager from an organization](/articles/removing-a-billing-manager-from-your-organization/) or when [two-factor authentication is required in an organization](/articles/requiring-two-factor-authentication-in-your-organization) and a billing manager doesn't use 2FA or disables 2FA. |{% endif %} -| `remove_member` | Triggered when an [owner removes a member from an organization](/articles/removing-a-member-from-your-organization/){% if currentVersion != "github-ae@latest" %} or when [two-factor authentication is required in an organization](/articles/requiring-two-factor-authentication-in-your-organization) and an organization member doesn't use 2FA or disables 2FA{% endif %}. Also triggered when an [organization member removes themselves](/articles/removing-yourself-from-an-organization/) from an organization.| -| `remove_outside_collaborator` | Triggered when an owner removes an outside collaborator from an organization{% if currentVersion != "github-ae@latest" %} or when [two-factor authentication is required in an organization](/articles/requiring-two-factor-authentication-in-your-organization) and an outside collaborator does not use 2FA or disables 2FA{% endif %}. |{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} -| `remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. For more information, see "[Removing a runner from an organization](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-an-organization)." {% endif %}{% if currentVersion == "free-pro-team@latest" %} +| `remove_member` | Triggered when an [owner removes a member from an organization](/articles/removing-a-member-from-your-organization/){% ifversion not ghae %} or when [two-factor authentication is required in an organization](/articles/requiring-two-factor-authentication-in-your-organization) and an organization member doesn't use 2FA or disables 2FA{% endif %}. Also triggered when an [organization member removes themselves](/articles/removing-yourself-from-an-organization/) from an organization.| +| `remove_outside_collaborator` | Triggered when an owner removes an outside collaborator from an organization{% ifversion not ghae %} or when [two-factor authentication is required in an organization](/articles/requiring-two-factor-authentication-in-your-organization) and an outside collaborator does not use 2FA or disables 2FA{% endif %}. |{% ifversion fpt or ghes > 2.21 %} +| `remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. For more information, see "[Removing a runner from an organization](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-an-organization)." {% endif %}{% ifversion fpt %} | `revoke_external_identity` | Triggered when an organization owner revokes a member's linked identity. For more information, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)." -| `revoke_sso_session` | Triggered when an organization owner revokes a member's SAML session. For more information, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)." {% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `revoke_sso_session` | Triggered when an organization owner revokes a member's SAML session. For more information, see "[Viewing and managing a member's SAML access to your organization](/organizations/granting-access-to-your-organization-with-saml-single-sign-on/viewing-and-managing-a-members-saml-access-to-your-organization#viewing-and-revoking-a-linked-identity)." {% endif %}{% ifversion fpt or ghes > 2.21 %} | `runner_group_created` | Triggered when a self-hosted runner group is created. For more information, see "[Creating a self-hosted runner group for an organization](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#creating-a-self-hosted-runner-group-for-an-organization)." | `runner_group_removed` | Triggered when a self-hosted runner group is removed. For more information, see "[Removing a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#removing-a-self-hosted-runner-group)." | `runner_group_updated` | Triggered when the configuration of a self-hosted runner group is changed. For more information, see "[Changing the access policy of a self-hosted runner group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#changing-the-access-policy-of-a-self-hosted-runner-group)." | `runner_group_runners_added` | Triggered when a self-hosted runner is added to a group. For more information, see [Moving a self-hosted runner to a group](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group). | `runner_group_runner_removed` | Triggered when the REST API is used to remove a self-hosted runner from a group. For more information, see "[Remove a self-hosted runner from a group for an organization](/rest/reference/actions#remove-a-self-hosted-runner-from-a-group-for-an-organization)." -| `runner_group_runners_updated`| Triggered when a runner group's list of members is updated. For more information, see "[Set self-hosted runners in a group for an organization](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)."{% endif %}{% if currentVersion == "free-pro-team@latest"%}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `runner_group_runners_updated`| Triggered when a runner group's list of members is updated. For more information, see "[Set self-hosted runners in a group for an organization](/rest/reference/actions#set-self-hosted-runners-in-a-group-for-an-organization)."{% endif %}{% ifversion fpt %}{% ifversion fpt or ghes > 2.21 %} | `self_hosted_runner_updated` | Triggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)."{% endif %} -| `unblock_user` | Triggered when an organization owner [unblocks a user from an organization](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization).{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} -| `update_actions_secret` |Triggered when a {% data variables.product.prodname_actions %} secret is updated.{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +| `unblock_user` | Triggered when an organization owner [unblocks a user from an organization](/communities/maintaining-your-safety-on-github/unblocking-a-user-from-your-organization).{% endif %}{% ifversion fpt or ghes > 2.21 %} +| `update_actions_secret` |Triggered when a {% data variables.product.prodname_actions %} secret is updated.{% endif %}{% ifversion fpt or ghes > 2.22 or ghae %} | `update_new_repository_default_branch_setting` | Triggered when an owner changes the name of the default branch for new repositories in the organization. For more information, see "[Managing the default branch name for repositories in your organization](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization)."{% endif %} | `update_default_repository_permission` | Triggered when an owner changes the default repository permission level for organization members. | `update_member` | Triggered when an owner changes a person's role from owner to member or member to owner. -| `update_member_repository_creation_permission` | Triggered when an owner changes the create repository permission for organization members.{% if currentVersion == "free-pro-team@latest" %} +| `update_member_repository_creation_permission` | Triggered when an owner changes the create repository permission for organization members.{% ifversion fpt %} | `update_saml_provider_settings` | Triggered when an organization's SAML provider settings are updated. | `update_terms_of_service` | Triggered when an organization changes between the Standard Terms of Service and the Corporate Terms of Service. For more information, see "[Upgrading to the Corporate Terms of Service](/articles/upgrading-to-the-corporate-terms-of-service)."{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `org_credential_authorization` category actions | Action | Description @@ -411,7 +411,7 @@ For more information, see "[Managing the publication of {% data variables.produc {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} ### `organization_label` category actions | Action | Description @@ -432,7 +432,7 @@ For more information, see "[Managing the publication of {% data variables.produc | `revoke_tokens` | Triggered when an {% data variables.product.prodname_oauth_app %}'s user tokens are revoked. | `transfer` | Triggered when an existing {% data variables.product.prodname_oauth_app %} is transferred to a new organization. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} ### `packages` category actions | Action | Description | @@ -445,7 +445,7 @@ For more information, see "[Managing the publication of {% data variables.produc {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `payment_method` category actions @@ -490,13 +490,13 @@ For more information, see "[Managing the publication of {% data variables.produc | `update_required_status_checks_enforcement_level ` | Triggered when enforcement of required status checks is updated on a branch. | `update_strict_required_status_checks_policy` | Triggered when the requirement for a branch to be up to date before merging is changed. | `rejected_ref_update ` | Triggered when a branch update attempt is rejected. -| `policy_override ` | Triggered when a branch protection requirement is overridden by a repository administrator.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +| `policy_override ` | Triggered when a branch protection requirement is overridden by a repository administrator.{% ifversion fpt or ghes or ghae %} | `update_allow_force_pushes_enforcement_level ` | Triggered when force pushes are enabled or disabled for a protected branch. | `update_allow_deletions_enforcement_level ` | Triggered when branch deletion is enabled or disabled for a protected branch. | `update_linear_history_requirement_enforcement_level ` | Triggered when required linear commit history is enabled or disabled for a protected branch. {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `pull_request` category actions | Action | Description @@ -535,32 +535,32 @@ For more information, see "[Managing the publication of {% data variables.produc | `access` | Triggered when a user [changes the visibility](/github/administering-a-repository/setting-repository-visibility) of a repository in the organization. | `actions_enabled` | Triggered when {% data variables.product.prodname_actions %} is enabled for a repository. Can be viewed using the UI. This event is not included when you access the audit log using the REST API. For more information, see "[Using the REST API](#using-the-rest-api)." | `add_member` | Triggered when a user accepts an [invitation to have collaboration access to a repository](/articles/inviting-collaborators-to-a-personal-repository). -| `add_topic` | Triggered when a repository admin [adds a topic](/articles/classifying-your-repository-with-topics) to a repository.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +| `add_topic` | Triggered when a repository admin [adds a topic](/articles/classifying-your-repository-with-topics) to a repository.{% ifversion fpt or ghes > 3.0 or ghae-next %} | `advanced_security_disabled` | Triggered when a repository administrator disables {% data variables.product.prodname_GH_advanced_security %} features for the repository. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." | `advanced_security_enabled` | Triggered when a repository administrator enables {% data variables.product.prodname_GH_advanced_security %} features for the repository. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository).".{% endif %} -| `archived` | Triggered when a repository admin [archives a repository](/articles/about-archiving-repositories).{% if enterpriseServerVersions contains currentVersion %} +| `archived` | Triggered when a repository admin [archives a repository](/articles/about-archiving-repositories).{% ifversion ghes %} | `config.disable_anonymous_git_access` | Triggered when [anonymous Git read access is disabled](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository) in a public repository. | `config.enable_anonymous_git_access` | Triggered when [anonymous Git read access is enabled](/enterprise/{{ currentVersion }}/user/articles/enabling-anonymous-git-read-access-for-a-repository) in a public repository. | `config.lock_anonymous_git_access` | Triggered when a repository's [anonymous Git read access setting is locked](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access). | `config.unlock_anonymous_git_access` | Triggered when a repository's [anonymous Git read access setting is unlocked](/enterprise/{{ currentVersion }}/admin/guides/user-management/preventing-users-from-changing-anonymous-git-read-access).{% endif %} -| `create` | Triggered when [a new repository is created](/articles/creating-a-new-repository).{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `create` | Triggered when [a new repository is created](/articles/creating-a-new-repository).{% ifversion fpt or ghes > 2.21 %} | `create_actions_secret` |Triggered when a {% data variables.product.prodname_actions %} secret is created for a repository. For more information, see "[Creating encrypted secrets for a repository](/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository)."{% endif %} -| `destroy` | Triggered when [a repository is deleted](/articles/deleting-a-repository).{% if currentVersion == "free-pro-team@latest" %} +| `destroy` | Triggered when [a repository is deleted](/articles/deleting-a-repository).{% ifversion fpt %} | `disable` | Triggered when a repository is disabled (e.g., for [insufficient funds](/articles/unlocking-a-locked-account)).{% endif %} -| `enable` | Triggered when a repository is re-enabled.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `enable` | Triggered when a repository is re-enabled.{% ifversion fpt or ghes > 2.21 %} | `remove_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is removed.{% endif %} -| `remove_member` | Triggered when a user is [removed from a repository as a collaborator](/articles/removing-a-collaborator-from-a-personal-repository).{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `remove_member` | Triggered when a user is [removed from a repository as a collaborator](/articles/removing-a-collaborator-from-a-personal-repository).{% ifversion fpt or ghes > 2.21 %} | `register_self_hosted_runner` | Triggered when a new self-hosted runner is registered. For more information, see "[Adding a self-hosted runner to a repository](/actions/hosting-your-own-runners/adding-self-hosted-runners#adding-a-self-hosted-runner-to-a-repository)." | `remove_self_hosted_runner` | Triggered when a self-hosted runner is removed. For more information, see "[Removing a runner from a repository](/actions/hosting-your-own-runners/removing-self-hosted-runners#removing-a-runner-from-a-repository)." {% endif %} | `remove_topic` | Triggered when a repository admin removes a topic from a repository. -| `rename` | Triggered when [a repository is renamed](/articles/renaming-a-repository).{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `rename` | Triggered when [a repository is renamed](/articles/renaming-a-repository).{% ifversion fpt or ghes > 2.21 %} | `self_hosted_runner_updated` | Triggered when the runner application is updated. Can be viewed using the REST API and the UI; not visible in the JSON/CSV export. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners#about-self-hosted-runners)."{% endif %} | `transfer` | Triggered when [a repository is transferred](/articles/how-to-transfer-a-repository). | `transfer_start` | Triggered when a repository transfer is about to occur. -| `unarchived` | Triggered when a repository admin unarchives a repository.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +| `unarchived` | Triggered when a repository admin unarchives a repository.{% ifversion fpt or ghes > 2.21 %} | `update_actions_secret` | Triggered when a {% data variables.product.prodname_actions %} secret is updated.{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `repository_advisory` category actions @@ -582,33 +582,33 @@ For more information, see "[Managing the publication of {% data variables.produc | `enable` | Triggered when an organization owner or person with admin access to the repository [enables data use settings for a private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository). | `disable` | Triggered when an organization owner or person with admin access to the repository [disables data use settings for a private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository). -{% endif %}{% if currentVersion != "github-ae@latest" %} +{% endif %}{% ifversion not ghae %} ### `repository_dependency_graph` category actions | Action | Description |------------------|------------------- -| `disable` | Triggered when a repository owner or person with admin access to the repository disables the dependency graph for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." -| `enable` | Triggered when a repository owner or person with admin access to the repository enables the dependency graph for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. +| `disable` | Triggered when a repository owner or person with admin access to the repository disables the dependency graph for a {% ifversion fpt %}private {% endif %}repository. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)." +| `enable` | Triggered when a repository owner or person with admin access to the repository enables the dependency graph for a {% ifversion fpt %}private {% endif %}repository. -{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% endif %}{% ifversion fpt or ghes > 2.22 or ghae %} ### `repository_secret_scanning` category actions | Action | Description |------------------|------------------- -| `disable` | Triggered when a repository owner or person with admin access to the repository disables secret scanning for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." -| `enable` | Triggered when a repository owner or person with admin access to the repository enables secret scanning for a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. +| `disable` | Triggered when a repository owner or person with admin access to the repository disables secret scanning for a {% ifversion fpt %}private {% endif %}repository. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +| `enable` | Triggered when a repository owner or person with admin access to the repository enables secret scanning for a {% ifversion fpt %}private {% endif %}repository. -{% endif %}{% if currentVersion != "github-ae@latest" %} +{% endif %}{% ifversion not ghae %} ### `repository_vulnerability_alert` category actions | Action | Description |------------------|------------------- -| `create` | Triggered when {% data variables.product.product_name %} creates a {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alert for a repository that uses a vulnerable dependency. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." -| `dismiss` | Triggered when an organization owner or person with admin access to the repository dismisses a {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alert about a vulnerable dependency. +| `create` | Triggered when {% data variables.product.product_name %} creates a {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alert for a repository that uses a vulnerable dependency. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." +| `dismiss` | Triggered when an organization owner or person with admin access to the repository dismisses a {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alert about a vulnerable dependency. | `resolve` | Triggered when someone with write access to a repository pushes changes to update and resolve a vulnerability in a project dependency. -{% endif %}{% if currentVersion == "free-pro-team@latest" %} +{% endif %}{% ifversion fpt %} ### `repository_vulnerability_alerts` category actions | Action | Description @@ -617,24 +617,24 @@ For more information, see "[Managing the publication of {% data variables.produc | `disable` | Triggered when a repository owner or person with admin access to the repository disables {% data variables.product.prodname_dependabot_alerts %}. | `enable` | Triggered when a repository owner or person with admin access to the repository enables {% data variables.product.prodname_dependabot_alerts %}. -{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% endif %}{% ifversion fpt or ghes > 2.22 or ghae %} ### `secret_scanning` category actions | Action | Description |------------------|------------------- -| `disable` | Triggered when an organization owner disables secret scanning for all existing{% if currentVersion == "free-pro-team@latest" %}, private{% endif %} repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." -| `enable` | Triggered when an organization owner enables secret scanning for all existing{% if currentVersion == "free-pro-team@latest" %}, private{% endif %} repositories. +| `disable` | Triggered when an organization owner disables secret scanning for all existing{% ifversion fpt %}, private{% endif %} repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +| `enable` | Triggered when an organization owner enables secret scanning for all existing{% ifversion fpt %}, private{% endif %} repositories. ### `secret_scanning_new_repos` category actions | Action | Description |------------------|------------------- -| `disable` | Triggered when an organization owner disables secret scanning for all new {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." -| `enable` | Triggered when an organization owner enables secret scanning for all new {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repositories. +| `disable` | Triggered when an organization owner disables secret scanning for all new {% ifversion fpt %}private {% endif %}repositories. For more information, see "[About secret scanning](/github/administering-a-repository/about-secret-scanning)." +| `enable` | Triggered when an organization owner enables secret scanning for all new {% ifversion fpt %}private {% endif %}repositories. {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### `sponsors` category actions | Action | Description @@ -666,9 +666,9 @@ For more information, see "[Managing the publication of {% data variables.produc | `add_repository` | Triggered when a team is given control of a repository. | `change_parent_team` | Triggered when a child team is created or [a child team's parent is changed](/articles/moving-a-team-in-your-organization-s-hierarchy). | `change_privacy` | Triggered when a team's privacy level is changed. -| `create` | Triggered when a new team is created.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +| `create` | Triggered when a new team is created.{% ifversion fpt or ghes > 2.22 or ghae %} `demote_maintainer` | Triggered when a user was demoted from a team maintainer to a team member. For more information, see "[Giving "team maintainer" permissions to an organization member](/organizations/managing-peoples-access-to-your-organization-with-roles/giving-team-maintainer-permissions-to-an-organization-member)."{% endif %} -| `destroy` | Triggered when a team is deleted from the organization.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +| `destroy` | Triggered when a team is deleted from the organization.{% ifversion fpt or ghes > 2.22 or ghae %} `team.promote_maintainer` | Triggered when a user was promoted from a team member to a team maintainer. For more information, see "[Giving "team maintainer" permissions to an organization member](/organizations/managing-peoples-access-to-your-organization-with-roles/giving-team-maintainer-permissions-to-an-organization-member)."{% endif %} | `remove_member` | Triggered when a member of an organization is [removed from a team](/articles/removing-organization-members-from-a-team). | `remove_repository` | Triggered when a repository is no longer under a team's control. @@ -680,7 +680,7 @@ For more information, see "[Managing the publication of {% data variables.produc | `disable` | Triggered when an organization owner disables team discussions for an organization. For more information, see "[Disabling team discussions for your organization](/articles/disabling-team-discussions-for-your-organization)." | `enable` | Triggered when an organization owner enables team discussions for an organization. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest"%} +{% ifversion fpt or ghes > 2.21 or ghae %} ### `workflows` category actions {% data reusables.actions.actions-audit-events-workflow %} diff --git a/content/organizations/keeping-your-organization-secure/reviewing-your-organizations-installed-integrations.md b/content/organizations/keeping-your-organization-secure/reviewing-your-organizations-installed-integrations.md index 8804476657..a6c4250ae6 100644 --- a/content/organizations/keeping-your-organization-secure/reviewing-your-organizations-installed-integrations.md +++ b/content/organizations/keeping-your-organization-secure/reviewing-your-organizations-installed-integrations.md @@ -6,9 +6,9 @@ redirect_from: - /articles/reviewing-your-organizations-installed-integrations - /github/setting-up-and-managing-organizations-and-teams/reviewing-your-organizations-installed-integrations versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/keeping-your-organization-secure/viewing-whether-users-in-your-organization-have-2fa-enabled.md b/content/organizations/keeping-your-organization-secure/viewing-whether-users-in-your-organization-have-2fa-enabled.md index a487f41e49..eb2e3d878b 100644 --- a/content/organizations/keeping-your-organization-secure/viewing-whether-users-in-your-organization-have-2fa-enabled.md +++ b/content/organizations/keeping-your-organization-secure/viewing-whether-users-in-your-organization-have-2fa-enabled.md @@ -5,8 +5,8 @@ redirect_from: - /articles/viewing-whether-users-in-your-organization-have-2fa-enabled - /github/setting-up-and-managing-organizations-and-teams/viewing-whether-users-in-your-organization-have-2fa-enabled versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Organizations - Teams @@ -14,7 +14,7 @@ topics: {% note %} -**Note:** You can require that all members{% if currentVersion == "free-pro-team@latest" %}, including, owners, billing managers and{% else %} and{% endif %} outside collaborators in your organization have two-factor authentication enabled. For more information, see "[Requiring two-factor authentication in your organization](/articles/requiring-two-factor-authentication-in-your-organization)." +**Note:** You can require that all members{% ifversion fpt %}, including, owners, billing managers and{% else %} and{% endif %} outside collaborators in your organization have two-factor authentication enabled. For more information, see "[Requiring two-factor authentication in your organization](/articles/requiring-two-factor-authentication-in-your-organization)." {% endnote %} diff --git a/content/organizations/managing-access-to-your-organizations-apps/adding-github-app-managers-in-your-organization.md b/content/organizations/managing-access-to-your-organizations-apps/adding-github-app-managers-in-your-organization.md index 980e97f312..13a07dddef 100644 --- a/content/organizations/managing-access-to-your-organizations-apps/adding-github-app-managers-in-your-organization.md +++ b/content/organizations/managing-access-to-your-organizations-apps/adding-github-app-managers-in-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/adding-github-app-managers-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/adding-github-app-managers-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -34,7 +34,7 @@ For more information about {% data variables.product.prodname_github_app %} mana 1. Under "App managers", type the username of the person you want to designate as a GitHub App manager for the app, and click **Grant**. ![Add a {% data variables.product.prodname_github_app %} manager for a specific app](/assets/images/help/organizations/add-github-app-manager-for-app.png) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading - "[About {% data variables.product.prodname_dotcom %} Marketplace](/articles/about-github-marketplace/)" diff --git a/content/organizations/managing-access-to-your-organizations-apps/index.md b/content/organizations/managing-access-to-your-organizations-apps/index.md index 8996b90410..f71fc6ff93 100644 --- a/content/organizations/managing-access-to-your-organizations-apps/index.md +++ b/content/organizations/managing-access-to-your-organizations-apps/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/managing-access-to-your-organizations-apps - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-your-organizations-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-apps/removing-github-app-managers-from-your-organization.md b/content/organizations/managing-access-to-your-organizations-apps/removing-github-app-managers-from-your-organization.md index 2ace56c23b..a233478253 100644 --- a/content/organizations/managing-access-to-your-organizations-apps/removing-github-app-managers-from-your-organization.md +++ b/content/organizations/managing-access-to-your-organizations-apps/removing-github-app-managers-from-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/removing-github-app-managers-from-your-organization - /github/setting-up-and-managing-organizations-and-teams/removing-github-app-managers-from-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -34,7 +34,7 @@ For more information about {% data variables.product.prodname_github_app %} mana 1. Under "App managers", find the username of the person you want to remove {% data variables.product.prodname_github_app %} manager permissions from, and click **Revoke**. ![Revoke {% data variables.product.prodname_github_app %} manager permissions](/assets/images/help/organizations/github-app-manager-revoke-permissions-individual-app.png) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Further reading - "[About {% data variables.product.prodname_dotcom %} Marketplace](/articles/about-github-marketplace/)" diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md b/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md index 1fe95741a0..28fc29e737 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/adding-an-outside-collaborator-to-a-project-board-in-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/adding-an-outside-collaborator-to-a-project-board-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/adding-an-outside-collaborator-to-a-project-board-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/index.md b/content/organizations/managing-access-to-your-organizations-project-boards/index.md index db42bc42d9..5b4e666520 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/index.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/managing-access-to-your-organizations-project-boards - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-your-organizations-project-boards versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md b/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md index f600b39568..e452201616 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/managing-access-to-a-project-board-for-organization-members.md @@ -5,9 +5,9 @@ redirect_from: - /articles/managing-access-to-a-project-board-for-organization-members - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-a-project-board-for-organization-members versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md b/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md index c48fcf42f0..2e48e790bb 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/managing-an-individuals-access-to-an-organization-project-board.md @@ -6,9 +6,9 @@ redirect_from: - /articles/managing-an-individuals-access-to-an-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/managing-an-individuals-access-to-an-organization-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md b/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md index 1ab5702170..82127a7f0c 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board.md @@ -5,9 +5,9 @@ redirect_from: - /articles/managing-team-access-to-an-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/managing-team-access-to-an-organization-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md b/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md index 61c1759c09..122f1baaf6 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/project-board-permissions-for-an-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/project-board-permissions-for-an-organization - /github/setting-up-and-managing-organizations-and-teams/project-board-permissions-for-an-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -34,7 +34,7 @@ For example, if an organization owner has given all organization members read pe ## Project board visibility -{% data reusables.project-management.project-board-visibility %} You can change the project board's visibility from private to {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} and back again. For more information, see "[Changing project board visibility](/articles/changing-project-board-visibility)." +{% data reusables.project-management.project-board-visibility %} You can change the project board's visibility from private to {% ifversion ghae %}internal{% else %}public{% endif %} and back again. For more information, see "[Changing project board visibility](/articles/changing-project-board-visibility)." ## Further reading diff --git a/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md b/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md index d50f5e6f84..f41506cbc2 100644 --- a/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md +++ b/content/organizations/managing-access-to-your-organizations-project-boards/removing-an-outside-collaborator-from-an-organization-project-board.md @@ -5,9 +5,9 @@ redirect_from: - /articles/removing-an-outside-collaborator-from-an-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/removing-an-outside-collaborator-from-an-organization-project-board versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md b/content/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md index 85ae0aaa6d..6d6763d465 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/adding-outside-collaborators-to-repositories-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/adding-outside-collaborators-to-repositories-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -17,7 +17,7 @@ topics: {% data reusables.organizations.outside-collaborators-use-seats %} -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} If your organization [requires members and outside collaborators to use two-factor authentication](/articles/requiring-two-factor-authentication-in-your-organization), they must enable two-factor authentication before they can accept your invitation to collaborate on an organization repository. {% endif %} @@ -25,7 +25,7 @@ If your organization [requires members and outside collaborators to use two-fact {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.repositories.navigate-to-manage-access %} {% data reusables.organizations.invite-teams-or-people %} 5. In the search field, start typing the name of person you want to invite, then click a name in the list of matches. diff --git a/content/organizations/managing-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization.md b/content/organizations/managing-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization.md index d58c1a61a4..097c8f4ed8 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization.md @@ -5,7 +5,7 @@ permissions: Organization owners can cancel an invitation to become an outside c redirect_from: - /github/setting-up-and-managing-organizations-and-teams/canceling-an-invitation-to-become-an-outside-collaborator-in-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator.md b/content/organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator.md index 16912a1929..48dcfca19c 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/converting-an-organization-member-to-an-outside-collaborator.md @@ -5,9 +5,9 @@ redirect_from: - /articles/converting-an-organization-member-to-an-outside-collaborator - /github/setting-up-and-managing-organizations-and-teams/converting-an-organization-member-to-an-outside-collaborator versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -28,7 +28,7 @@ For more information, see "[Permission levels for an organization](/organization We recommend reviewing the organization member's access to repositories to ensure their access is as you expect. For more information, see "[Managing an individual's access to an organization repository](/articles/managing-an-individual-s-access-to-an-organization-repository)." -When you convert an organization member to an outside collaborator, their privileges as organization members are saved for three months so that you can restore their membership privileges if you{% if currentVersion == "free-pro-team@latest" %} invite them to rejoin{% else %} add them back to{% endif %} your organization within that time frame. For more information, see "[Reinstating a former member of your organization](/articles/reinstating-a-former-member-of-your-organization)." +When you convert an organization member to an outside collaborator, their privileges as organization members are saved for three months so that you can restore their membership privileges if you{% ifversion fpt %} invite them to rejoin{% else %} add them back to{% endif %} your organization within that time frame. For more information, see "[Reinstating a former member of your organization](/articles/reinstating-a-former-member-of-your-organization)." {% data reusables.profile.access_org %} {% data reusables.user_settings.access_org %} diff --git a/content/organizations/managing-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member.md b/content/organizations/managing-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member.md index def540d283..dd8edae21f 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/converting-an-outside-collaborator-to-an-organization-member.md @@ -1,37 +1,37 @@ --- title: Converting an outside collaborator to an organization member -intro: 'If you would like to give an outside collaborator on your organization''s repositories broader permissions within your organization, you can {% if currentVersion == "free-pro-team@latest" %}invite them to become a member of{% else %}make them a member of{% endif %} the organization.' +intro: 'If you would like to give an outside collaborator on your organization''s repositories broader permissions within your organization, you can {% ifversion fpt %}invite them to become a member of{% else %}make them a member of{% endif %} the organization.' redirect_from: - /articles/converting-an-outside-collaborator-to-an-organization-member - /github/setting-up-and-managing-organizations-and-teams/converting-an-outside-collaborator-to-an-organization-member versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' -permissions: 'Organization owners can {% if currentVersion == "free-pro-team@latest" %}invite users to join{% else %}add users to{% endif %} an organization.' + fpt: '*' + ghes: '*' + ghae: '*' +permissions: 'Organization owners can {% ifversion fpt %}invite users to join{% else %}add users to{% endif %} an organization.' topics: - Organizations - Teams --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If your organization is on a paid per-user subscription, an unused license must be available before you can invite a new member to join the organization or reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." {% data reusables.organizations.org-invite-expiration %}{% endif %} -{% if currentVersion != "github-ae@latest" %} -If your organization [requires members to use two-factor authentication](/articles/requiring-two-factor-authentication-in-your-organization), users {% if currentVersion == "free-pro-team@latest" %}you invite must [enable two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) before they can accept the invitation.{% else %}must [enable two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) before you can add them to the organization.{% endif %} +{% ifversion not ghae %} +If your organization [requires members to use two-factor authentication](/articles/requiring-two-factor-authentication-in-your-organization), users {% ifversion fpt %}you invite must [enable two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) before they can accept the invitation.{% else %}must [enable two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) before you can add them to the organization.{% endif %} {% endif %} {% data reusables.profile.access_org %} {% data reusables.user_settings.access_org %} {% data reusables.organizations.people %} {% data reusables.organizations.people_tab_outside_collaborators %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 5. To the right of the name of the outside collaborator you want to become a member, use the {% octicon "gear" aria-label="The gear icon" %} drop-down menu and click **Invite to organization**.![Invite outside collaborators to organization](/assets/images/help/organizations/invite_outside_collaborator_to_organization.png) {% else %} 5. To the right of the name of the outside collaborator you want to become a member, click **Invite to organization**.![Invite outside collaborators to organization](/assets/images/enterprise/orgs-and-teams/invite_outside_collabs_to_org.png) {% endif %} {% data reusables.organizations.choose-to-restore-privileges %} {% data reusables.organizations.choose-user-role-send-invitation %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.organizations.user_must_accept_invite_email %} {% data reusables.organizations.cancel_org_invite %} {% endif %} diff --git a/content/organizations/managing-access-to-your-organizations-repositories/index.md b/content/organizations/managing-access-to-your-organizations-repositories/index.md index bb8b6612b7..279eed61cd 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/index.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/index.md @@ -7,9 +7,9 @@ redirect_from: - /articles/managing-access-to-your-organizations-repositories - /github/setting-up-and-managing-organizations-and-teams/managing-access-to-your-organizations-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md b/content/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md index 555b72254f..82bca3ed5e 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/managing-an-individuals-access-to-an-organization-repository.md @@ -7,9 +7,9 @@ redirect_from: - /articles/managing-an-individuals-access-to-an-organization-repository - /github/setting-up-and-managing-organizations-and-teams/managing-an-individuals-access-to-an-organization-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -38,5 +38,5 @@ When you remove a collaborator from a repository in your organization, the colla ## Further reading -{% if currentVersion == "free-pro-team@latest" %}- "[Limiting interactions with your repository](/articles/limiting-interactions-with-your-repository)"{% endif %} +{% ifversion fpt %}- "[Limiting interactions with your repository](/articles/limiting-interactions-with-your-repository)"{% endif %} - "[Repository permission levels for an organization](/articles/repository-permission-levels-for-an-organization)" diff --git a/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md b/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md index c6c63df0e9..5f76149acc 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/managing-team-access-to-an-organization-repository.md @@ -6,9 +6,9 @@ redirect_from: - /articles/managing-team-access-to-an-organization-repository - /github/setting-up-and-managing-organizations-and-teams/managing-team-access-to-an-organization-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md b/content/organizations/managing-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md index 7fd57a1882..89e5cd51b8 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/reinstating-a-former-outside-collaborators-access-to-your-organization.md @@ -6,15 +6,15 @@ redirect_from: - /articles/reinstating-a-former-outside-collaborators-access-to-your-organization - /github/setting-up-and-managing-organizations-and-teams/reinstating-a-former-outside-collaborators-access-to-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams --- -When an outside collaborator's access to your organization's private repositories is removed, the user's access privileges and settings are saved for three months. You can restore the user's privileges if you {% if currentVersion == "free-pro-team@latest" %}invite{% else %}add{% endif %} them back to the organization within that time frame. +When an outside collaborator's access to your organization's private repositories is removed, the user's access privileges and settings are saved for three months. You can restore the user's privileges if you {% ifversion fpt %}invite{% else %}add{% endif %} them back to the organization within that time frame. {% data reusables.two_fa.send-invite-to-reinstate-user-before-2fa-is-enabled %} @@ -31,7 +31,7 @@ When you reinstate a former outside collaborator, you can restore: **Tips**: - Only organization owners can reinstate outside collaborators' access to an organization. For more information, see "[Permission levels for an organization](/articles/permission-levels-for-an-organization)." - - The reinstating a member flow on {% data variables.product.product_location %} may use the term "member" to describe reinstating an outside collaborator but if you reinstate this person and keep their previous privileges, they will only have their previous [outside collaborator permissions](/articles/permission-levels-for-an-organization/#outside-collaborators).{% if currentVersion == "free-pro-team@latest" %} + - The reinstating a member flow on {% data variables.product.product_location %} may use the term "member" to describe reinstating an outside collaborator but if you reinstate this person and keep their previous privileges, they will only have their previous [outside collaborator permissions](/articles/permission-levels-for-an-organization/#outside-collaborators).{% ifversion fpt %} - If your organization has a paid per-user subscription, an unused license must be available before you can invite a new member to join the organization or reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)."{% endif %} {% endtip %} @@ -41,7 +41,7 @@ When you reinstate a former outside collaborator, you can restore: {% data reusables.organizations.people %} {% data reusables.organizations.invite_member_from_people_tab %} {% data reusables.organizations.reinstate-user-type-username %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 6. Choose to restore the outside collaborator's previous privileges in the organization by clicking **Invite and reinstate** or choose to clear their previous privileges and set new access permissions by clicking **Invite and start fresh**. {% warning %} @@ -62,14 +62,14 @@ When you reinstate a former outside collaborator, you can restore: ![Choose to restore settings or not](/assets/images/help/organizations/choose_whether_to_restore_org_member_info_ghe.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 7. If you cleared the previous privileges for a former outside collaborator, choose a role for the user and optionally add them to some teams, then click **Send invitation**. ![Role and team options and send invitation button](/assets/images/help/organizations/add-role-send-invitation.png) {% else %} 7. If you cleared the previous privileges for a former outside collaborator, choose a role for the user and optionally add them to some teams, then click **Add member**. ![Role and team options and add member button](/assets/images/help/organizations/add-role-add-member.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 8. The invited person will receive an email inviting them to the organization. They will need to accept the invitation before becoming an outside collaborator in the organization. {% data reusables.organizations.cancel_org_invite %} {% endif %} diff --git a/content/organizations/managing-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md b/content/organizations/managing-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md index de6414f1d0..d6230c9b04 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/removing-an-outside-collaborator-from-an-organization-repository.md @@ -5,15 +5,15 @@ redirect_from: - /articles/removing-an-outside-collaborator-from-an-organization-repository - /github/setting-up-and-managing-organizations-and-teams/removing-an-outside-collaborator-from-an-organization-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% warning %} diff --git a/content/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization.md b/content/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization.md index 924622eb02..c8c0a2904f 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization.md @@ -7,9 +7,9 @@ redirect_from: - /articles/repository-permission-levels-for-an-organization - /github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -28,7 +28,7 @@ From least access to most access, the permission levels for an organization repo - **Maintain**: Recommended for project managers who need to manage the repository without access to sensitive or destructive actions - **Admin**: Recommended for people who need full access to the project, including sensitive and destructive actions like managing security or deleting a repository -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% endif %} @@ -47,7 +47,7 @@ In addition to managing organization-level settings, organization owners have ad {% endwarning %} ## Repository access for each permission level -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} {% note %} **Note:** Repository permissions required to use security features are listed in "[Permission requirements for security features](#permission-requirements-for-security-features)" below. @@ -66,13 +66,13 @@ In addition to managing organization-level settings, organization owners have ad | Have an issue assigned to them | **X** | **X** | **X** | **X** | **X** | | Send pull requests from forks of the team's assigned repositories | **X** | **X** | **X** | **X** | **X** | | Submit reviews on pull requests | **X** | **X** | **X** | **X** | **X** | -| View published releases | **X** | **X** | **X** | **X** | **X** |{% if currentVersion == "free-pro-team@latest" %} +| View published releases | **X** | **X** | **X** | **X** | **X** |{% ifversion fpt %} | View [GitHub Actions workflow runs](/actions/automating-your-workflow-with-github-actions/managing-a-workflow-run) | **X** | **X** | **X** | **X** | **X** |{% endif %} -| Edit wikis | **X** | **X** | **X** | **X** | **X** |{% if currentVersion == "free-pro-team@latest" %} +| Edit wikis | **X** | **X** | **X** | **X** | **X** |{% ifversion fpt %} | [Report abusive or spammy content](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) | **X** | **X** | **X** | **X** | **X** |{% endif %} | Apply/dismiss labels | | **X** | **X** | **X** | **X** | | Create, edit, delete labels | | | **X** | **X** | **X** | -| Close, reopen, and assign all issues and pull requests | | **X** | **X** | **X** | **X** |{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +| Close, reopen, and assign all issues and pull requests | | **X** | **X** | **X** | **X** |{% ifversion fpt or ghae or ghes > 3.0 %} | [Enable and disable auto-merge on a pull request](/github/administering-a-repository/managing-auto-merge-for-pull-requests-in-your-repository) | | | **X** | **X** | **X** |{% endif %} | Apply milestones | | **X** | **X** | **X** | **X** | | Mark [duplicate issues and pull requests](/articles/about-duplicate-issues-and-pull-requests)| | **X** | **X** | **X** | **X** | @@ -87,21 +87,21 @@ In addition to managing organization-level settings, organization owners have ad | [Convert a pull request to a draft](/articles/changing-the-stage-of-a-pull-request) | | | **X** | **X** | **X** | | Submit reviews that affect a pull request's mergeability | | | **X** | **X** | **X** | | [Apply suggested changes](/articles/incorporating-feedback-in-your-pull-request) to pull requests | | | **X** | **X** | **X** | -| Create [status checks](/articles/about-status-checks) | | | **X** | **X** | **X** |{% if currentVersion == "free-pro-team@latest" %} +| Create [status checks](/articles/about-status-checks) | | | **X** | **X** | **X** |{% ifversion fpt %} | Create, edit, run, re-run, and cancel [GitHub Actions workflows](/actions/automating-your-workflow-with-github-actions/) | | | **X** | **X** | **X** |{% endif %} | Create and edit releases | | | **X** | **X** | **X** | | View draft releases | | | **X** | **X** | **X** | -| Edit a repository's description | | | | **X** | **X** |{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} +| Edit a repository's description | | | | **X** | **X** |{% ifversion fpt or ghae %} | [View and install packages](/packages/publishing-and-managing-packages) | **X** | **X** | **X** | **X** | **X** | | [Publish packages](/packages/publishing-and-managing-packages/publishing-a-package) | | | **X** | **X** | **X** | -| {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Delete and restore packages](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Delete packages](/packages/learn-github-packages/deleting-a-package){% endif %} | | | | | **X** | {% endif %} +| {% ifversion fpt or ghes > 3.0 %}[Delete and restore packages](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Delete packages](/packages/learn-github-packages/deleting-a-package){% endif %} | | | | | **X** | {% endif %} | Manage [topics](/articles/classifying-your-repository-with-topics) | | | | **X** | **X** | | Enable wikis and restrict wiki editors | | | | **X** | **X** | | Enable project boards | | | | **X** | **X** | | Configure [pull request merges](/articles/configuring-pull-request-merges) | | | | **X** | **X** | | Configure [a publishing source for {% data variables.product.prodname_pages %}](/articles/configuring-a-publishing-source-for-github-pages) | | | | **X** | **X** | | [Push to protected branches](/articles/about-protected-branches) | | | | **X** | **X** | -| [Create and edit repository social cards](/articles/customizing-your-repositorys-social-media-preview) | | | | **X** | **X** |{% if currentVersion == "free-pro-team@latest" %} +| [Create and edit repository social cards](/articles/customizing-your-repositorys-social-media-preview) | | | | **X** | **X** |{% ifversion fpt %} | Limit [interactions in a repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)| | | | **X** | **X** |{% endif %} | Delete an issue (see "[Deleting an issue](/articles/deleting-an-issue)") | | | | | **X** | | Merge pull requests on protected branches, even if there are no approving reviews | | | | | **X** | @@ -112,17 +112,17 @@ In addition to managing organization-level settings, organization owners have ad | Make a repository a template (see "[Creating a template repository](/articles/creating-a-template-repository)") | | | | | **X** | | Change a repository's settings | | | | | **X** | | Manage team and collaborator access to the repository | | | | | **X** | -| Edit the repository's default branch | | | | | **X** |{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +| Edit the repository's default branch | | | | | **X** |{% ifversion fpt or ghes > 3.0 %} | Rename the repository's default branch (see "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)") | | | | | **X** | | Rename a branch other than the repository's default branch (see "[Renaming a branch](/github/administering-a-repository/renaming-a-branch)") | | | **X** | **X** | **X** |{% endif %} -| Manage webhooks and deploy keys | | | | | **X** |{% if currentVersion == "free-pro-team@latest" %} +| Manage webhooks and deploy keys | | | | | **X** |{% ifversion fpt %} | [Manage data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository) | | | | | **X** |{% endif %} | [Manage the forking policy for a repository](/github/administering-a-repository/managing-the-forking-policy-for-your-repository) | | | | | **X** | | [Transfer repositories into the organization](/articles/restricting-repository-creation-in-your-organization) | | | | | **X** | | [Delete or transfer repositories out of the organization](/articles/setting-permissions-for-deleting-or-transferring-repositories) | | | | | **X** | -| [Archive repositories](/articles/about-archiving-repositories) | | | | | **X** |{% if currentVersion == "free-pro-team@latest" %} +| [Archive repositories](/articles/about-archiving-repositories) | | | | | **X** |{% ifversion fpt %} | Display a sponsor button (see "[Displaying a sponsor button in your repository](/articles/displaying-a-sponsor-button-in-your-repository)") | | | | | **X** |{% endif %} -| Create autolink references to external resources, like JIRA or Zendesk (see "[Configuring autolinks to reference external resources](/articles/configuring-autolinks-to-reference-external-resources)") | | | | | **X** |{% if currentVersion == "free-pro-team@latest" %} +| Create autolink references to external resources, like JIRA or Zendesk (see "[Configuring autolinks to reference external resources](/articles/configuring-autolinks-to-reference-external-resources)") | | | | | **X** |{% ifversion fpt %} | [Enable {% data variables.product.prodname_discussions %}](/github/administering-a-repository/enabling-or-disabling-github-discussions-for-a-repository) in a repository | | | | **X** | **X** | | [Create and edit categories](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository) for {% data variables.product.prodname_discussions %} | | | | **X** | **X** | | [Move a discussion to a different category](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository) | | | **X** | **X** | **X** | @@ -132,32 +132,32 @@ In addition to managing organization-level settings, organization owners have ad | [Lock and unlock discussions](/discussions/managing-discussions-for-your-community/moderating-discussions) | | **X** | **X** | **X** | **X** | | [Individually convert issues to discussions](/discussions/managing-discussions-for-your-community/moderating-discussions) | | **X** | **X** | **X** | **X** | | [Create new discussions and comment on existing discussions](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion) | **X** | **X** | **X** | **X** | **X** | -| [Delete a discussion](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#deleting-a-discussion) | | | | **X** | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" %} +| [Delete a discussion](/discussions/managing-discussions-for-your-community/managing-discussions-in-your-repository#deleting-a-discussion) | | | | **X** | **X** |{% endif %}{% ifversion fpt %} | Create [codespaces](/codespaces/about-codespaces) | | | **X** | **X** | **X** |{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} ### Permission requirements for security features In this section, you can find the repository permission levels required for security features, such as {% data variables.product.prodname_advanced_security %} features. | Repository action | Read | Triage | Write | Maintain | Admin | -|:---|:---:|:---:|:---:|:---:|:---:|{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +|:---|:---:|:---:|:---:|:---:|:---:|{% ifversion fpt or ghes > 2.22 %} | Receive [{% data variables.product.prodname_dependabot_alerts %} for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies) in a repository | | | | | **X** | | [Dismiss {% data variables.product.prodname_dependabot_alerts %}](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository) | | | | | **X** | -| [Designate additional people or teams to receive {% data variables.product.prodname_dependabot_alerts %}](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) for vulnerable dependencies | | | | | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" %} -| Create [security advisories](/code-security/security-advisories/about-github-security-advisories) | | | | | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} -| Manage access to {% data variables.product.prodname_GH_advanced_security %} features (see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)") | | | | | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" %} +| [Designate additional people or teams to receive {% data variables.product.prodname_dependabot_alerts %}](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) for vulnerable dependencies | | | | | **X** |{% endif %}{% ifversion fpt %} +| Create [security advisories](/code-security/security-advisories/about-github-security-advisories) | | | | | **X** |{% endif %}{% ifversion fpt or ghes > 2.22 or ghae %} +| Manage access to {% data variables.product.prodname_GH_advanced_security %} features (see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)") | | | | | **X** |{% endif %}{% ifversion fpt %} | [Enable the dependency graph](/code-security/supply-chain-security/exploring-the-dependencies-of-a-repository) for a private repository | | | | | **X** | -| [View dependency reviews](/code-security/supply-chain-security/about-dependency-review) | **X** | **X** | **X** | **X** | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +| [View dependency reviews](/code-security/supply-chain-security/about-dependency-review) | **X** | **X** | **X** | **X** | **X** |{% endif %}{% ifversion fpt or ghes > 2.21 or ghae %} | [View {% data variables.product.prodname_code_scanning %} alerts on pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests) | **X** | **X** | **X** | **X** | **X** | -| [List, dismiss, and delete {% data variables.product.prodname_code_scanning %} alerts](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository) | | | **X** | **X** | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == 'github-ae@next' %} +| [List, dismiss, and delete {% data variables.product.prodname_code_scanning %} alerts](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository) | | | **X** | **X** | **X** |{% endif %}{% ifversion fpt or ghes > 3.0 or ghae-next %} | [View {% data variables.product.prodname_secret_scanning %} alerts in a repository](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **X**[1] | **X**[1] | **X** | -| [Resolve, revoke, or re-open {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **X**[1] | **X**[1] | **X** |{% endif %}{% if currentVersion == "enterprise-server@3.0" %} +| [Resolve, revoke, or re-open {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | **X**[1] | **X**[1] | **X** |{% endif %}{% ifversion ghes = 3.0 %} | [View {% data variables.product.prodname_secret_scanning %} alerts in a repository](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | | | **X** | -| [Resolve, revoke, or re-open {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | | | **X** |{% endif %}{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +| [Resolve, revoke, or re-open {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-alerts-from-secret-scanning) | | | | | **X** |{% endif %}{% ifversion fpt or ghes > 2.22 %} | [Designate additional people or teams to receive {% data variables.product.prodname_secret_scanning %} alerts](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) in repositories | | | | | **X** |{% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == 'github-ae@next' %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} [1] Repository writers and maintainers can only see alert information for their own commits. {% endif %} {% endif %} diff --git a/content/organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization.md b/content/organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization.md index 846d90cd96..0bcaac0015 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/setting-base-permissions-for-an-organization.md @@ -5,9 +5,9 @@ permissions: Organization owners can set base permissions for an organization. redirect_from: - /github/setting-up-and-managing-organizations-and-teams/setting-base-permissions-for-an-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -17,7 +17,7 @@ topics: You can set base permissions that apply to all members of an organization when accessing any of the organization's repositories. Base permissions do not apply to outside collaborators. -{% if currentVersion == "free-pro-team@latest" %}By default, members of an organization will have **Read** permissions to the organization's repositories.{% endif %} +{% ifversion fpt %}By default, members of an organization will have **Read** permissions to the organization's repositories.{% endif %} If someone with admin permissions to an organization's repository grants a member a higher level of permission for the repository, the higher level of permission overrides the base permission. diff --git a/content/organizations/managing-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md b/content/organizations/managing-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md index ae2ceba00a..e550e82480 100644 --- a/content/organizations/managing-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md +++ b/content/organizations/managing-access-to-your-organizations-repositories/viewing-people-with-access-to-your-repository.md @@ -5,9 +5,9 @@ redirect_from: - /articles/viewing-people-with-access-to-your-repository - /github/setting-up-and-managing-organizations-and-teams/viewing-people-with-access-to-your-repository versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -19,7 +19,7 @@ Administrators can use this information to help off-board people, gather data fo ## Viewing people with access to your repository -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note**: You can also see a combined overview of teams and people with access to your repository. For more information, see "[Managing teams and people with access to your repository](/github/administering-a-repository/managing-teams-and-people-with-access-to-your-repository)." diff --git a/content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md b/content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md index b807a722b7..d77b372be3 100644 --- a/content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md +++ b/content/organizations/managing-git-access-to-your-organizations-repositories/about-ssh-certificate-authorities.md @@ -6,9 +6,9 @@ redirect_from: - /articles/about-ssh-certificate-authorities - /github/setting-up-and-managing-organizations-and-teams/about-ssh-certificate-authorities versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -16,7 +16,7 @@ topics: An SSH certificate is a mechanism for one SSH key to sign another SSH key. If you use an SSH certificate authority (CA) to provide your organization members with signed SSH certificates, you can add the CA to your enterprise account or organization to allow organization members to use their certificates to access organization resources. For more information, see "[Managing your organization's SSH certificate authorities](/articles/managing-your-organizations-ssh-certificate-authorities)." -After you add an SSH CA to your organization or enterprise account, you can use the CA to sign client SSH certificates for organization members. Organization members can use the signed certificates to access your organization's repositories (and only your organization's repositories) with Git. You can require that members use SSH certificates to access organization resources.{% if currentVersion == "free-pro-team@latest" %} For more information, see "[Enforcing security settings in your enterprise account](/articles/enforcing-security-settings-in-your-enterprise-account#managing-your-enterprise-accounts-ssh-certificate-authorities)."{% endif %} +After you add an SSH CA to your organization or enterprise account, you can use the CA to sign client SSH certificates for organization members. Organization members can use the signed certificates to access your organization's repositories (and only your organization's repositories) with Git. You can require that members use SSH certificates to access organization resources.{% ifversion fpt %} For more information, see "[Enforcing security settings in your enterprise account](/articles/enforcing-security-settings-in-your-enterprise-account#managing-your-enterprise-accounts-ssh-certificate-authorities)."{% endif %} For example, you can build an internal system that issues a new certificate to your developers every morning. Each developer can use their daily certificate to work on your organization's repositories on {% data variables.product.product_name %}. At the end of the day, the certificate can automatically expire, protecting your repositories if the certificate is later compromised. @@ -38,7 +38,7 @@ You can restrict the IP addresses from which an organization member can access y $ ssh-keygen -s ./ca-key -I KEY-IDENTITY -O extension:login@{% data variables.product.product_url %}=USERNAME -O source-address=COMMA-SEPARATED-LIST-OF-IP-ADDRESSES-OR-RANGES ./user-key.pub ``` -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Organization members can use their signed certificates for authentication even if you've enforced SAML single sign-on. Unless you make SSH certificates a requirement, organization members can continue to use other means of authentication to access your organization's resources with Git, including their username and password, personal access tokens, and their own SSH keys. diff --git a/content/organizations/managing-git-access-to-your-organizations-repositories/index.md b/content/organizations/managing-git-access-to-your-organizations-repositories/index.md index 12cc9249b1..86c7754729 100644 --- a/content/organizations/managing-git-access-to-your-organizations-repositories/index.md +++ b/content/organizations/managing-git-access-to-your-organizations-repositories/index.md @@ -7,9 +7,9 @@ redirect_from: - /articles/managing-git-access-to-your-organizations-repositories - /github/setting-up-and-managing-organizations-and-teams/managing-git-access-to-your-organizations-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md b/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md index f623f98f2e..7cd21756de 100644 --- a/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md +++ b/content/organizations/managing-git-access-to-your-organizations-repositories/managing-your-organizations-ssh-certificate-authorities.md @@ -6,9 +6,9 @@ redirect_from: - /articles/managing-your-organizations-ssh-certificate-authorities - /github/setting-up-and-managing-organizations-and-teams/managing-your-organizations-ssh-certificate-authorities versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-membership-in-your-organization/adding-people-to-your-organization.md b/content/organizations/managing-membership-in-your-organization/adding-people-to-your-organization.md index 51528a6a83..5050154c1d 100644 --- a/content/organizations/managing-membership-in-your-organization/adding-people-to-your-organization.md +++ b/content/organizations/managing-membership-in-your-organization/adding-people-to-your-organization.md @@ -5,12 +5,12 @@ redirect_from: - /articles/adding-people-to-your-organization - /github/setting-up-and-managing-organizations-and-teams/adding-people-to-your-organization versions: - enterprise-server: '*' - github-ae: '*' -permissions: 'Organization owners can add people to an organization.' + ghes: '*' + ghae: '*' +permissions: Organization owners can add people to an organization. --- -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} If your organization [requires members to use two-factor authentication](/articles/requiring-two-factor-authentication-in-your-organization), users must [enable two-factor authentication](/articles/securing-your-account-with-two-factor-authentication-2fa) before you can add them to the organization. {% endif %} diff --git a/content/organizations/managing-membership-in-your-organization/can-i-create-accounts-for-people-in-my-organization.md b/content/organizations/managing-membership-in-your-organization/can-i-create-accounts-for-people-in-my-organization.md index 1f43b5454d..c86dd7bdb3 100644 --- a/content/organizations/managing-membership-in-your-organization/can-i-create-accounts-for-people-in-my-organization.md +++ b/content/organizations/managing-membership-in-your-organization/can-i-create-accounts-for-people-in-my-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/can-i-create-accounts-for-people-in-my-organization - /github/setting-up-and-managing-organizations-and-teams/can-i-create-accounts-for-people-in-my-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-membership-in-your-organization/canceling-or-editing-an-invitation-to-join-your-organization.md b/content/organizations/managing-membership-in-your-organization/canceling-or-editing-an-invitation-to-join-your-organization.md index 5407e34f17..e5168b02f2 100644 --- a/content/organizations/managing-membership-in-your-organization/canceling-or-editing-an-invitation-to-join-your-organization.md +++ b/content/organizations/managing-membership-in-your-organization/canceling-or-editing-an-invitation-to-join-your-organization.md @@ -5,7 +5,7 @@ redirect_from: - /articles/canceling-or-editing-an-invitation-to-join-your-organization - /github/setting-up-and-managing-organizations-and-teams/canceling-or-editing-an-invitation-to-join-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams @@ -27,7 +27,7 @@ topics: ## Further reading -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - "[Inviting users to join your organization](/articles/inviting-users-to-join-your-organization)" {% endif %} - "[Adding organization members to a team](/articles/adding-organization-members-to-a-team)" diff --git a/content/organizations/managing-membership-in-your-organization/index.md b/content/organizations/managing-membership-in-your-organization/index.md index 31166074b6..b21ffe27be 100644 --- a/content/organizations/managing-membership-in-your-organization/index.md +++ b/content/organizations/managing-membership-in-your-organization/index.md @@ -1,14 +1,14 @@ --- title: Managing membership in your organization -intro: 'After you create your organization, you can {% if currentVersion == "free-pro-team@latest" %}invite people to become{% else %}add people as{% endif %} members of the organization. You can also remove members of the organization, and reinstate former members.' +intro: 'After you create your organization, you can {% ifversion fpt %}invite people to become{% else %}add people as{% endif %} members of the organization. You can also remove members of the organization, and reinstate former members.' redirect_from: - /articles/removing-a-user-from-your-organization/ - /articles/managing-membership-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/managing-membership-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md b/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md index 366f44b390..c0e50ec271 100644 --- a/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md +++ b/content/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization.md @@ -7,7 +7,7 @@ redirect_from: - /articles/inviting-users-to-join-your-organization - /github/setting-up-and-managing-organizations-and-teams/inviting-users-to-join-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md b/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md index 7d3f050023..11ee018512 100644 --- a/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md +++ b/content/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization.md @@ -1,13 +1,13 @@ --- title: Reinstating a former member of your organization -intro: 'Organization owners can {% if currentVersion == "free-pro-team@latest" %}invite former organization members to rejoin{% else %}add former members to{% endif%} your organization, and choose whether to restore the person''s former role, access permissions, forks, and settings.' +intro: 'Organization owners can {% ifversion fpt %}invite former organization members to rejoin{% else %}add former members to{% endif%} your organization, and choose whether to restore the person''s former role, access permissions, forks, and settings.' redirect_from: - /articles/reinstating-a-former-member-of-your-organization - /github/setting-up-and-managing-organizations-and-teams/reinstating-a-former-member-of-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' permissions: Organization owners can reinstate a former member of an organization. topics: - Organizations @@ -16,7 +16,7 @@ topics: ## About member reinstatement -If you [remove a user from your organization](/articles/removing-a-member-from-your-organization){% if currentVersion == "github-ae@latest" %} or{% else %},{% endif %} [convert an organization member to an outside collaborator](/articles/converting-an-organization-member-to-an-outside-collaborator){% if currentVersion != "github-ae@latest" %}, or a user is removed from your organization because you've [required members and outside collaborators to enable two-factor authentication (2FA)](/articles/requiring-two-factor-authentication-in-your-organization){% endif %}, the user's access privileges and settings are saved for three months. You can restore the user's privileges if you {% if currentVersion == "free-pro-team@latest" %}invite{% else %}add{% endif %} them back to the organization within that time frame. +If you [remove a user from your organization](/articles/removing-a-member-from-your-organization){% ifversion ghae %} or{% else %},{% endif %} [convert an organization member to an outside collaborator](/articles/converting-an-organization-member-to-an-outside-collaborator){% ifversion not ghae %}, or a user is removed from your organization because you've [required members and outside collaborators to enable two-factor authentication (2FA)](/articles/requiring-two-factor-authentication-in-your-organization){% endif %}, the user's access privileges and settings are saved for three months. You can restore the user's privileges if you {% ifversion fpt %}invite{% else %}add{% endif %} them back to the organization within that time frame. {% data reusables.two_fa.send-invite-to-reinstate-user-before-2fa-is-enabled %} @@ -29,11 +29,11 @@ When you reinstate a former organization member, you can restore: - Issue assignments in the organization - Repository subscriptions (notification settings for watching, not watching, or ignoring a repository's activity) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If an organization member was removed from the organization because they did not use two-factor authentication and your organization still requires members to use 2FA, the former member must enable two-factor authentication before you can reinstate their membership. {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If your organization has a paid per-user subscription, an unused license must be available before you can reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." {% data reusables.organizations.org-invite-expiration %} {% endif %} @@ -44,21 +44,21 @@ If your organization has a paid per-user subscription, an unused license must be {% data reusables.organizations.people %} {% data reusables.organizations.invite_member_from_people_tab %} {% data reusables.organizations.reinstate-user-type-username %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 6. Choose whether to restore that person's previous privileges in the organization or clear their previous privileges and set new access permissions, then click **Invite and reinstate** or **Invite and start fresh**. ![Choose to restore info or not](/assets/images/help/organizations/choose_whether_to_restore_org_member_info.png) {% else %} 6. Choose whether to restore that person's previous privileges in the organization or clear their previous privileges and set new access permissions, then click **Add and reinstate** or **Add and start fresh**. ![Choose whether to restore privileges](/assets/images/help/organizations/choose_whether_to_restore_org_member_info_ghe.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 7. If you cleared the previous privileges for a former organization member, choose a role for the user, and optionally add them to some teams, then click **Send invitation**. ![Role and team options and send invitation button](/assets/images/help/organizations/add-role-send-invitation.png) {% else %} 7. If you cleared the previous privileges for a former organization member, choose a role for the user, and optionally add them to some teams, then click **Add member**. ![Role and team options and add member button](/assets/images/help/organizations/add-role-add-member.png) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.organizations.user_must_accept_invite_email %} {% data reusables.organizations.cancel_org_invite %} {% endif %} diff --git a/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md b/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md index 860552f8b1..8606e62e12 100644 --- a/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md +++ b/content/organizations/managing-membership-in-your-organization/removing-a-member-from-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/removing-a-member-from-your-organization - /github/setting-up-and-managing-organizations-and-teams/removing-a-member-from-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -15,7 +15,7 @@ topics: Only organization owners can remove members from an organization. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% warning %} @@ -38,7 +38,7 @@ Only organization owners can remove members from an organization. {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} To help the person you're removing from your organization transition and help ensure they delete confidential information or intellectual property, we recommend sharing a checklist of best practices for leaving your organization. For an example, see "[Best practices for leaving your company](/articles/best-practices-for-leaving-your-company/)." diff --git a/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md b/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md index ff8b958b55..383f23479c 100644 --- a/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md +++ b/content/organizations/managing-organization-settings/allowing-people-to-delete-issues-in-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/allowing-people-to-delete-issues-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/allowing-people-to-delete-issues-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md b/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md index ffe997ea32..b7b7530ab5 100644 --- a/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md +++ b/content/organizations/managing-organization-settings/changing-the-visibility-of-your-organizations-dependency-insights.md @@ -6,7 +6,7 @@ redirect_from: - /articles/changing-the-visibility-of-your-organizations-dependency-insights - /github/setting-up-and-managing-organizations-and-teams/changing-the-visibility-of-your-organizations-dependency-insights versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md b/content/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md index 412aaa955b..3808021e3f 100644 --- a/content/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md +++ b/content/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization.md @@ -4,9 +4,9 @@ intro: 'You can configure the retention period for {% data variables.product.pro redirect_from: - /github/setting-up-and-managing-organizations-and-teams/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '>=2.23' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md b/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md index 91d41ce717..9f2e11baa1 100644 --- a/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md +++ b/content/organizations/managing-organization-settings/converting-an-organization-into-a-user.md @@ -5,14 +5,14 @@ redirect_from: - /articles/converting-an-organization-into-a-user - /github/setting-up-and-managing-organizations-and-teams/converting-an-organization-into-a-user versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Organizations - Teams --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. [Sign up](/articles/signing-up-for-a-new-github-account) for a new GitHub user account. 2. [Have the user's role changed to an owner](/articles/changing-a-person-s-role-to-owner). diff --git a/content/organizations/managing-organization-settings/deleting-an-organization-account.md b/content/organizations/managing-organization-settings/deleting-an-organization-account.md index 3ff7bd693e..752fee114a 100644 --- a/content/organizations/managing-organization-settings/deleting-an-organization-account.md +++ b/content/organizations/managing-organization-settings/deleting-an-organization-account.md @@ -1,19 +1,19 @@ --- title: Deleting an organization account -intro: 'When you delete an organization, all repositories, forks of private repositories, wikis, issues, pull requests, and Project or Organization Pages are deleted as well. {% if currentVersion == "free-pro-team@latest" %}The organization name becomes available for use on a new user or organization account, and your billing will end.{% endif %}' +intro: 'When you delete an organization, all repositories, forks of private repositories, wikis, issues, pull requests, and Project or Organization Pages are deleted as well. {% ifversion fpt %}The organization name becomes available for use on a new user or organization account, and your billing will end.{% endif %}' redirect_from: - /articles/deleting-an-organization-account - /github/setting-up-and-managing-organizations-and-teams/deleting-an-organization-account versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% tip %} **Tip**: If you want to cancel your paid subscription, you can [downgrade your organization to {% data variables.product.prodname_free_team %}](/articles/downgrading-your-github-subscription) instead of deleting the organization and its content. diff --git a/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md b/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md index 273fbe7312..d78c59f5f4 100644 --- a/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md +++ b/content/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization.md @@ -4,9 +4,9 @@ intro: 'Organization owners can disable, enable, and limit GitHub Actions for an redirect_from: - /github/setting-up-and-managing-organizations-and-teams/disabling-or-limiting-github-actions-for-your-organization versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' topics: - Organizations - Teams @@ -23,7 +23,7 @@ You can enable {% data variables.product.prodname_actions %} for all repositorie Alternatively, you can enable {% data variables.product.prodname_actions %} for all repositories in your organization but limit the actions a workflow can run. {% data reusables.github-actions.enabled-local-github-actions %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %} +{% ifversion ghes < 3.0 %} ## Managing {% data variables.product.prodname_actions %} permissions for your organization @@ -36,7 +36,7 @@ Alternatively, you can enable {% data variables.product.prodname_actions %} for {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Managing {% data variables.product.prodname_actions %} permissions for your organization @@ -46,7 +46,7 @@ You can disable all workflows for an organization or set a policy that configure {% note %} -**Note:** You might not be able to manage these settings if your organization is managed by an enterprise that has overriding policy. For more information, {% if currentVersion == "free-pro-team@latest" %}"[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)."{% else %}"[Enforcing {% data variables.product.prodname_actions %} policies for your enterprise](/enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)."{% endif %} +**Note:** You might not be able to manage these settings if your organization is managed by an enterprise that has overriding policy. For more information, {% ifversion fpt %}"[Enforcing {% data variables.product.prodname_actions %} policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-github-actions-policies-in-your-enterprise-account)."{% else %}"[Enforcing {% data variables.product.prodname_actions %} policies for your enterprise](/enterprise/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)."{% endif %} {% endnote %} @@ -70,7 +70,7 @@ You can disable all workflows for an organization or set a policy that configure {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} ## Enabling workflows for private repository forks {% data reusables.github-actions.private-repository-forks-overview %} @@ -83,7 +83,7 @@ You can disable all workflows for an organization or set a policy that configure {% data reusables.github-actions.private-repository-forks-configure %} {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## Setting the permissions of the `GITHUB_TOKEN` for your organization {% data reusables.github-actions.workflow-permissions-intro %} diff --git a/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md b/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md index 251edf5b49..c94a4e2108 100644 --- a/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md +++ b/content/organizations/managing-organization-settings/disabling-project-boards-in-your-organization.md @@ -6,9 +6,9 @@ redirect_from: - /articles/disabling-project-boards-in-your-organization - /github/managing-your-work-on-github/disabling-project-boards-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pull requests --- diff --git a/content/organizations/managing-organization-settings/index.md b/content/organizations/managing-organization-settings/index.md index 7f58a503d2..90bf8f7297 100644 --- a/content/organizations/managing-organization-settings/index.md +++ b/content/organizations/managing-organization-settings/index.md @@ -5,9 +5,9 @@ redirect_from: - /articles/managing-organization-settings - /github/setting-up-and-managing-organizations-and-teams/managing-organization-settings versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -38,5 +38,5 @@ children: - /upgrading-to-the-corporate-terms-of-service - /disabling-project-boards-in-your-organization --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% endif %} diff --git a/content/organizations/managing-organization-settings/integrating-jira-with-your-organization-project-board.md b/content/organizations/managing-organization-settings/integrating-jira-with-your-organization-project-board.md index 67943efbf4..ed867aac62 100644 --- a/content/organizations/managing-organization-settings/integrating-jira-with-your-organization-project-board.md +++ b/content/organizations/managing-organization-settings/integrating-jira-with-your-organization-project-board.md @@ -5,8 +5,8 @@ redirect_from: - /articles/integrating-jira-with-your-organization-project-board - /github/setting-up-and-managing-organizations-and-teams/integrating-jira-with-your-organization-project-board versions: - enterprise-server: '*' - github-ae: '*' + ghes: '*' + ghae: '*' --- {% data reusables.user_settings.access_settings %} 2. In the left sidebar under **Organization settings**, click the name of your organization. diff --git a/content/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization.md b/content/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization.md index f91c24c654..8390c0d3b7 100644 --- a/content/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-default-labels-for-repositories-in-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/managing-default-labels-for-repositories-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/managing-default-labels-for-repositories-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '>=2.20' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -21,7 +21,7 @@ Default labels are included in every new repository in your organization, but an {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} {% data reusables.organizations.repository-defaults %} {% else %} {% data reusables.organizations.repository-labels %} @@ -37,7 +37,7 @@ Default labels are included in every new repository in your organization, but an {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} {% data reusables.organizations.repository-defaults %} {% else %} {% data reusables.organizations.repository-labels %} @@ -52,7 +52,7 @@ Default labels are included in every new repository in your organization, but an {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} {% data reusables.organizations.repository-defaults %} {% else %} {% data reusables.organizations.repository-labels %} diff --git a/content/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization.md b/content/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization.md index cc7666248f..d29ae49603 100644 --- a/content/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-discussion-creation-for-repositories-in-your-organization.md @@ -5,7 +5,7 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-discussion-creation-for-repositories-in-your-organization permissions: Organization owners can manage discussion creation for repositories owned by the organization. versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization.md b/content/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization.md index 4e46aa743b..877602ab55 100644 --- a/content/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization.md @@ -4,7 +4,7 @@ intro: You can get reminders in Slack for all pull requests that teams in your o redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md b/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md index 793b5a0ba1..d8ad35c079 100644 --- a/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-the-default-branch-name-for-repositories-in-your-organization permissions: Organization owners can manage the default branch name for new repositories in the organization. versions: - free-pro-team: '*' - enterprise-server: '>=2.23' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' topics: - Organizations - Teams @@ -19,7 +19,7 @@ When a member of your organization creates a new repository in your organization {% data reusables.branches.change-default-branch %} -If an enterprise owner has enforced a policy for the default branch name for your enterprise, you cannot set a default branch name for your organization. Instead, you can change the default branch for individual repositories. For more information, see {% if currentVersion == "free-pro-team@latest" %}"[Enforcing repository management policies in your enterprise](/github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account#enforcing-a-policy-on-the-default-branch-name)"{% else %}"[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-on-the-default-branch-name)"{% endif %} and "[Changing the default branch](/github/administering-a-repository/changing-the-default-branch)." +If an enterprise owner has enforced a policy for the default branch name for your enterprise, you cannot set a default branch name for your organization. Instead, you can change the default branch for individual repositories. For more information, see {% ifversion fpt %}"[Enforcing repository management policies in your enterprise](/github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account#enforcing-a-policy-on-the-default-branch-name)"{% else %}"[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-on-the-default-branch-name)"{% endif %} and "[Changing the default branch](/github/administering-a-repository/changing-the-default-branch)." ## Setting the default branch name diff --git a/content/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization.md b/content/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization.md index 44cbc6b432..5b9408cf4e 100644 --- a/content/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-the-display-of-member-names-in-your-organization.md @@ -6,9 +6,9 @@ redirect_from: - /articles/managing-the-display-of-member-names-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/managing-the-display-of-member-names-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md b/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md index f350782e73..ba4aba972a 100644 --- a/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization.md @@ -1,23 +1,23 @@ --- title: Managing the forking policy for your organization -intro: 'You can allow or prevent the forking of any private{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} and internal{% endif %} repositories owned by your organization.' +intro: 'You can allow or prevent the forking of any private{% ifversion fpt or ghes or ghae %} and internal{% endif %} repositories owned by your organization.' redirect_from: - /articles/allowing-people-to-fork-private-repositories-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/allowing-people-to-fork-private-repositories-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/managing-the-forking-policy-for-your-organization permissions: Organization owners can manage the forking policy for an organization. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams --- -By default, new organizations are configured to disallow the forking of private{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} and internal{% endif %} repositories. +By default, new organizations are configured to disallow the forking of private{% ifversion fpt or ghes or ghae %} and internal{% endif %} repositories. -If you allow forking of private{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} and internal{% endif %} repositories at the organization level, you can also configure the ability to fork a specific private{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} or internal{% endif %} repository. For more information, see "[Managing the forking policy for your repository](/github/administering-a-repository/managing-the-forking-policy-for-your-repository)." +If you allow forking of private{% ifversion fpt or ghes or ghae %} and internal{% endif %} repositories at the organization level, you can also configure the ability to fork a specific private{% ifversion fpt or ghes or ghae %} or internal{% endif %} repository. For more information, see "[Managing the forking policy for your repository](/github/administering-a-repository/managing-the-forking-policy-for-your-repository)." {% data reusables.organizations.internal-repos-enterprise %} diff --git a/content/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization.md b/content/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization.md index 707df84c8b..ab404d5a79 100644 --- a/content/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization.md @@ -1,12 +1,12 @@ --- title: Managing the publication of GitHub Pages sites for your organization -intro: 'You can control whether organization members can publish {% data variables.product.prodname_pages %} sites from repositories in the organization{% if currentVersion == "free-pro-team@latest" %} and restrict the visibilities that members can choose for the sites{% endif %}.' +intro: 'You can control whether organization members can publish {% data variables.product.prodname_pages %} sites from repositories in the organization{% ifversion fpt %} and restrict the visibilities that members can choose for the sites{% endif %}.' permissions: 'Organization owners can manage the publication of {% data variables.product.prodname_pages %} sites from repositories in the organization.' product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '>=3.0' - github-ae: '*' + fpt: '*' + ghes: '>=3.0' + ghae: '*' redirect_from: - /github/setting-up-and-managing-organizations-and-teams/disabling-publication-of-github-pages-sites-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/managing-the-publication-of-github-pages-sites-for-your-organization @@ -15,7 +15,7 @@ topics: - Teams --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If your organization uses {% data variables.product.prodname_ghe_cloud %}, you can choose to allow organization members to create publicly published sites, privately published sites, both, or neither. Otherwise, you can choose to allow or disallow public publishing. For more information about access control for {% data variables.product.prodname_pages %} sites, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)." {% endif %} @@ -23,7 +23,7 @@ If you disallow publication of {% data variables.product.prodname_pages %} sites {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -{% data reusables.organizations.member-privileges %}{% if currentVersion == "free-pro-team@latest" %} +{% data reusables.organizations.member-privileges %}{% ifversion fpt %} 1. Under "Pages creation", select the visibilities you want to allow and deselect the visibilities you want to disallow. ![Checkboxes to allow or disallow creation of {% data variables.product.prodname_pages %} sites](/assets/images/help/organizations/github-pages-creation-checkboxes.png){% else %} 1. Under "Pages creation", select or deselect **Allow members to publish sites**. diff --git a/content/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors.md b/content/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors.md index 46f45b946d..d1e54c0064 100644 --- a/content/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors.md +++ b/content/organizations/managing-organization-settings/managing-updates-from-accounts-your-organization-sponsors.md @@ -4,7 +4,7 @@ intro: You can manage the email address that receives updates from accounts your redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-updates-from-accounts-your-organization-sponsors versions: - free-pro-team: '*' + fpt: '*' permissions: Organization owners can manage updates from accounts the organization sponsors. topics: - Organizations diff --git a/content/organizations/managing-organization-settings/renaming-an-organization.md b/content/organizations/managing-organization-settings/renaming-an-organization.md index 5ef863b320..87efd88894 100644 --- a/content/organizations/managing-organization-settings/renaming-an-organization.md +++ b/content/organizations/managing-organization-settings/renaming-an-organization.md @@ -6,9 +6,9 @@ redirect_from: - /articles/renaming-an-organization - /github/setting-up-and-managing-organizations-and-teams/renaming-an-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -33,9 +33,9 @@ After changing your organization's name, your old organization name becomes avai ### Changes that aren't automatic After changing your organization's name: -- Links to your previous organization profile page, such as `https://{% data variables.command_line.backticks %}/previousorgname`, will return a 404 error. We recommend you update links to your organization from other sites{% if currentVersion == "free-pro-team@latest" %}, such as your LinkedIn or Twitter profiles{% endif %}. +- Links to your previous organization profile page, such as `https://{% data variables.command_line.backticks %}/previousorgname`, will return a 404 error. We recommend you update links to your organization from other sites{% ifversion fpt %}, such as your LinkedIn or Twitter profiles{% endif %}. - API requests that use the old organization's name will return a 404 error. We recommend you update the old organization name in your API requests. -- There are no automatic [@mention](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams) redirects for teams that use the old organization's name.{% if currentVersion == "free-pro-team@latest" %} +- There are no automatic [@mention](/articles/basic-writing-and-formatting-syntax/#mentioning-people-and-teams) redirects for teams that use the old organization's name.{% ifversion fpt %} - If SAML single sign-on (SSO) is enabled for the organization, you must update the organization name in the application for {% data variables.product.prodname_ghe_cloud %} on your identity provider (IdP). If you don't update the organization name on your IdP, members of the organization will no longer be able to authenticate with your IdP to access the organization's resources. For more information, see "[Connecting your identity provider to your organization](/github/setting-up-and-managing-organizations-and-teams/connecting-your-identity-provider-to-your-organization)."{% endif %} ## Changing your organization's name diff --git a/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md b/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md index 0605db0d3e..93827f6064 100644 --- a/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md +++ b/content/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization.md @@ -5,19 +5,19 @@ redirect_from: - /articles/restricting-repository-creation-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams --- -You can choose whether members can create repositories in your organization. If you allow members to create repositories, you can choose which types of repositories members can create.{% if currentVersion == "free-pro-team@latest" %} To allow members to create private repositories only, your organization must use {% data variables.product.prodname_ghe_cloud %}.{% endif %} For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)." +You can choose whether members can create repositories in your organization. If you allow members to create repositories, you can choose which types of repositories members can create.{% ifversion fpt %} To allow members to create private repositories only, your organization must use {% data variables.product.prodname_ghe_cloud %}.{% endif %} For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)." Organization owners can always create any type of repository. -{% if currentVersion == "free-pro-team@latest" %}Enterprise owners{% else %}Site administrators{% endif %} can restrict the options you have available for your organization's repository creation policy. For more information, see {% if currentVersion == "free-pro-team@latest" %}"[Enforcing repository management policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account)."{% else %}"[Restricting repository creation in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)."{% endif %} +{% ifversion fpt %}Enterprise owners{% else %}Site administrators{% endif %} can restrict the options you have available for your organization's repository creation policy. For more information, see {% ifversion fpt %}"[Enforcing repository management policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account)."{% else %}"[Restricting repository creation in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#setting-a-policy-for-repository-creation)."{% endif %} {% warning %} diff --git a/content/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization.md b/content/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization.md index aa159a8de0..9baa7bfc5f 100644 --- a/content/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization.md +++ b/content/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/restricting-repository-visibility-changes-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/restricting-repository-visibility-changes-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md b/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md index 85c64b915b..6e930ead73 100644 --- a/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md +++ b/content/organizations/managing-organization-settings/setting-permissions-for-adding-outside-collaborators.md @@ -7,9 +7,9 @@ redirect_from: - /articles/setting-permissions-for-adding-outside-collaborators - /github/setting-up-and-managing-organizations-and-teams/setting-permissions-for-adding-outside-collaborators versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -22,7 +22,7 @@ Organization owners, and members with admin privileges for a repository, can inv {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} {% data reusables.organizations.member-privileges %} -5. Under "Repository invitations", select **Allow members to invite outside collaborators to repositories for this organization**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +5. Under "Repository invitations", select **Allow members to invite outside collaborators to repositories for this organization**.{% ifversion fpt or ghes > 2.21 or ghae %} ![Checkbox to allow members to invite outside collaborators to organization repositories](/assets/images/help/organizations/repo-invitations-checkbox-updated.png){% else %} ![Checkbox to allow members to invite outside collaborators to organization repositories](/assets/images/help/organizations/repo-invitations-checkbox.png){% endif %} 6. Click **Save**. diff --git a/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md b/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md index ed134f59f3..66689126c9 100644 --- a/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md +++ b/content/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories.md @@ -6,9 +6,9 @@ redirect_from: - /articles/setting-permissions-for-deleting-or-transferring-repositories - /github/setting-up-and-managing-organizations-and-teams/setting-permissions-for-deleting-or-transferring-repositories versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization.md b/content/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization.md index dec968e417..588ebc19a5 100644 --- a/content/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization.md +++ b/content/organizations/managing-organization-settings/setting-team-creation-permissions-in-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/setting-team-creation-permissions-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/setting-team-creation-permissions-in-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/transferring-organization-ownership.md b/content/organizations/managing-organization-settings/transferring-organization-ownership.md index 99a930a85b..2491dd0ef3 100644 --- a/content/organizations/managing-organization-settings/transferring-organization-ownership.md +++ b/content/organizations/managing-organization-settings/transferring-organization-ownership.md @@ -1,14 +1,14 @@ --- title: Transferring organization ownership -intro: 'To make someone else the owner of an organization account, you must add a new owner{% if currentVersion == "free-pro-team@latest" %}, ensure that the billing information is updated,{% endif %} and then remove yourself from the account.' +intro: 'To make someone else the owner of an organization account, you must add a new owner{% ifversion fpt %}, ensure that the billing information is updated,{% endif %} and then remove yourself from the account.' redirect_from: - /articles/needs-polish-how-do-i-give-ownership-to-an-organization-to-someone-else/ - /articles/transferring-organization-ownership - /github/setting-up-and-managing-organizations-and-teams/transferring-organization-ownership versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -16,7 +16,7 @@ topics: 1. If you're the only member with *owner* privileges, give another organization member the owner role. For more information, see "[Appointing an organization owner](/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization#appointing-an-organization-owner)." 2. Contact the new owner and make sure he or she is able to [access the organization's settings](/articles/accessing-your-organization-s-settings). -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 3. If you are currently responsible for paying for GitHub in your organization, you'll also need to have the new owner or a [billing manager](/articles/adding-a-billing-manager-to-your-organization/) update the organization's payment information. For more information, see "[Adding or editing a payment method](/articles/adding-or-editing-a-payment-method)." {% warning %} diff --git a/content/organizations/managing-organization-settings/upgrading-to-the-corporate-terms-of-service.md b/content/organizations/managing-organization-settings/upgrading-to-the-corporate-terms-of-service.md index 16b9dffdfe..4ab1484c0a 100644 --- a/content/organizations/managing-organization-settings/upgrading-to-the-corporate-terms-of-service.md +++ b/content/organizations/managing-organization-settings/upgrading-to-the-corporate-terms-of-service.md @@ -5,7 +5,7 @@ redirect_from: - /articles/upgrading-to-the-corporate-terms-of-service - /github/setting-up-and-managing-organizations-and-teams/upgrading-to-the-corporate-terms-of-service versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md b/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md index c6be7d2ed7..6456e2b86e 100644 --- a/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md +++ b/content/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization.md @@ -8,8 +8,8 @@ redirect_from: - /organizations/managing-organization-settings/verifying-your-organizations-domain permissions: Organization owners can verify or approve a domain for an organization. versions: - free-pro-team: '*' - enterprise-server: '>=3.2' + fpt: '*' + ghes: '>=3.2' type: how_to topics: - Enterprise @@ -61,7 +61,7 @@ To verify a domain, you must have access to modify domain records with your doma ## Approving a domain for your organization -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghes > 3.1 %} {% data reusables.enterprise-accounts.approved-domains-beta-note %} diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md index c6fdcbd367..e8e79ffa86 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md @@ -5,7 +5,7 @@ redirect_from: - /articles/adding-a-billing-manager-to-your-organization - /github/setting-up-and-managing-organizations-and-teams/adding-a-billing-manager-to-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/giving-team-maintainer-permissions-to-an-organization-member.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/giving-team-maintainer-permissions-to-an-organization-member.md index 29a1fb80a4..a194529ee7 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/giving-team-maintainer-permissions-to-an-organization-member.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/giving-team-maintainer-permissions-to-an-organization-member.md @@ -6,9 +6,9 @@ redirect_from: - /articles/giving-team-maintainer-permissions-to-an-organization-member - /github/setting-up-and-managing-organizations-and-teams/giving-team-maintainer-permissions-to-an-organization-member versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md index 42f591576b..074706a165 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/index.md @@ -6,9 +6,9 @@ redirect_from: - /articles/managing-peoples-access-to-your-organization-with-roles - /github/setting-up-and-managing-organizations-and-teams/managing-peoples-access-to-your-organization-with-roles versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization.md index d78ebada7b..aabc538182 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization.md @@ -9,9 +9,9 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/maintaining-ownership-continuity-for-your-organization permissions: Organization owners can promote any member of an organization to an organization owner. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/permission-levels-for-an-organization.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/permission-levels-for-an-organization.md index 4c49d9b188..90594b8785 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/permission-levels-for-an-organization.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/permission-levels-for-an-organization.md @@ -6,9 +6,9 @@ redirect_from: - /articles/permission-levels-for-an-organization - /github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -16,15 +16,15 @@ topics: ## Permission levels for an organization -Organization members can have *owner*{% if currentVersion == "free-pro-team@latest" %}, *billing manager*,{% endif %} or *member* roles: +Organization members can have *owner*{% ifversion fpt %}, *billing manager*,{% endif %} or *member* roles: - **Owners** have complete administrative access to your organization. This role should be limited, but to no less than two people, in your organization. For more information, see "[Maintaining ownership continuity for your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/maintaining-ownership-continuity-for-your-organization)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - **Billing managers** allow a person to manage billing settings. For more information, see "[Adding a billing manager to your organization](/articles/adding-a-billing-manager-to-your-organization)". {% endif %} - **Members** are the default role for everyone else. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} | Organization action | Owners | Members | Billing managers | @@ -112,7 +112,7 @@ Organization members can have *owner*{% if currentVersion == "free-pro-team@late | Edit and delete team discussions in **all teams** (for more information, see "[Managing disruptive comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments)) | **X** | | | | Hide comments on commits, pull requests, and issues (see "[Managing disruptive comments](/communities/moderating-comments-and-conversations/managing-disruptive-comments/#hiding-a-comment)" for details) | **X** | **X** | **X** | | Disable team discussions for an organization (see "[Disabling team discussions for your organization](/articles/disabling-team-discussions-for-your-organization)" for details) | **X** | | | -| Set a team profile picture in **all teams** (see "[Setting your team's profile picture](/articles/setting-your-team-s-profile-picture)" for details) | **X** | | |{% if currentVersion ver_gt "enterprise-server@3.0" %} +| Set a team profile picture in **all teams** (see "[Setting your team's profile picture](/articles/setting-your-team-s-profile-picture)" for details) | **X** | | |{% ifversion ghes > 3.0 %} | Manage the publication of {% data variables.product.prodname_pages %} sites from repositories in the organization (see "[Managing the publication of {% data variables.product.prodname_pages %} sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)" for details) | **X** | |{% endif %} | [Move teams in an organization's hierarchy](/articles/moving-a-team-in-your-organization-s-hierarchy) | **X** | | | | Pull (read), push (write), and clone (copy) *all repositories* in the organization | **X** | | @@ -120,7 +120,7 @@ Organization members can have *owner*{% if currentVersion == "free-pro-team@late | [View people with access to an organization repository](/articles/viewing-people-with-access-to-your-repository) | **X** | | | [Export a list of people with access to an organization repository](/articles/viewing-people-with-access-to-your-repository/#exporting-a-list-of-people-with-access-to-your-repository) | **X** | | | Manage default labels (see "[Managing default labels for repositories in your organization](/articles/managing-default-labels-for-repositories-in-your-organization)") | **X** | | -{% if currentVersion == "github-ae@latest" %}| Manage IP allow lists (see "[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)") | **X** | |{% endif %} +{% ifversion ghae %}| Manage IP allow lists (see "[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)") | **X** | |{% endif %} {% endif %} diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization.md index a8182b375f..69952ba614 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/removing-a-billing-manager-from-your-organization.md @@ -5,7 +5,7 @@ redirect_from: - /articles/removing-a-billing-manager-from-your-organization - /github/setting-up-and-managing-organizations-and-teams/removing-a-billing-manager-from-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md index 0a11564045..4e9299053e 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-identity-and-access-management-with-saml-single-sign-on - /github/setting-up-and-managing-organizations-and-teams/about-identity-and-access-management-with-saml-single-sign-on versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim.md index fe220ca1bb..577c1da10e 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/about-scim.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-scim - /github/setting-up-and-managing-organizations-and-teams/about-scim versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable.md index ea1eb6b6db..4464832077 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/accessing-your-organization-if-your-identity-provider-is-unavailable.md @@ -6,7 +6,7 @@ redirect_from: - /articles/accessing-your-organization-if-your-identity-provider-is-unavailable - /github/setting-up-and-managing-organizations-and-teams/accessing-your-organization-if-your-identity-provider-is-unavailable versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md index 1ec6129573..1837fbb163 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/configuring-saml-single-sign-on-and-scim-using-okta.md @@ -6,7 +6,7 @@ redirect_from: product: '{% data reusables.gated-features.saml-sso %}' permissions: Organization owners can configure SAML SSO and SCIM using Okta for an organization. versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization.md index baf4a1b625..ed3742b2c8 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/connecting-your-identity-provider-to-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/connecting-your-identity-provider-to-your-organization - /github/setting-up-and-managing-organizations-and-teams/connecting-your-identity-provider-to-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes.md index a269a865b7..be4b898640 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/downloading-your-organizations-saml-single-sign-on-recovery-codes.md @@ -7,7 +7,7 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/downloading-your-organizations-saml-single-sign-on-recovery-codes product: '{% data reusables.gated-features.saml-sso %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization.md index d164533fe3..1a2c8ebe7e 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/enabling-and-testing-saml-single-sign-on-for-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/enabling-and-testing-saml-single-sign-on-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/enabling-and-testing-saml-single-sign-on-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization.md index e1e505ae7a..51e4e0f0fa 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/enforcing-saml-single-sign-on-for-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/enforcing-saml-single-sign-on-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/enforcing-saml-single-sign-on-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/index.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/index.md index daaff3580f..1f8770966a 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/index.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/index.md @@ -6,7 +6,7 @@ redirect_from: - /articles/managing-saml-single-sign-on-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/managing-saml-single-sign-on-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization.md index fbcc4627a5..3223028883 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization.md @@ -10,7 +10,7 @@ redirect_from: permissions: Organization owners can manage team synchronization for an organization. miniTocMaxHeadingLevel: 3 versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/managing-saml-single-sign-on-for-your-organization/preparing-to-enforce-saml-single-sign-on-in-your-organization.md b/content/organizations/managing-saml-single-sign-on-for-your-organization/preparing-to-enforce-saml-single-sign-on-in-your-organization.md index 9aa298db73..ae76dd224a 100644 --- a/content/organizations/managing-saml-single-sign-on-for-your-organization/preparing-to-enforce-saml-single-sign-on-in-your-organization.md +++ b/content/organizations/managing-saml-single-sign-on-for-your-organization/preparing-to-enforce-saml-single-sign-on-in-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/preparing-to-enforce-saml-single-sign-on-in-your-organization - /github/setting-up-and-managing-organizations-and-teams/preparing-to-enforce-saml-single-sign-on-in-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/migrating-to-improved-organization-permissions/converting-an-admin-team-to-improved-organization-permissions.md b/content/organizations/migrating-to-improved-organization-permissions/converting-an-admin-team-to-improved-organization-permissions.md index b2a1b17596..0cea3bbe00 100644 --- a/content/organizations/migrating-to-improved-organization-permissions/converting-an-admin-team-to-improved-organization-permissions.md +++ b/content/organizations/migrating-to-improved-organization-permissions/converting-an-admin-team-to-improved-organization-permissions.md @@ -6,8 +6,8 @@ redirect_from: - /articles/converting-an-admin-team-to-improved-organization-permissions - /github/setting-up-and-managing-organizations-and-teams/converting-an-admin-team-to-improved-organization-permissions versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Organizations - Teams diff --git a/content/organizations/migrating-to-improved-organization-permissions/converting-an-owners-team-to-improved-organization-permissions.md b/content/organizations/migrating-to-improved-organization-permissions/converting-an-owners-team-to-improved-organization-permissions.md index 6a6dc19110..3ee8c94d3a 100644 --- a/content/organizations/migrating-to-improved-organization-permissions/converting-an-owners-team-to-improved-organization-permissions.md +++ b/content/organizations/migrating-to-improved-organization-permissions/converting-an-owners-team-to-improved-organization-permissions.md @@ -7,8 +7,8 @@ redirect_from: - /articles/converting-an-owners-team-to-improved-organization-permissions - /github/setting-up-and-managing-organizations-and-teams/converting-an-owners-team-to-improved-organization-permissions versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Organizations - Teams diff --git a/content/organizations/migrating-to-improved-organization-permissions/index.md b/content/organizations/migrating-to-improved-organization-permissions/index.md index c46fae599f..c44410eafc 100644 --- a/content/organizations/migrating-to-improved-organization-permissions/index.md +++ b/content/organizations/migrating-to-improved-organization-permissions/index.md @@ -8,8 +8,8 @@ redirect_from: - /articles/migrating-to-improved-organization-permissions - /github/setting-up-and-managing-organizations-and-teams/migrating-to-improved-organization-permissions versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Organizations - Teams diff --git a/content/organizations/migrating-to-improved-organization-permissions/migrating-admin-teams-to-improved-organization-permissions.md b/content/organizations/migrating-to-improved-organization-permissions/migrating-admin-teams-to-improved-organization-permissions.md index 350eedd28d..681579ecd7 100644 --- a/content/organizations/migrating-to-improved-organization-permissions/migrating-admin-teams-to-improved-organization-permissions.md +++ b/content/organizations/migrating-to-improved-organization-permissions/migrating-admin-teams-to-improved-organization-permissions.md @@ -6,8 +6,8 @@ redirect_from: - /articles/migrating-admin-teams-to-improved-organization-permissions - /github/setting-up-and-managing-organizations-and-teams/migrating-admin-teams-to-improved-organization-permissions versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/about-teams.md b/content/organizations/organizing-members-into-teams/about-teams.md index 0ad97e9916..e8d89eb3c9 100644 --- a/content/organizations/organizing-members-into-teams/about-teams.md +++ b/content/organizations/organizing-members-into-teams/about-teams.md @@ -5,9 +5,9 @@ redirect_from: - /articles/about-teams - /github/setting-up-and-managing-organizations-and-teams/about-teams versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -24,7 +24,7 @@ For more information, see: ![Image of a team mention](/assets/images/help/teams/team-mention.png) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} You can also use LDAP Sync to synchronize {% data variables.product.product_location %} team members and team roles against your established LDAP groups. This lets you establish role-based access control for users from your LDAP server instead of manually within {% data variables.product.product_location %}. For more information, see "[Enabling LDAP Sync](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync)." diff --git a/content/organizations/organizing-members-into-teams/adding-organization-members-to-a-team.md b/content/organizations/organizing-members-into-teams/adding-organization-members-to-a-team.md index 483164f61d..c35525d42f 100644 --- a/content/organizations/organizing-members-into-teams/adding-organization-members-to-a-team.md +++ b/content/organizations/organizing-members-into-teams/adding-organization-members-to-a-team.md @@ -1,14 +1,14 @@ --- title: Adding organization members to a team -intro: 'People with owner or team maintainer permissions can add organization members to teams. People with owner permissions can also {% if currentVersion == "free-pro-team@latest" %}invite non-members to join{% else %}add non-members to{% endif %} a team and the organization.' +intro: 'People with owner or team maintainer permissions can add organization members to teams. People with owner permissions can also {% ifversion fpt %}invite non-members to join{% else %}add non-members to{% endif %} a team and the organization.' redirect_from: - /articles/adding-organization-members-to-a-team-early-access-program/ - /articles/adding-organization-members-to-a-team - /github/setting-up-and-managing-organizations-and-teams/adding-organization-members-to-a-team versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -25,7 +25,7 @@ topics: {% data reusables.organizations.invite_to_team %} {% data reusables.organizations.review-team-repository-access %} -{% if currentVersion == "free-pro-team@latest" %}{% data reusables.organizations.cancel_org_invite %}{% endif %} +{% ifversion fpt %}{% data reusables.organizations.cancel_org_invite %}{% endif %} ## Further reading diff --git a/content/organizations/organizing-members-into-teams/changing-team-visibility.md b/content/organizations/organizing-members-into-teams/changing-team-visibility.md index 45937e1e15..343eb268a8 100644 --- a/content/organizations/organizing-members-into-teams/changing-team-visibility.md +++ b/content/organizations/organizing-members-into-teams/changing-team-visibility.md @@ -5,9 +5,9 @@ redirect_from: - /articles/changing-team-visibility - /github/setting-up-and-managing-organizations-and-teams/changing-team-visibility versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/creating-a-team.md b/content/organizations/organizing-members-into-teams/creating-a-team.md index 6fc9d56ad6..4eb74e8c7e 100644 --- a/content/organizations/organizing-members-into-teams/creating-a-team.md +++ b/content/organizations/organizing-members-into-teams/creating-a-team.md @@ -6,9 +6,9 @@ redirect_from: - /articles/creating-a-team - /github/setting-up-and-managing-organizations-and-teams/creating-a-team versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams @@ -24,7 +24,7 @@ Only organization owners and maintainers of a parent team can create a new child {% data reusables.organizations.team_name %} {% data reusables.organizations.team_description %} {% data reusables.organizations.create-team-choose-parent %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. Optionally, if your organization or enterprise account uses team synchronization, to connect an identity provider group to your team, use the "Identity Provider Groups" drop-down menu, and select up to 5 identity provider groups. For more information, see "[Synchronizing a team with an identity provider group](/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group)." ![Drop-down menu to choose identity provider groups](/assets/images/help/teams/choose-an-idp-group.png) {% endif %} diff --git a/content/organizations/organizing-members-into-teams/deleting-a-team.md b/content/organizations/organizing-members-into-teams/deleting-a-team.md index a42ba28d65..571fefd73a 100644 --- a/content/organizations/organizing-members-into-teams/deleting-a-team.md +++ b/content/organizations/organizing-members-into-teams/deleting-a-team.md @@ -5,9 +5,9 @@ redirect_from: - /articles/deleting-a-team - /github/setting-up-and-managing-organizations-and-teams/deleting-a-team versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization.md b/content/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization.md index 03c98ecac0..426aafed26 100644 --- a/content/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization.md +++ b/content/organizations/organizing-members-into-teams/disabling-team-discussions-for-your-organization.md @@ -5,9 +5,9 @@ redirect_from: - /articles/disabling-team-discussions-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/disabling-team-discussions-for-your-organization versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/index.md b/content/organizations/organizing-members-into-teams/index.md index ebee137a3a..edbdff36fd 100644 --- a/content/organizations/organizing-members-into-teams/index.md +++ b/content/organizations/organizing-members-into-teams/index.md @@ -13,9 +13,9 @@ redirect_from: - /articles/organizing-members-into-teams - /github/setting-up-and-managing-organizations-and-teams/organizing-members-into-teams versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md b/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md index c1e35053e9..c2fbf98e5a 100644 --- a/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md +++ b/content/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team.md @@ -5,9 +5,9 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-code-review-assignment-for-your-team product: '{% data reusables.gated-features.code-review-assignment %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.20' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team.md b/content/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team.md index 52463334a4..0da08ae219 100644 --- a/content/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team.md +++ b/content/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team.md @@ -5,7 +5,7 @@ redirect_from: - /github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests - /github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-your team versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy.md b/content/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy.md index 98b422bf65..2087d05aa2 100644 --- a/content/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy.md +++ b/content/organizations/organizing-members-into-teams/moving-a-team-in-your-organizations-hierarchy.md @@ -7,9 +7,9 @@ redirect_from: - /articles/moving-a-team-in-your-organizations-hierarchy - /github/setting-up-and-managing-organizations-and-teams/moving-a-team-in-your-organizations-hierarchy versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/removing-organization-members-from-a-team.md b/content/organizations/organizing-members-into-teams/removing-organization-members-from-a-team.md index d94afb6085..4f22712e61 100644 --- a/content/organizations/organizing-members-into-teams/removing-organization-members-from-a-team.md +++ b/content/organizations/organizing-members-into-teams/removing-organization-members-from-a-team.md @@ -6,9 +6,9 @@ redirect_from: - /articles/removing-organization-members-from-a-team - /github/setting-up-and-managing-organizations-and-teams/removing-organization-members-from-a-team versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/renaming-a-team.md b/content/organizations/organizing-members-into-teams/renaming-a-team.md index 66703afcf7..24dd251002 100644 --- a/content/organizations/organizing-members-into-teams/renaming-a-team.md +++ b/content/organizations/organizing-members-into-teams/renaming-a-team.md @@ -5,9 +5,9 @@ redirect_from: - /articles/renaming-a-team - /github/setting-up-and-managing-organizations-and-teams/renaming-a-team versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/requesting-to-add-a-child-team.md b/content/organizations/organizing-members-into-teams/requesting-to-add-a-child-team.md index 84bcb8c2f1..4094f3605a 100644 --- a/content/organizations/organizing-members-into-teams/requesting-to-add-a-child-team.md +++ b/content/organizations/organizing-members-into-teams/requesting-to-add-a-child-team.md @@ -5,9 +5,9 @@ redirect_from: - /articles/requesting-to-add-a-child-team - /github/setting-up-and-managing-organizations-and-teams/requesting-to-add-a-child-team versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/requesting-to-add-or-change-a-parent-team.md b/content/organizations/organizing-members-into-teams/requesting-to-add-or-change-a-parent-team.md index 85ede52be8..7e850465c2 100644 --- a/content/organizations/organizing-members-into-teams/requesting-to-add-or-change-a-parent-team.md +++ b/content/organizations/organizing-members-into-teams/requesting-to-add-or-change-a-parent-team.md @@ -5,9 +5,9 @@ redirect_from: - /articles/requesting-to-add-or-change-a-parent-team - /github/setting-up-and-managing-organizations-and-teams/requesting-to-add-or-change-a-parent-team versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/setting-your-teams-profile-picture.md b/content/organizations/organizing-members-into-teams/setting-your-teams-profile-picture.md index 35e17aceb8..7c328b7cd5 100644 --- a/content/organizations/organizing-members-into-teams/setting-your-teams-profile-picture.md +++ b/content/organizations/organizing-members-into-teams/setting-your-teams-profile-picture.md @@ -6,9 +6,9 @@ redirect_from: - /articles/setting-your-teams-profile-picture - /github/setting-up-and-managing-organizations-and-teams/setting-your-teams-profile-picture versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Organizations - Teams diff --git a/content/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group.md b/content/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group.md index c4a29de885..c9b62f1ef8 100644 --- a/content/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group.md +++ b/content/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group.md @@ -6,8 +6,8 @@ redirect_from: product: '{% data reusables.gated-features.team-synchronization %}' permissions: 'Organization owners and team maintainers can synchronize a {% data variables.product.prodname_dotcom %} team with an IdP group.' versions: - free-pro-team: '*' - github-ae: '*' + fpt: '*' + ghae: '*' topics: - Organizations - Teams @@ -19,18 +19,18 @@ topics: {% data reusables.identity-and-permissions.about-team-sync %} -{% if currentVersion == "free-pro-team@latest" %}You can connect up to five IdP groups to a {% data variables.product.product_name %} team.{% elsif currentVersion == "github-ae@latest" %}You can connect a team on {% data variables.product.product_name %} to one IdP group. All users in the group are automatically added to the team and also added to the parent organization as members. When you disconnect a group from a team, users who became members of the organization via team membership are removed from the organization.{% endif %} You can assign an IdP group to multiple {% data variables.product.product_name %} teams. +{% ifversion fpt %}You can connect up to five IdP groups to a {% data variables.product.product_name %} team.{% elsif ghae %}You can connect a team on {% data variables.product.product_name %} to one IdP group. All users in the group are automatically added to the team and also added to the parent organization as members. When you disconnect a group from a team, users who became members of the organization via team membership are removed from the organization.{% endif %} You can assign an IdP group to multiple {% data variables.product.product_name %} teams. -{% if currentVersion == "free-pro-team@latest" %}Team synchronization does not support IdP groups with more than 5000 members.{% endif %} +{% ifversion fpt %}Team synchronization does not support IdP groups with more than 5000 members.{% endif %} -Once a {% data variables.product.prodname_dotcom %} team is connected to an IdP group, your IdP administrator must make team membership changes through the identity provider. You cannot manage team membership on {% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" %} or using the API{% endif %}. +Once a {% data variables.product.prodname_dotcom %} team is connected to an IdP group, your IdP administrator must make team membership changes through the identity provider. You cannot manage team membership on {% data variables.product.product_name %}{% ifversion fpt %} or using the API{% endif %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} All team membership changes made through your IdP will appear in the audit log on {% data variables.product.product_name %} as changes made by the team synchronization bot. Your IdP will send team membership data to {% data variables.product.prodname_dotcom %} once every hour. Connecting a team to an IdP group may remove some team members. For more information, see "[Requirements for members of synchronized teams](#requirements-for-members-of-synchronized-teams)." {% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} When group membership changes on your IdP, your IdP sends a SCIM request with the changes to {% data variables.product.product_name %} according to the schedule determined by your IdP. Any requests that change {% data variables.product.prodname_dotcom %} team or organization membership will register in the audit log as changes made by the account used to configure user provisioning. For more information about this account, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)." For more information about SCIM request schedules, see "[Check the status of user provisioning](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user)" in the Microsoft Docs. {% endif %} @@ -38,9 +38,9 @@ Parent teams cannot synchronize with IdP groups. If the team you want to connect To manage repository access for any {% data variables.product.prodname_dotcom %} team, including teams connected to an IdP group, you must make changes with {% data variables.product.product_name %}. For more information, see "[About teams](/articles/about-teams)" and "[Managing team access to an organization repository](/articles/managing-team-access-to-an-organization-repository)." -{% if currentVersion == "free-pro-team@latest" %}You can also manage team synchronization with the API. For more information, see "[Team synchronization](/rest/reference/teams#team-sync)."{% endif %} +{% ifversion fpt %}You can also manage team synchronization with the API. For more information, see "[Team synchronization](/rest/reference/teams#team-sync)."{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Requirements for members of synchronized teams After you connect a team to an IdP group, team synchronization will add each member of the IdP group to the corresponding team on {% data variables.product.product_name %} only if: @@ -60,14 +60,14 @@ If your organization is owned by an enterprise account, enabling team synchroniz ## Prerequisites -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Before you can connect a {% data variables.product.product_name %} team with an identity provider group, an organization or enterprise owner must enable team synchronization for your organization or enterprise account. For more information, see "[Managing team synchronization for your organization](/organizations/managing-saml-single-sign-on-for-your-organization/managing-team-synchronization-for-your-organization)" and "[Managing team synchronization for organizations in your enterprise account](/github/setting-up-and-managing-your-enterprise/managing-team-synchronization-for-organizations-in-your-enterprise-account)." To avoid unintentionally removing team members, visit the administrative portal for your IdP and confirm that each current team member is also in the IdP groups that you want to connect to this team. If you don't have this access to your identity provider, you can reach out to your IdP administrator. You must authenticate using SAML SSO. For more information, see "[Authenticating with SAML single sign-on](/articles/authenticating-with-saml-single-sign-on)." -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} Before you can connect a {% data variables.product.product_name %} team with an IdP group, you must first configure user provisioning for {% data variables.product.product_location %} using a supported System for Cross-domain Identity Management (SCIM). For more information, see "[Configuring user provisioning for your enterprise](/admin/authentication/configuring-user-provisioning-for-your-enterprise)." Once user provisioning for {% data variables.product.product_name %} is configured using SCIM, you can assign the {% data variables.product.product_name %} application to every IdP group that you want to use on {% data variables.product.product_name %}. For more information, see [Configure automatic user provisioning to GitHub AE](https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/github-ae-provisioning-tutorial#step-5-configure-automatic-user-provisioning-to-github-ae) in the Microsoft Docs. @@ -75,30 +75,30 @@ Once user provisioning for {% data variables.product.product_name %} is configur ## Connecting an IdP group to a team -When you connect an IdP group to a {% data variables.product.product_name %} team, all users in the group are automatically added to the team. {% if currentVersion == "github-ae@latest" %}Any users who were not already members of the parent organization members are also added to the organization.{% endif %} +When you connect an IdP group to a {% data variables.product.product_name %} team, all users in the group are automatically added to the team. {% ifversion ghae %}Any users who were not already members of the parent organization members are also added to the organization.{% endif %} {% data reusables.profile.access_org %} {% data reusables.user_settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 6. Under "Identity Provider Groups", use the drop-down menu, and select up to 5 identity provider groups. - ![Drop-down menu to choose identity provider groups](/assets/images/help/teams/choose-an-idp-group.png){% elsif currentVersion == "github-ae@latest" %} + ![Drop-down menu to choose identity provider groups](/assets/images/help/teams/choose-an-idp-group.png){% elsif ghae %} 6. Under "Identity Provider Group", use the drop-down menu, and select an identity provider group from the list. ![Drop-down menu to choose identity provider group](/assets/images/enterprise/github-ae/teams/choose-an-idp-group.png){% endif %} 7. Click **Save changes**. ## Disconnecting an IdP group from a team -If you disconnect an IdP group from a {% data variables.product.prodname_dotcom %} team, team members that were assigned to the {% data variables.product.prodname_dotcom %} team through the IdP group will be removed from the team. {% if currentVersion == "github-ae@latest" %} Any users who were members of the parent organization only because of that team connection are also removed from the organization.{% endif %} +If you disconnect an IdP group from a {% data variables.product.prodname_dotcom %} team, team members that were assigned to the {% data variables.product.prodname_dotcom %} team through the IdP group will be removed from the team. {% ifversion ghae %} Any users who were members of the parent organization only because of that team connection are also removed from the organization.{% endif %} {% data reusables.profile.access_org %} {% data reusables.user_settings.access_org %} {% data reusables.organizations.specific_team %} {% data reusables.organizations.team_settings %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 6. Under "Identity Provider Groups", to the right of the IdP group you want to disconnect, click {% octicon "x" aria-label="X symbol" %}. - ![Unselect a connected IdP group from the GitHub team](/assets/images/help/teams/unselect-idp-group.png){% elsif currentVersion == "github-ae@latest" %} + ![Unselect a connected IdP group from the GitHub team](/assets/images/help/teams/unselect-idp-group.png){% elsif ghae %} 6. Under "Identity Provider Group", to the right of the IdP group you want to disconnect, click {% octicon "x" aria-label="X symbol" %}. ![Unselect a connected IdP group from the GitHub team](/assets/images/enterprise/github-ae/teams/unselect-idp-group.png){% endif %} 7. Click **Save changes**. diff --git a/content/organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions.md b/content/organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions.md index 5c473f4b8c..a5ca09989d 100644 --- a/content/organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions.md +++ b/content/organizations/restricting-access-to-your-organizations-data/about-oauth-app-access-restrictions.md @@ -6,7 +6,7 @@ redirect_from: - /articles/about-oauth-app-access-restrictions - /github/setting-up-and-managing-organizations-and-teams/about-oauth-app-access-restrictions versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/restricting-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md b/content/organizations/restricting-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md index bb08da39a6..26b468f76e 100644 --- a/content/organizations/restricting-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md +++ b/content/organizations/restricting-access-to-your-organizations-data/approving-oauth-apps-for-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/approving-oauth-apps-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/approving-oauth-apps-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/restricting-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization.md b/content/organizations/restricting-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization.md index 7f90f160ef..71e3134453 100644 --- a/content/organizations/restricting-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization.md +++ b/content/organizations/restricting-access-to-your-organizations-data/denying-access-to-a-previously-approved-oauth-app-for-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/denying-access-to-a-previously-approved-oauth-app-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/denying-access-to-a-previously-approved-oauth-app-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/restricting-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization.md b/content/organizations/restricting-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization.md index 8133acf0c6..bb47cefdff 100644 --- a/content/organizations/restricting-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization.md +++ b/content/organizations/restricting-access-to-your-organizations-data/disabling-oauth-app-access-restrictions-for-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/disabling-oauth-app-access-restrictions-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/disabling-oauth-app-access-restrictions-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/restricting-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization.md b/content/organizations/restricting-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization.md index 1572b4b6e0..7c03b92929 100644 --- a/content/organizations/restricting-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization.md +++ b/content/organizations/restricting-access-to-your-organizations-data/enabling-oauth-app-access-restrictions-for-your-organization.md @@ -6,7 +6,7 @@ redirect_from: - /articles/enabling-oauth-app-access-restrictions-for-your-organization - /github/setting-up-and-managing-organizations-and-teams/enabling-oauth-app-access-restrictions-for-your-organization versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/organizations/restricting-access-to-your-organizations-data/index.md b/content/organizations/restricting-access-to-your-organizations-data/index.md index 45318980ae..113a647149 100644 --- a/content/organizations/restricting-access-to-your-organizations-data/index.md +++ b/content/organizations/restricting-access-to-your-organizations-data/index.md @@ -6,7 +6,7 @@ redirect_from: - /articles/restricting-access-to-your-organizations-data - /github/setting-up-and-managing-organizations-and-teams/restricting-access-to-your-organizations-data versions: - free-pro-team: '*' + fpt: '*' topics: - Organizations - Teams diff --git a/content/packages/index.md b/content/packages/index.md index a97e3d683a..53fcad168e 100644 --- a/content/packages/index.md +++ b/content/packages/index.md @@ -12,12 +12,12 @@ featuredLinks: - /packages/learn-github-packages/installing-a-package popular: - /packages/working-with-a-github-packages-registry/working-with-the-npm-registry - - '{% if currentVersion == "free-pro-team@latest" %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' + - '{% ifversion fpt %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' - /packages/learn-github-packages - /packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry guideCards: - - '{% if currentVersion == "free-pro-team@latest" %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' - - /packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry + - '{% ifversion fpt %}/packages/working-with-a-github-packages-registry/working-with-the-container-registry{% else %}/packages/working-with-a-github-packages-registry/working-with-the-docker-registry{% endif %}' + - /packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry changelog: label: packages prefix: 'Packages: ' @@ -27,9 +27,9 @@ redirect_from: - /github/managing-packages-with-github-package-registry layout: product-landing versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /quickstart - /learn-github-packages diff --git a/content/packages/learn-github-packages/about-permissions-for-github-packages.md b/content/packages/learn-github-packages/about-permissions-for-github-packages.md index 975f5dc982..0e8ef93219 100644 --- a/content/packages/learn-github-packages/about-permissions-for-github-packages.md +++ b/content/packages/learn-github-packages/about-permissions-for-github-packages.md @@ -1,30 +1,30 @@ --- title: About permissions for GitHub Packages -intro: 'Learn about how to manage permissions for your packages.' +intro: Learn about how to manage permissions for your packages. product: '{% data reusables.gated-features.packages %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} The permissions for packages are either repository-scoped or user/organization-scoped. {% endif %} ## Permissions for repository-scoped packages -A repository-scoped package inherits the permissions and visibility of the repository that owns the package. You can find a package scoped to a repository by going to the main page of the repository and clicking the **Packages** link to the right of the page. {% if currentVersion == "free-pro-team@latest" %}For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)."{% endif %} +A repository-scoped package inherits the permissions and visibility of the repository that owns the package. You can find a package scoped to a repository by going to the main page of the repository and clicking the **Packages** link to the right of the page. {% ifversion fpt %}For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)."{% endif %} The {% data variables.product.prodname_registry %} registries below use repository-scoped permissions: - {% if currentVersion != "free-pro-team@latest" %}- Docker registry (`docker.pkg.github.com`){% endif %} + {% ifversion not fpt %}- Docker registry (`docker.pkg.github.com`){% endif %} - npm registry - RubyGems registry - Apache Maven registry - NuGet registry -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Granular permissions for user/organization-scoped packages Packages with granular permissions are scoped to a personal user or organization account. You can change the access control and visibility of the package separately from a repository that is connected (or linked) to a package. @@ -45,18 +45,18 @@ To use or manage a package hosted by a package registry, you must use a token wi For example: - To download and install packages from a repository, your token must have the `read:packages` scope, and your user account must have read permission. -- {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}To delete a package on {% data variables.product.product_name %}, your token must at least have the `delete:packages` and `read:packages` scope. The `repo` scope is also required for repo-scoped packages.{% elsif currentVersion ver_lt "enterprise-server@3.1" %}To delete a specified version of a private package on {% data variables.product.product_name %}, your token must have the `delete:packages` and `repo` scope. Public packages cannot be deleted.{% elsif currentVersion == "github-ae@latest" %}To delete a specified version of a package on {% data variables.product.product_name %}, your token must have the `delete:packages` and `repo` scope.{% endif %} For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." +- {% ifversion fpt or ghes > 3.0 %}To delete a package on {% data variables.product.product_name %}, your token must at least have the `delete:packages` and `read:packages` scope. The `repo` scope is also required for repo-scoped packages.{% elsif ghes < 3.1 %}To delete a specified version of a private package on {% data variables.product.product_name %}, your token must have the `delete:packages` and `repo` scope. Public packages cannot be deleted.{% elsif ghae %}To delete a specified version of a package on {% data variables.product.product_name %}, your token must have the `delete:packages` and `repo` scope.{% endif %} For more information, see "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}." | Scope | Description | Required permission | | --- | --- | --- | |`read:packages`| Download and install packages from {% data variables.product.prodname_registry %} | read | |`write:packages`| Upload and publish packages to {% data variables.product.prodname_registry %} | write | -| `delete:packages` | {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} Delete packages from {% data variables.product.prodname_registry %} {% elsif currentVersion ver_lt "enterprise-server@3.1" %} Delete specified versions of private packages from {% data variables.product.prodname_registry %}{% elsif currentVersion == "github-ae@latest" %} Delete specified versions of packages from {% data variables.product.prodname_registry %} {% endif %} | admin | +| `delete:packages` | {% ifversion fpt or ghes > 3.0 %} Delete packages from {% data variables.product.prodname_registry %} {% elsif ghes < 3.1 %} Delete specified versions of private packages from {% data variables.product.prodname_registry %}{% elsif ghae %} Delete specified versions of packages from {% data variables.product.prodname_registry %} {% endif %} | admin | | `repo` | Upload and delete packages (along with `write:packages`, or `delete:packages`) | write or admin | When you create a {% data variables.product.prodname_actions %} workflow, you can use the `GITHUB_TOKEN` to publish and install packages in {% data variables.product.prodname_registry %} without needing to store and manage a personal access token. -For more information, see:{% if currentVersion == "free-pro-team@latest" %} +For more information, see:{% ifversion fpt %} - "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)"{% endif %} - "[Publishing and installing a package with {% data variables.product.prodname_actions %}](/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions)" - "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token/)" @@ -75,7 +75,7 @@ For more conceptual background on {% data variables.product.prodname_actions %} For more information about `GITHUB_TOKEN` used in {% data variables.product.prodname_actions %} workflows, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### {% data variables.product.prodname_actions %} access for container images To ensure your workflows have access to your container image, you must enable {% data variables.product.prodname_actions %} access to the repositories where your workflow is run. You can find this setting on your package's settings page. For more information, see "[Ensuring workflow access to your package](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#ensuring-workflow-access-to-your-package)." diff --git a/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md b/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md index bd661f1763..ac16ba1db6 100644 --- a/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md +++ b/content/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility.md @@ -6,7 +6,7 @@ redirect_from: - /packages/managing-container-images-with-github-container-registry/configuring-access-control-and-visibility-for-container-images - /packages/guides/configuring-access-control-and-visibility-for-container-images versions: - free-pro-team: '*' + fpt: '*' --- Packages with granular permissions are scoped to a personal user or organization account. You can change the access control and visibility of a package separately from the repository that it is connected (or linked) to. diff --git a/content/packages/learn-github-packages/connecting-a-repository-to-a-package.md b/content/packages/learn-github-packages/connecting-a-repository-to-a-package.md index 0324e9f27f..90c99f25b8 100644 --- a/content/packages/learn-github-packages/connecting-a-repository-to-a-package.md +++ b/content/packages/learn-github-packages/connecting-a-repository-to-a-package.md @@ -6,7 +6,7 @@ redirect_from: - /packages/managing-container-images-with-github-container-registry/connecting-a-repository-to-a-container-image - /packages/guides/connecting-a-repository-to-a-container-image versions: - free-pro-team: '*' + fpt: '*' --- By connecting a repository to a package, the package landing page will show information and links from the repository, such as the README. diff --git a/content/packages/learn-github-packages/deleting-a-package.md b/content/packages/learn-github-packages/deleting-a-package.md index 7666dc9c75..56a00d1b5b 100644 --- a/content/packages/learn-github-packages/deleting-a-package.md +++ b/content/packages/learn-github-packages/deleting-a-package.md @@ -1,22 +1,22 @@ --- title: Deleting a package -intro: 'You can delete a version of a {% if currentVersion != "github-ae@latest" %}private{% endif %} package using GraphQL or on {% data variables.product.product_name %}.' +intro: 'You can delete a version of a {% ifversion not ghae %}private{% endif %} package using GraphQL or on {% data variables.product.product_name %}.' product: '{% data reusables.gated-features.packages %}' versions: - enterprise-server: '>=2.22 <3.1' - github-ae: '*' + ghes: '>=2.22 <3.1' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} {% data reusables.package_registry.packages-ghae-release-stage %} -{% if currentVersion != "github-ae@latest" %}At this time, {% data variables.product.prodname_registry %} on {% data variables.product.product_location %} does not support deleting public packages.{% endif %} +{% ifversion not ghae %}At this time, {% data variables.product.prodname_registry %} on {% data variables.product.product_location %} does not support deleting public packages.{% endif %} -You can only delete a specified version of a {% if currentVersion != "github-ae@latest" %}private {% endif %}package on {% data variables.product.product_name %} or with the GraphQL API. To remove an entire {% if currentVersion != "github-ae@latest" %}private {% endif %}package from appearing on {% data variables.product.product_name %}, you must delete every version of the package first. +You can only delete a specified version of a {% ifversion not ghae %}private {% endif %}package on {% data variables.product.product_name %} or with the GraphQL API. To remove an entire {% ifversion not ghae %}private {% endif %}package from appearing on {% data variables.product.product_name %}, you must delete every version of the package first. -## Deleting a version of a {% if currentVersion != "github-ae@latest" %}private {% endif %}package on {% data variables.product.product_name %} +## Deleting a version of a {% ifversion not ghae %}private {% endif %}package on {% data variables.product.product_name %} -To delete a {% if currentVersion != "github-ae@latest" %}private {% endif %}package version, you must have admin permissions in the repository. +To delete a {% ifversion not ghae %}private {% endif %}package version, you must have admin permissions in the repository. {% data reusables.repositories.navigate-to-repo %} {% data reusables.package_registry.packages-from-code-tab %} @@ -29,7 +29,7 @@ To delete a {% if currentVersion != "github-ae@latest" %}private {% endif %}pack 6. To confirm deletion, type the package name and click **I understand the consequences, delete this version**. ![Confirm package deletion button](/assets/images/help/package-registry/confirm-package-deletion.png) -## Deleting a version of a {% if currentVersion != "github-ae@latest" %}private {% endif %}package with GraphQL +## Deleting a version of a {% ifversion not ghae %}private {% endif %}package with GraphQL Use the `deletePackageVersion` mutation in the GraphQL API. You must use a token with the `read:packages`, `delete:packages`, and `repo` scopes. For more information about tokens, see "[About {% data variables.product.prodname_registry %}](/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages)." @@ -43,7 +43,7 @@ curl -X POST \ HOSTNAME/graphql ``` -To find all of the {% if currentVersion != "github-ae@latest" %}private {% endif %}packages you have published to {% data variables.product.prodname_registry %}, along with the version IDs for the packages, you can use the `packages` connection through the `repository` object. You will need a token with the `read:packages` and `repo` scopes. For more information, see the [`packages`](/graphql/reference/objects#repository) connection or the [`PackageOwner`](/graphql/reference/interfaces#packageowner) interface. +To find all of the {% ifversion not ghae %}private {% endif %}packages you have published to {% data variables.product.prodname_registry %}, along with the version IDs for the packages, you can use the `packages` connection through the `repository` object. You will need a token with the `read:packages` and `repo` scopes. For more information, see the [`packages`](/graphql/reference/objects#repository) connection or the [`PackageOwner`](/graphql/reference/interfaces#packageowner) interface. For more information about the `deletePackageVersion` mutation, see "[`deletePackageVersion`](/graphql/reference/mutations#deletepackageversion)." diff --git a/content/packages/learn-github-packages/deleting-and-restoring-a-package.md b/content/packages/learn-github-packages/deleting-and-restoring-a-package.md index a8b85d8f61..4e85930462 100644 --- a/content/packages/learn-github-packages/deleting-and-restoring-a-package.md +++ b/content/packages/learn-github-packages/deleting-and-restoring-a-package.md @@ -1,6 +1,6 @@ --- title: Deleting and restoring a package -intro: 'Learn how to delete or restore a package.' +intro: Learn how to delete or restore a package. product: '{% data reusables.gated-features.packages %}' redirect_from: - /github/managing-packages-with-github-packages/deleting-a-package @@ -8,8 +8,8 @@ redirect_from: - /packages/manage-packages/deleting-a-package - /packages/guides/deleting-a-container-image versions: - free-pro-team: '*' - enterprise-server: '>=3.1' + fpt: '*' + ghes: '>=3.1' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -36,13 +36,13 @@ On {% data variables.product.prodname_dotcom %}, you can also restore an entire ## Packages API support -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can use the REST API to manage your packages. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." {% endif %} -For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version.{% if currentVersion == "free-pro-team@latest" %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`. For more information about GraphQL support, see "[Deleting a version of a repository-scoped package with GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)." +For packages that inherit their permissions and access from repositories, you can use GraphQL to delete a specific package version.{% ifversion fpt %} The {% data variables.product.prodname_registry %} GraphQL API does not support containers or Docker images that use the package namespace `https://ghcr.io/OWNER/PACKAGE-NAME`. For more information about GraphQL support, see "[Deleting a version of a repository-scoped package with GraphQL](#deleting-a-version-of-a-repository-scoped-package-with-graphql)." {% endif %} @@ -56,9 +56,9 @@ Repository-scoped packages on {% data variables.product.prodname_registry %} inc - maven - Gradle - NuGet -{% if currentVersion != "free-pro-team@latest" %}- Docker images at `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} +{% ifversion not fpt %}- Docker images at `docker.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME`{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} To delete a package that has granular permissions separate from a repository, such as container images stored at `https://ghcr.io/OWNER/PACKAGE-NAME`, you must have admin access to the package. @@ -84,7 +84,7 @@ To delete a version of a repository-scoped package, you must have admin permissi For packages that inherit their permissions and access from repositories, you can use the GraphQL to delete a specific package version. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} GraphQL is not supported for containers or Docker images at `ghcr.io`. {% endif %} @@ -107,7 +107,7 @@ For more information about the `deletePackageVersion` mutation, see "[`deletePac You cannot directly delete an entire package using GraphQL, but if you delete every version of a package, the package will no longer show on {% data variables.product.product_name %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Deleting a version of a user-scoped package on {% data variables.product.prodname_dotcom %} To delete a specific version of a user-scoped package on {% data variables.product.prodname_dotcom %}, such as for a Docker image at `ghcr.io`, use these steps. To delete an entire package, see "[Deleting an entire user-scoped package on {% data variables.product.prodname_dotcom %}](#deleting-an-entire-user-scoped-package-on-github)." @@ -151,7 +151,7 @@ To delete an entire repository-scoped package, you must have admin permissions t 5. To confirm, review the confirmation message, enter your package name, and click **I understand, delete this package.** ![Confirm package deletion button](/assets/images/help/package-registry/package-version-deletion-confirmation.png) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Deleting an entire user-scoped package on {% data variables.product.prodname_dotcom %} To review who can delete a package, see "[Required permissions](#required-permissions-to-delete-or-restore-a-package)." diff --git a/content/packages/learn-github-packages/index.md b/content/packages/learn-github-packages/index.md index 9249fe5f18..10c66302b8 100644 --- a/content/packages/learn-github-packages/index.md +++ b/content/packages/learn-github-packages/index.md @@ -9,9 +9,9 @@ redirect_from: - /packages/publishing-and-managing-packages - /packages/manage-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /introduction-to-github-packages - /about-permissions-for-github-packages diff --git a/content/packages/learn-github-packages/installing-a-package.md b/content/packages/learn-github-packages/installing-a-package.md index 662d4ecb39..e06f3a56ef 100644 --- a/content/packages/learn-github-packages/installing-a-package.md +++ b/content/packages/learn-github-packages/installing-a-package.md @@ -8,9 +8,9 @@ redirect_from: - /packages/manage-packages/installing-a-package permissions: You can install any package that you have permission to view. versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -24,7 +24,7 @@ After you find a package, you can read the package's description and installatio ## Installing a package -You can install a package from {% data variables.product.prodname_registry %} using any {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. +You can install a package from {% data variables.product.prodname_registry %} using any {% ifversion fpt or ghae %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. 1. Authenticate to {% data variables.product.prodname_registry %} using the instructions for your package client. For more information, see "[Authenticating to GitHub Packages](/packages/learn-github-packages/introduction-to-github-packages#authenticating-to-github-packages)." 2. Install the package using the instructions for your package client. diff --git a/content/packages/learn-github-packages/introduction-to-github-packages.md b/content/packages/learn-github-packages/introduction-to-github-packages.md index 4519925aff..8feae7fd1a 100644 --- a/content/packages/learn-github-packages/introduction-to-github-packages.md +++ b/content/packages/learn-github-packages/introduction-to-github-packages.md @@ -1,6 +1,6 @@ --- title: Introduction to GitHub Packages -intro: '{% data variables.product.prodname_registry %} is a software package hosting service that allows you to host your software packages privately {% if currentVersion == "github-ae@latest" %} for specified users or internally for your enterprise{% else %}or publicly{% endif %} and use packages as dependencies in your projects.' +intro: '{% data variables.product.prodname_registry %} is a software package hosting service that allows you to host your software packages privately {% ifversion ghae %} for specified users or internally for your enterprise{% else %}or publicly{% endif %} and use packages as dependencies in your projects.' product: '{% data reusables.gated-features.packages %}' redirect_from: - /articles/about-github-package-registry @@ -11,9 +11,9 @@ redirect_from: - /packages/learn-github-packages/core-concepts-for-github-packages - /packages/guides/about-github-container-registry versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -21,13 +21,13 @@ versions: ## About {% data variables.product.prodname_registry %} -{% data variables.product.prodname_registry %} is a platform for hosting and managing packages, including containers and other dependencies. {% data variables.product.prodname_registry %} combines your source code and packages in one place to provide integrated permissions management{% if currentVersion != "github-ae@latest" %} and billing{% endif %}, so you can centralize your software development on {% data variables.product.product_name %}. +{% data variables.product.prodname_registry %} is a platform for hosting and managing packages, including containers and other dependencies. {% data variables.product.prodname_registry %} combines your source code and packages in one place to provide integrated permissions management{% ifversion not ghae %} and billing{% endif %}, so you can centralize your software development on {% data variables.product.product_name %}. You can integrate {% data variables.product.prodname_registry %} with {% data variables.product.product_name %} APIs, {% data variables.product.prodname_actions %}, and webhooks to create an end-to-end DevOps workflow that includes your code, CI, and deployment solutions. -{% data variables.product.prodname_registry %} offers different package registries for commonly used package managers, such as npm, RubyGems, Apache Maven, Gradle, Docker, and NuGet. {% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_dotcom %}'s {% data variables.product.prodname_container_registry %} is optimized for containers and supports Docker and OCI images.{% endif %} For more information on the different package registries that {% data variables.product.prodname_registry %} supports, see "[Working with a {% data variables.product.prodname_registry %} registry](/packages/working-with-a-github-packages-registry)." +{% data variables.product.prodname_registry %} offers different package registries for commonly used package managers, such as npm, RubyGems, Apache Maven, Gradle, Docker, and NuGet. {% ifversion fpt %}{% data variables.product.prodname_dotcom %}'s {% data variables.product.prodname_container_registry %} is optimized for containers and supports Docker and OCI images.{% endif %} For more information on the different package registries that {% data variables.product.prodname_registry %} supports, see "[Working with a {% data variables.product.prodname_registry %} registry](/packages/working-with-a-github-packages-registry)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ![Diagram showing packages support for the Container registry, RubyGems, npm, Apache Maven, NuGet, and Gradle](/assets/images/help/package-registry/packages-diagram-with-container-registry.png) @@ -43,12 +43,12 @@ You can view a package's README, as well as metadata such as licensing, download | | | |--------------------|--------------------| -| Permissions | {% if currentVersion == "free-pro-team@latest" %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_container_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | +| Permissions | {% ifversion fpt %}The permissions for a package are either inherited from the repository where the package is hosted or, for packages in the {% data variables.product.prodname_container_registry %}, they can be defined for specific user or organization accounts. For more information, see "[Configuring a package’s access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility)." {% else %}Each package inherits the permissions of the repository where the package is hosted.

For example, anyone with read permissions for a repository can install a package as a dependency in a project, and anyone with write permissions can publish a new package version.{% endif %} | | Visibility | {% data reusables.package_registry.public-or-private-packages %} | For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## About billing for {% data variables.product.prodname_registry %} {% data reusables.package_registry.packages-billing %} {% data reusables.package_registry.packages-spending-limit-brief %} For more information, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)." @@ -70,7 +70,7 @@ For more information, see "[About permissions for {% data variables.product.prod | .NET | NuGet package management for .NET | `nupkg` | `dotnet` CLI | | N/A | Docker container management | `Dockerfile` | `Docker` | -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} {% note %} **Note:** Docker is not supported when subdomain isolation is disabled. @@ -83,7 +83,7 @@ For more information about subdomain isolation, see "[Enabling subdomain isolati For more information about configuring your package client for use with {% data variables.product.prodname_registry %}, see "[Working with a {% data variables.product.prodname_registry %} registry](/packages/working-with-a-github-packages-registry)." -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} For more information about Docker and the {% data variables.product.prodname_container_registry %}, see "[Working with the Container registry](/packages/working-with-a-github-packages-registry/working-with-the-container-registry)." {% endif %} ## Authenticating to {% data variables.product.prodname_registry %} @@ -94,29 +94,29 @@ For more information about Docker and the {% data variables.product.prodname_con ## Managing packages -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can delete a package in the {% data variables.product.product_name %} user interface or using the REST API. For more information, see the "[{% data variables.product.prodname_registry %} API](/rest/reference/packages)." {% endif %} -{% if currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion ghes > 3.0 %} You can delete a private or public package in the {% data variables.product.product_name %} user interface. Or for repo-scoped packages, you can delete a version of a private package using GraphQL. {% endif %} -{% if currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes < 3.1 %} You can delete a version of a private package in the {% data variables.product.product_name %} user interface or using the GraphQL API. {% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} You can delete a version of a package in the {% data variables.product.product_name %} user interface or using the GraphQL API. {% endif %} -When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." +When you use the GraphQL API to query and delete private packages, you must use the same token you use to authenticate to {% data variables.product.prodname_registry %}. For more information, see "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" and "[Forming calls with GraphQL](/graphql/guides/forming-calls-with-graphql)." You can configure webhooks to subscribe to package-related events, such as when a package is published or updated. For more information, see the "[`package` webhook event](/webhooks/event-payloads/#package)." ## Contacting support -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you have feedback or feature requests for {% data variables.product.prodname_registry %}, use the [feedback form for {% data variables.product.prodname_registry %}](https://support.github.com/contact/feedback?contact%5Bcategory%5D=github-packages). Contact {% data variables.contact.github_support %} about {% data variables.product.prodname_registry %} using [our contact form](https://support.github.com/contact?form%5Bsubject%5D=Re:%20GitHub%20Packages) if: diff --git a/content/packages/learn-github-packages/publishing-a-package.md b/content/packages/learn-github-packages/publishing-a-package.md index 1416b17e0d..5ee08f1dce 100644 --- a/content/packages/learn-github-packages/publishing-a-package.md +++ b/content/packages/learn-github-packages/publishing-a-package.md @@ -7,9 +7,9 @@ redirect_from: - /packages/publishing-and-managing-packages/publishing-a-package permissions: Anyone with write permissions for a repository can publish a package to that repository. versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -21,13 +21,13 @@ You can help people understand and use your package by providing a description a {% data reusables.package_registry.public-or-private-packages %} A repository can be connected to more than one package. To prevent confusion, make sure the README and description clearly provide information about each package. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If a new version of a package fixes a security vulnerability, you should publish a security advisory in your repository. {% data variables.product.prodname_dotcom %} reviews each published security advisory and may use it to send {% data variables.product.prodname_dependabot_alerts %} to affected repositories. For more information, see "[About GitHub Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)." {% endif %} ## Publishing a package -You can publish a package to {% data variables.product.prodname_registry %} using any {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. +You can publish a package to {% data variables.product.prodname_registry %} using any {% ifversion fpt or ghae %}supported package client{% else %}package type enabled for your instance{% endif %} by following the same general guidelines. 1. Create or use an existing access token with the appropriate scopes for the task you want to accomplish. For more information, see "[About permissions for {% data variables.product.prodname_registry %}](/packages/learn-github-packages/about-permissions-for-github-packages)." 2. Authenticate to {% data variables.product.prodname_registry %} using your access token and the instructions for your package client. diff --git a/content/packages/learn-github-packages/viewing-packages.md b/content/packages/learn-github-packages/viewing-packages.md index b72baa3d77..c5828bf619 100644 --- a/content/packages/learn-github-packages/viewing-packages.md +++ b/content/packages/learn-github-packages/viewing-packages.md @@ -10,9 +10,9 @@ redirect_from: - /packages/manage-packages/viewing-packages permissions: You must have at least read permissions to view a package. versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -22,18 +22,18 @@ versions: Your ability to view a package depends on several factors. By default, you can view all packages you have published. -Repository-scoped packages inherit their permissions and visibility from the repository that owns the package. The registries below use this type of permissions:{% if currentVersion != "free-pro-team@latest" %} +Repository-scoped packages inherit their permissions and visibility from the repository that owns the package. The registries below use this type of permissions:{% ifversion not fpt %} - Docker registry (`docker.pkg.github.com`){% endif %} - npm registry - RubyGems registry - Apache Maven registry - NuGet registry -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} The Container registry offers you the option of granular permissions and visibility settings that can be customized for each package owned by a personal user or organization account. You can choose to use granular permissions or connect the package to a repository and inherit it's permissions. For more information, see "[Connecting a repository to a package](/packages/learn-github-packages/connecting-a-repository-to-a-package)." {% endif %} -For more information, see "[About permissions for GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages){% if currentVersion == "free-pro-team@latest" %}" and "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility){% endif %}." +For more information, see "[About permissions for GitHub Packages](/packages/learn-github-packages/about-permissions-for-github-packages){% ifversion fpt %}" and "[Configuring a package's access control and visibility](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility){% endif %}." {% data reusables.package_registry.package-page-info %} diff --git a/content/packages/managing-github-packages-using-github-actions-workflows/about-github-packages-and-github-actions.md b/content/packages/managing-github-packages-using-github-actions-workflows/about-github-packages-and-github-actions.md index db022b22ec..9c9c08af88 100644 --- a/content/packages/managing-github-packages-using-github-actions-workflows/about-github-packages-and-github-actions.md +++ b/content/packages/managing-github-packages-using-github-actions-workflows/about-github-packages-and-github-actions.md @@ -1,10 +1,10 @@ --- title: About GitHub Packages and GitHub Actions -intro: Learn the fundamentals of managing packages through your {% data variables.product.prodname_actions %} workflows. +intro: 'Learn the fundamentals of managing packages through your {% data variables.product.prodname_actions %} workflows.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} diff --git a/content/packages/managing-github-packages-using-github-actions-workflows/example-workflows-for-publishing-a-package.md b/content/packages/managing-github-packages-using-github-actions-workflows/example-workflows-for-publishing-a-package.md index 5c6b375de3..c5dc5c1ee2 100644 --- a/content/packages/managing-github-packages-using-github-actions-workflows/example-workflows-for-publishing-a-package.md +++ b/content/packages/managing-github-packages-using-github-actions-workflows/example-workflows-for-publishing-a-package.md @@ -1,10 +1,10 @@ --- title: Example workflows for publishing a package -intro: To help you get started with your own custom workflows, review some example workflows for publishing packages. +intro: 'To help you get started with your own custom workflows, review some example workflows for publishing packages.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} diff --git a/content/packages/managing-github-packages-using-github-actions-workflows/index.md b/content/packages/managing-github-packages-using-github-actions-workflows/index.md index 40fee351bb..4496092a7d 100644 --- a/content/packages/managing-github-packages-using-github-actions-workflows/index.md +++ b/content/packages/managing-github-packages-using-github-actions-workflows/index.md @@ -3,9 +3,9 @@ title: Managing GitHub packages using GitHub Actions workflows shortTitle: Managing GitHub packages with workflows intro: 'You can safely publish and consume packages by building custom workflows that can also build, test, and deploy your code.' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /publishing-and-installing-a-package-with-github-actions - /example-workflows-for-publishing-a-package diff --git a/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md b/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md index 58252e1779..51e9d7574c 100644 --- a/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md +++ b/content/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions.md @@ -7,9 +7,9 @@ redirect_from: - /packages/using-github-packages-with-your-projects-ecosystem/using-github-packages-with-github-actions - /packages/guides/using-github-packages-with-github-actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -23,7 +23,7 @@ versions: You can extend the CI and CD capabilities of your repository by publishing or installing packages as part of your workflow. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Authenticating to the {% data variables.product.prodname_container_registry %} {% data reusables.package_registry.authenticate_with_pat_for_container_registry %} @@ -32,7 +32,7 @@ You can extend the CI and CD capabilities of your repository by publishing or in ### Authenticating to package registries on {% data variables.product.prodname_dotcom %} -{% if currentVersion == "free-pro-team@latest" %}If you want your workflow to authenticate to {% data variables.product.prodname_registry %} to access a package registry other than the {% data variables.product.prodname_container_registry %} on {% data variables.product.product_name %}, then{% else %}To authenticate to package registries on {% data variables.product.product_name %},{% endif %} we recommend using the `GITHUB_TOKEN` that {% data variables.product.product_name %} automatically creates for your repository when you enable {% data variables.product.prodname_actions %} instead of a personal access token for authentication. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}You should set the permissions for this access token in the workflow file to grant read access for the `contents` scope and write access for the `packages` scope. {% else %}It has read and write permissions for packages in the repository where the workflow runs. {% endif %}For forks, the `GITHUB_TOKEN` is granted read access for the parent repository. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." +{% ifversion fpt %}If you want your workflow to authenticate to {% data variables.product.prodname_registry %} to access a package registry other than the {% data variables.product.prodname_container_registry %} on {% data variables.product.product_name %}, then{% else %}To authenticate to package registries on {% data variables.product.product_name %},{% endif %} we recommend using the `GITHUB_TOKEN` that {% data variables.product.product_name %} automatically creates for your repository when you enable {% data variables.product.prodname_actions %} instead of a personal access token for authentication. {% ifversion fpt or ghes > 3.1 or ghae-next %}You should set the permissions for this access token in the workflow file to grant read access for the `contents` scope and write access for the `packages` scope. {% else %}It has read and write permissions for packages in the repository where the workflow runs. {% endif %}For forks, the `GITHUB_TOKEN` is granted read access for the parent repository. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." You can reference the `GITHUB_TOKEN` in your workflow file using the {% raw %}`{{secrets.GITHUB_TOKEN}}`{% endraw %} context. For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token)." @@ -40,7 +40,7 @@ You can reference the `GITHUB_TOKEN` in your workflow file using the {% raw %}`{ {% note %} -**Note:** Repository-owned packages include RubyGems, npm, Apache Maven, NuGet, {% if currentVersion == "free-pro-team@latest" %}and Gradle. {% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`.{% endif %} +**Note:** Repository-owned packages include RubyGems, npm, Apache Maven, NuGet, {% ifversion fpt %}and Gradle. {% else %}Gradle, and Docker packages that use the package namespace `docker.pkg.github.com`.{% endif %} {% endnote %} @@ -48,7 +48,7 @@ When you enable GitHub Actions, GitHub installs a GitHub App on your repository. {% data variables.product.prodname_registry %} allows you to push and pull packages through the `GITHUB_TOKEN` available to a {% data variables.product.prodname_actions %} workflow. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## About permissions and package access for {% data variables.product.prodname_container_registry %} The {% data variables.product.prodname_container_registry %} (`ghcr.io`) allows users to create and administer containers as free-standing resources at the organization level. Containers can be owned by an organization or personal user account and you can customize access to each of your containers separately from repository permissions. @@ -81,11 +81,11 @@ You can use {% data variables.product.prodname_actions %} to automatically publi {% data reusables.package_registry.actions-configuration %} -The following example demonstrates how you can use {% data variables.product.prodname_actions %} to build {% if currentVersion != "free-pro-team@latest" %}and test{% endif %} your app, and then automatically create a Docker image and publish it to {% data variables.product.prodname_registry %}. +The following example demonstrates how you can use {% data variables.product.prodname_actions %} to build {% ifversion not fpt %}and test{% endif %} your app, and then automatically create a Docker image and publish it to {% data variables.product.prodname_registry %}. Create a new workflow file in your repository (such as `.github/workflows/deploy-image.yml`), and add the following YAML: -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.package_registry.publish-docker-image %} {% else %} @@ -138,7 +138,7 @@ jobs: build-and-push-image: runs-on: ubuntu-latest - needs: run-npm-test {% if currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + needs: run-npm-test {% ifversion ghes > 3.1 or ghae-next %} permissions: contents: read packages: write {% endif %} @@ -148,7 +148,7 @@ jobs: - name: Log in to GitHub Docker Registry uses: docker/login-action@v1 with: - registry: {% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} + registry: {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %} username: {% raw %}${{ github.actor }}{% endraw %} password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} - name: Build and push Docker image @@ -156,7 +156,7 @@ jobs: with: push: true tags: | - {% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}/{% raw %}${{ github.repository }}/octo-image:${{ github.sha }}{% endraw %} + {% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}/{% raw %}${{ github.repository }}/octo-image:${{ github.sha }}{% endraw %} ``` {% endif %} @@ -178,7 +178,7 @@ on: -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} @@ -288,7 +288,7 @@ build-and-push-image: {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} {% raw %} @@ -305,7 +305,7 @@ permissions: {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% raw %} @@ -349,7 +349,7 @@ permissions: - name: Log in to GitHub Docker Registry uses: docker/login-action@v1 with: - registry: {% endraw %}{% if currentVersion == "github-ae@latest" %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %} + registry: {% endraw %}{% ifversion ghae %}docker.YOUR-HOSTNAME.com{% else %}docker.pkg.github.com{% endif %}{% raw %} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} ``` @@ -400,7 +400,7 @@ with: -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% raw %} @@ -428,7 +428,7 @@ push: true -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% raw %} @@ -446,7 +446,7 @@ labels: ${{ steps.meta.outputs.labels }} {% else %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% raw %} ```yaml tags: | @@ -479,11 +479,11 @@ A few minutes after the workflow has completed, the new package will visible in You can install packages as part of your CI flow using {% data variables.product.prodname_actions %}. For example, you could configure a workflow so that anytime a developer pushes code to a pull request, the workflow resolves dependencies by downloading and installing packages hosted by {% data variables.product.prodname_registry %}. Then, the workflow can run CI tests that require the dependencies. -Installing packages hosted by {% data variables.product.prodname_registry %} through {% data variables.product.prodname_actions %} requires minimal configuration or additional authentication when you use the `GITHUB_TOKEN`.{% if currentVersion == "free-pro-team@latest" %} Data transfer is also free when an action installs a package. For more information, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)."{% endif %} +Installing packages hosted by {% data variables.product.prodname_registry %} through {% data variables.product.prodname_actions %} requires minimal configuration or additional authentication when you use the `GITHUB_TOKEN`.{% ifversion fpt %} Data transfer is also free when an action installs a package. For more information, see "[About billing for {% data variables.product.prodname_registry %}](/billing/managing-billing-for-github-packages/about-billing-for-github-packages)."{% endif %} {% data reusables.package_registry.actions-configuration %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Upgrading a workflow that accesses `ghcr.io` The {% data variables.product.prodname_container_registry %} supports the `GITHUB_TOKEN` for easy and secure authentication in your workflows. If your workflow is using a personal access token (PAT) to authenticate to `ghcr.io`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. @@ -532,7 +532,7 @@ jobs: # Push image to GitHub Packages. # See also https://docs.docker.com/docker-hub/builds/ push: - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: packages: write contents: read{% endif %} diff --git a/content/packages/quickstart.md b/content/packages/quickstart.md index 8652ee0d7a..062500dfb4 100644 --- a/content/packages/quickstart.md +++ b/content/packages/quickstart.md @@ -3,9 +3,9 @@ title: Quickstart for GitHub Packages intro: 'Publish to {% data variables.product.prodname_registry %} with {% data variables.product.prodname_actions %}.' allowTitleToDifferFromFilename: true versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.actions.enterprise-github-hosted-runners %} @@ -18,10 +18,10 @@ In this guide, you'll create a {% data variables.product.prodname_actions %} wor ## Publishing your package -1. Create a new repository on {% data variables.product.prodname_dotcom %}, adding the `.gitignore` for Node. {% if currentVersion ver_lt "enterprise-server@3.1" %} Create a private repository if you’d like to delete this package later, public packages cannot be deleted.{% endif %} For more information, see "[Creating a new repository](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository)." +1. Create a new repository on {% data variables.product.prodname_dotcom %}, adding the `.gitignore` for Node. {% ifversion ghes < 3.1 %} Create a private repository if you’d like to delete this package later, public packages cannot be deleted.{% endif %} For more information, see "[Creating a new repository](/github/creating-cloning-and-archiving-repositories/creating-a-new-repository)." 2. Clone the repository to your local machine. ```shell - $ git clone https://{% if currentVersion == "github-ae@latest" %}YOUR-HOSTNAME{% else %}github.com{% endif %}/YOUR-USERNAME/YOUR-REPOSITORY.git + $ git clone https://{% ifversion ghae %}YOUR-HOSTNAME{% else %}github.com{% endif %}/YOUR-USERNAME/YOUR-REPOSITORY.git $ cd YOUR-REPOSITORY ``` 3. Create an `index.js` file and add a basic alert to say "Hello world!" @@ -50,7 +50,7 @@ In this guide, you'll create a {% data variables.product.prodname_actions %} wor $ git push ``` 6. Create a `.github/workflows` directory. In that directory, create a file named `release-package.yml`. -7. Copy the following YAML content into the `release-package.yml` file{% if currentVersion == "github-ae@latest" %}, replacing `YOUR-HOSTNAME` with the name of your enterprise{% endif %}. +7. Copy the following YAML content into the `release-package.yml` file{% ifversion ghae %}, replacing `YOUR-HOSTNAME` with the name of your enterprise{% endif %}. ```yaml{:copy} name: Node.js Package @@ -71,7 +71,7 @@ In this guide, you'll create a {% data variables.product.prodname_actions %} wor publish-gpr: needs: build - runs-on: ubuntu-latest{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} + runs-on: ubuntu-latest{% ifversion fpt or ghes > 3.1 or ghae-next %} permissions: packages: write contents: read{% endif %} @@ -80,7 +80,7 @@ In this guide, you'll create a {% data variables.product.prodname_actions %} wor - uses: actions/setup-node@v1 with: node-version: 12 - registry-url: {% if currentVersion == "github-ae@latest" %}https://npm.YOUR-HOSTNAME.com/{% else %}https://npm.pkg.github.com/{% endif %} + registry-url: {% ifversion ghae %}https://npm.YOUR-HOSTNAME.com/{% else %}https://npm.pkg.github.com/{% endif %} - run: npm ci - run: npm publish env: diff --git a/content/packages/working-with-a-github-packages-registry/index.md b/content/packages/working-with-a-github-packages-registry/index.md index fa9daeecc2..2c3b28d873 100644 --- a/content/packages/working-with-a-github-packages-registry/index.md +++ b/content/packages/working-with-a-github-packages-registry/index.md @@ -9,9 +9,9 @@ redirect_from: - /packages/guides/package-client-guides-for-github-packages - /packages/guides/container-guides-for-github-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' children: - /working-with-the-container-registry - /working-with-the-docker-registry @@ -24,7 +24,7 @@ children: --- {% data reusables.package_registry.packages-ghes-release-stage %} {% data reusables.package_registry.packages-ghae-release-stage %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ![Diagram showing packages support for Docker, Container registry, RubyGems, npm, Apache Maven, NuGet, and Gradle](/assets/images/help/package-registry/packages-diagram-with-container-registry.png) {% else %} ![Diagram showing packages support for Docker, RubyGems, npm, Apache Maven, Gradle, NuGet, and Docker](/assets/images/help/package-registry/packages-diagram-without-container-registry.png) diff --git a/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md b/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md index fbedaffa4f..05020824bb 100644 --- a/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md +++ b/content/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry.md @@ -7,7 +7,7 @@ redirect_from: - /packages/guides/container-guides-for-github-packages/migrating-to-github-container-registry-for-docker-images - /packages/guides/migrating-to-github-container-registry-for-docker-images versions: - free-pro-team: '*' + fpt: '*' --- {% data variables.product.prodname_dotcom %}'s Docker registry has been replaced by the {% data variables.product.prodname_container_registry %}. If you've stored Docker images in the Docker registry, they will be automatically moved to the {% data variables.product.prodname_container_registry %}. You don't need to do anything. Any scripts or {% data variables.product.prodname_actions %} workflows that use the namespace for the Docker registry (`docker.pkg.github.com`) will continue to work after the migration to the {% data variables.product.prodname_container_registry %} (`ghcr.io`). diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry.md index a89c91501b..93a0a0c815 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry.md @@ -9,9 +9,9 @@ redirect_from: - /packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages - /packages/guides/configuring-apache-maven-for-use-with-github-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -33,13 +33,13 @@ You can authenticate to {% data variables.product.prodname_registry %} with Apac In the `servers` tag, add a child `server` tag with an `id`, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, and *TOKEN* with your personal access token. -In the `repositories` tag, configure a repository by mapping the `id` of the repository to the `id` you added in the `server` tag containing your credentials. Replace {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}*HOSTNAME* with the host name of {% data variables.product.product_location %}, and{% endif %} *OWNER* with the name of the user or organization account that owns the repository. Because uppercase letters aren't supported, you must use lowercase letters for the repository owner even if the {% data variables.product.prodname_dotcom %} user or organization name contains uppercase letters. +In the `repositories` tag, configure a repository by mapping the `id` of the repository to the `id` you added in the `server` tag containing your credentials. Replace {% ifversion ghes or ghae %}*HOSTNAME* with the host name of {% data variables.product.product_location %}, and{% endif %} *OWNER* with the name of the user or organization account that owns the repository. Because uppercase letters aren't supported, you must use lowercase letters for the repository owner even if the {% data variables.product.prodname_dotcom %} user or organization name contains uppercase letters. If you want to interact with multiple repositories, you can add each repository to separate `repository` children in the `repositories` tag, mapping the `id` of each to the credentials in the `servers` tag. {% data reusables.package_registry.apache-maven-snapshot-versions-supported %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation enabled: {% endif %} @@ -63,7 +63,7 @@ If your instance has subdomain isolation enabled:
github - https://{% if currentVersion == "free-pro-team@latest" %}maven.pkg.github.com{% else %}maven.HOSTNAME{% endif %}/OWNER/* + https://{% ifversion fpt %}maven.pkg.github.com{% else %}maven.HOSTNAME{% endif %}/OWNER/* true @@ -82,7 +82,7 @@ If your instance has subdomain isolation enabled: ``` -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation disabled: ```xml @@ -133,7 +133,7 @@ If you would like to publish multiple packages to the same repository, you can i For more information on creating a package, see the [maven.apache.org documentation](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html). -1. Edit the `distributionManagement` element of the *pom.xml* file located in your package directory, replacing {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}*HOSTNAME* with the host name of {% data variables.product.product_location %}, {% endif %}`OWNER` with the name of the user or organization account that owns the repository and `REPOSITORY` with the name of the repository containing your project.{% if enterpriseServerVersions contains currentVersion %} +1. Edit the `distributionManagement` element of the *pom.xml* file located in your package directory, replacing {% ifversion ghes or ghae %}*HOSTNAME* with the host name of {% data variables.product.product_location %}, {% endif %}`OWNER` with the name of the user or organization account that owns the repository and `REPOSITORY` with the name of the repository containing your project.{% ifversion ghes %} If your instance has subdomain isolation enabled:{% endif %} ```xml @@ -141,10 +141,10 @@ For more information on creating a package, see the [maven.apache.org documentat github GitHub OWNER Apache Maven Packages - https://{% if currentVersion == "free-pro-team@latest" %}maven.pkg.github.com{% else %}maven.HOSTNAME{% endif %}/OWNER/REPOSITORY + https://{% ifversion fpt %}maven.pkg.github.com{% else %}maven.HOSTNAME{% endif %}/OWNER/REPOSITORY - ```{% if enterpriseServerVersions contains currentVersion %} + ```{% ifversion ghes %} If your instance has subdomain isolation disabled: ```xml @@ -189,4 +189,4 @@ To install an Apache Maven package from {% data variables.product.prodname_regis ## Further reading - "[Working with the Gradle registry](/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry)" -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" +- "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md index 54a61df014..133f818028 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-container-registry.md @@ -13,7 +13,7 @@ redirect_from: - /packages/guides/container-guides-for-github-packages/enabling-improved-container-support - /packages/guides/enabling-improved-container-support versions: - free-pro-team: '*' + fpt: '*' --- ## About {% data variables.product.prodname_container_registry %} support diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-docker-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-docker-registry.md index da1b3840e7..fabe9b68ca 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-docker-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-docker-registry.md @@ -1,6 +1,6 @@ --- title: Working with the Docker registry -intro: '{% if currentVersion == "free-pro-team@latest" %}The Docker registry has now been replaced by the {% data variables.product.prodname_container_registry %}.{% else %}You can push and pull your Docker images using the {% data variables.product.prodname_registry %} Docker registry, which uses the package namespace `https://docker.pkg.github.com`.{% endif %}' +intro: '{% ifversion fpt %}The Docker registry has now been replaced by the {% data variables.product.prodname_container_registry %}.{% else %}You can push and pull your Docker images using the {% data variables.product.prodname_registry %} Docker registry, which uses the package namespace `https://docker.pkg.github.com`.{% endif %}' product: '{% data reusables.gated-features.packages %}' redirect_from: - /articles/configuring-docker-for-use-with-github-package-registry @@ -10,13 +10,13 @@ redirect_from: - /packages/guides/container-guides-for-github-packages/configuring-docker-for-use-with-github-packages - /packages/guides/configuring-docker-for-use-with-github-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data variables.product.prodname_dotcom %}'s Docker registry (which used the namespace `docker.pkg.github.com`) has been replaced by the {% data variables.product.prodname_container_registry %} (which uses the namespace `https://ghcr.io`). The {% data variables.product.prodname_container_registry %} offers benefits such as granular permissions and storage optimization for Docker images. @@ -34,7 +34,7 @@ Docker images previously stored in the Docker registry are being automatically m When installing or publishing a Docker image, the Docker registry does not currently support foreign layers, such as Windows images. -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} Before you can use the Docker registry on {% data variables.product.prodname_registry %}, the site administrator for {% data variables.product.product_location %} must enable Docker support and subdomain isolation for your instance. For more information, see "[Managing GitHub Packages for your enterprise](/enterprise/admin/packages)." @@ -54,7 +54,7 @@ You can authenticate to {% data variables.product.prodname_registry %} with Dock To keep your credentials secure, we recommend you save your personal access token in a local file on your computer and use Docker's `--password-stdin` flag, which reads your token from a local file. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% raw %} ```shell $ cat ~/TOKEN.txt | docker login https://docker.pkg.github.com -u USERNAME --password-stdin @@ -62,8 +62,8 @@ To keep your credentials secure, we recommend you save your personal access toke {% endraw %} {% endif %} -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes or ghae %} +{% ifversion ghes > 2.22 %} If your instance has subdomain isolation enabled: {% endif %} {% raw %} @@ -71,7 +71,7 @@ If your instance has subdomain isolation enabled: $ cat ~/TOKEN.txt | docker login docker.HOSTNAME -u USERNAME --password-stdin ``` {% endraw %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} If your instance has subdomain isolation disabled: {% raw %} @@ -83,7 +83,7 @@ If your instance has subdomain isolation disabled: {% endif %} -To use this example login command, replace `USERNAME` with your {% data variables.product.product_name %} username{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}, `HOSTNAME` with the URL for {% data variables.product.product_location %},{% endif %} and `~/TOKEN.txt` with the file path to your personal access token for {% data variables.product.product_name %}. +To use this example login command, replace `USERNAME` with your {% data variables.product.product_name %} username{% ifversion ghes or ghae %}, `HOSTNAME` with the URL for {% data variables.product.product_location %},{% endif %} and `~/TOKEN.txt` with the file path to your personal access token for {% data variables.product.product_name %}. For more information, see "[Docker login](https://docs.docker.com/engine/reference/commandline/login/#provide-a-password-using-stdin)." @@ -108,38 +108,38 @@ For more information, see "[Docker login](https://docs.docker.com/engine/referen > REPOSITORY TAG IMAGE ID CREATED SIZE > IMAGE_NAME VERSION IMAGE_ID 4 weeks ago 1.11MB ``` -2. Using the Docker image ID, tag the docker image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} *HOSTNAME* with the hostname of {% data variables.product.product_location %},{% endif %} and *VERSION* with package version at build time. - {% if currentVersion == "free-pro-team@latest" %} +2. Using the Docker image ID, tag the docker image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% ifversion ghes or ghae %} *HOSTNAME* with the hostname of {% data variables.product.product_location %},{% endif %} and *VERSION* with package version at build time. + {% ifversion fpt %} ```shell $ docker tag IMAGE_ID docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` {% else %} - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} If your instance has subdomain isolation enabled: {% endif %} ```shell $ docker tag IMAGE_ID docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} If your instance has subdomain isolation disabled: ```shell $ docker tag IMAGE_ID HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` {% endif %} {% endif %} -3. If you haven't already built a docker image for the package, build the image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image, *VERSION* with package version at build time,{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} *HOSTNAME* with the hostname of {% data variables.product.product_location %},{% endif %} and *PATH* to the image if it isn't in the current working directory. - {% if currentVersion == "free-pro-team@latest" %} +3. If you haven't already built a docker image for the package, build the image, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image, *VERSION* with package version at build time,{% ifversion ghes or ghae %} *HOSTNAME* with the hostname of {% data variables.product.product_location %},{% endif %} and *PATH* to the image if it isn't in the current working directory. + {% ifversion fpt %} ```shell $ docker build -t docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH ``` {% else %} - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} If your instance has subdomain isolation enabled: {% endif %} ```shell $ docker build -t docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH ``` - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} If your instance has subdomain isolation disabled: ```shell $ docker build -t HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH @@ -147,18 +147,18 @@ For more information, see "[Docker login](https://docs.docker.com/engine/referen {% endif %} {% endif %} 4. Publish the image to {% data variables.product.prodname_registry %}. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} ```shell $ docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` {% else %} - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} If your instance has subdomain isolation enabled: {% endif %} ```shell $ docker push docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION ``` - {% if currentVersion ver_gt "enterprise-server@2.22" %} + {% ifversion ghes > 2.22 %} If your instance has subdomain isolation disabled: ```shell $ docker push HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION @@ -173,13 +173,13 @@ For more information, see "[Docker login](https://docs.docker.com/engine/referen ### Example publishing a Docker image -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} These examples assume your instance has subdomain isolation enabled. {% endif %} You can publish version 1.0 of the `monalisa` image to the `octocat/octo-app` repository using an image ID. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ```shell $ docker images @@ -212,7 +212,7 @@ $ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0 You can publish a new Docker image for the first time and name it `monalisa`. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ```shell # Build the image with docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION # Assumes Dockerfile resides in the current working directory (.) @@ -237,21 +237,21 @@ $ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0 {% data reusables.package_registry.docker_registry_deprecation_status %} -You can use the `docker pull` command to install a docker image from {% data variables.product.prodname_registry %}, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} *HOSTNAME* with the host name of {% data variables.product.product_location %}, {% endif %} and *TAG_NAME* with tag for the image you want to install. +You can use the `docker pull` command to install a docker image from {% data variables.product.prodname_registry %}, replacing *OWNER* with the name of the user or organization account that owns the repository, *REPOSITORY* with the name of the repository containing your project, *IMAGE_NAME* with name of the package or image,{% ifversion ghes or ghae %} *HOSTNAME* with the host name of {% data variables.product.product_location %}, {% endif %} and *TAG_NAME* with tag for the image you want to install. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ```shell $ docker pull docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME ``` {% else %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} If your instance has subdomain isolation enabled: {% endif %} ```shell $ docker pull docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME ``` -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} If your instance has subdomain isolation disabled: ```shell $ docker pull HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME @@ -267,6 +267,6 @@ $ docker pull HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME ## Further reading -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" +- "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" -{% endif %} \ No newline at end of file +{% endif %} diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry.md index b74eaff31d..07a06907aa 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry.md @@ -9,9 +9,9 @@ redirect_from: - /packages/using-github-packages-with-your-projects-ecosystem/configuring-gradle-for-use-with-github-packages - /packages/guides/configuring-gradle-for-use-with-github-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -31,9 +31,9 @@ versions: You can authenticate to {% data variables.product.prodname_registry %} with Gradle using either Gradle Groovy or Kotlin DSL by editing your *build.gradle* file (Gradle Groovy) or *build.gradle.kts* file (Kotlin DSL) file to include your personal access token. You can also configure Gradle Groovy and Kotlin DSL to recognize a single package or multiple packages in a repository. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} Replace *REGISTRY-URL* with the URL for your instance's Maven registry. If your instance has subdomain isolation enabled, use `maven.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/maven`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance. -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} Replace *REGISTRY-URL* with the URL for your enterprise's Maven registry, `maven.HOSTNAME`. Replace *HOSTNAME* with the host name of {% data variables.product.product_location %}. {% endif %} @@ -55,7 +55,7 @@ publishing { repositories { maven { name = "GitHubPackages" - url = uri("https://{% if currentVersion == "free-pro-team@latest" %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + url = uri("https://{% ifversion fpt %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") credentials { username = project.findProperty("gpr.user") ?: System.getenv("USERNAME") password = project.findProperty("gpr.key") ?: System.getenv("TOKEN") @@ -82,7 +82,7 @@ subprojects { repositories { maven { name = "GitHubPackages" - url = uri("https://{% if currentVersion == "free-pro-team@latest" %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + url = uri("https://{% ifversion fpt %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") credentials { username = project.findProperty("gpr.user") ?: System.getenv("USERNAME") password = project.findProperty("gpr.key") ?: System.getenv("TOKEN") @@ -108,7 +108,7 @@ publishing { repositories { maven { name = "GitHubPackages" - url = uri("https://{% if currentVersion == "free-pro-team@latest" %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + url = uri("https://{% ifversion fpt %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") credentials { username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") @@ -135,7 +135,7 @@ subprojects { repositories { maven { name = "GitHubPackages" - url = uri("https://{% if currentVersion == "free-pro-team@latest" %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") + url = uri("https://{% ifversion fpt %}maven.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/REPOSITORY") credentials { username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") @@ -208,4 +208,4 @@ You can install a package by adding the package as a dependency to your project. ## Further reading - "[Working with the Apache Maven registry](/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry)" -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" +- "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md index 3849a17d06..3494490247 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-npm-registry.md @@ -9,9 +9,9 @@ redirect_from: - /packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages - /packages/guides/configuring-npm-for-use-with-github-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -19,14 +19,14 @@ versions: {% data reusables.package_registry.admins-can-configure-package-types %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Limits for published npm versions If you publish over 1,000 npm package versions to {% data variables.product.prodname_registry %}, you may see performance issues and timeouts occur during usage. In the future, to improve performance of the service, you won't be able to publish more than 1,000 versions of a package on {% data variables.product.prodname_dotcom %}. Any versions published before hitting this limit will still be readable. -If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." +If you reach this limit, consider deleting package versions or contact Support for help. When this limit is enforced, our documentation will be updated with a way to work around this limit. For more information, see "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" or "[Contacting Support](/packages/learn-github-packages/about-github-packages#contacting-support)." {% endif %} @@ -42,17 +42,17 @@ If you reach this limit, consider deleting package versions or contact Support f You can authenticate to {% data variables.product.prodname_registry %} with npm by either editing your per-user *~/.npmrc* file to include your personal access token or by logging in to npm on the command line using your username and personal access token. -To authenticate by adding your personal access token to your *~/.npmrc* file, edit the *~/.npmrc* file for your project to include the following line, replacing {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}*HOSTNAME* with the host name of {% data variables.product.product_location %} and {% endif %}*TOKEN* with your personal access token. Create a new *~/.npmrc* file if one doesn't exist. +To authenticate by adding your personal access token to your *~/.npmrc* file, edit the *~/.npmrc* file for your project to include the following line, replacing {% ifversion ghes or ghae %}*HOSTNAME* with the host name of {% data variables.product.product_location %} and {% endif %}*TOKEN* with your personal access token. Create a new *~/.npmrc* file if one doesn't exist. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation enabled: {% endif %} ```shell -//{% if currentVersion == "free-pro-team@latest" %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %}/:_authToken=TOKEN +//{% ifversion fpt %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %}/:_authToken=TOKEN ``` -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation disabled: ```shell @@ -64,19 +64,19 @@ To authenticate by logging in to npm, use the `npm login` command, replacing *US If {% data variables.product.prodname_registry %} is not your default package registry for using npm and you want to use the `npm audit` command, we recommend you use the `--scope` flag with the owner of the package when you authenticate to {% data variables.product.prodname_registry %}. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation enabled: {% endif %} ```shell -$ npm login --scope=@OWNER --registry=https://{% if currentVersion == "free-pro-team@latest" %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %} +$ npm login --scope=@OWNER --registry=https://{% ifversion fpt %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %} > Username: USERNAME > Password: TOKEN > Email: PUBLIC-EMAIL-ADDRESS ``` -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation disabled: ```shell @@ -119,15 +119,15 @@ You can use an *.npmrc* file to configure the scope mapping for your project. In You can use `publishConfig` element in the *package.json* file to specify the registry where you want the package published. For more information, see "[publishConfig](https://docs.npmjs.com/files/package.json#publishconfig)" in the npm documentation. 1. Edit the *package.json* file for your package and include a `publishConfig` entry. - {% if enterpriseServerVersions contains currentVersion %} + {% ifversion ghes %} If your instance has subdomain isolation enabled: {% endif %} ```shell "publishConfig": { - "registry":"https://{% if currentVersion == "free-pro-team@latest" %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %}" + "registry":"https://{% ifversion fpt %}npm.pkg.github.com{% else %}npm.HOSTNAME/{% endif %}" }, ``` - {% if enterpriseServerVersions contains currentVersion %} + {% ifversion ghes %} If your instance has subdomain isolation disabled: ```shell "publishConfig": { @@ -147,7 +147,7 @@ To ensure the repository's URL is correct, replace REPOSITORY with the name of t {% data variables.product.prodname_registry %} will match the repository based on the URL, instead of based on the package name. ```shell -"repository":"https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY", +"repository":"https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY", ``` ## Installing a package @@ -184,18 +184,18 @@ You also need to add the *.npmrc* file to your project so all requests to instal ### Installing packages from other organizations -By default, you can only use {% data variables.product.prodname_registry %} packages from one organization. If you'd like to route package requests to multiple organizations and users, you can add additional lines to your *.npmrc* file, replacing {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}*HOSTNAME* with the host name of {% data variables.product.product_location %} and {% endif %}*OWNER* with the name of the user or organization account that owns the repository containing your project. +By default, you can only use {% data variables.product.prodname_registry %} packages from one organization. If you'd like to route package requests to multiple organizations and users, you can add additional lines to your *.npmrc* file, replacing {% ifversion ghes or ghae %}*HOSTNAME* with the host name of {% data variables.product.product_location %} and {% endif %}*OWNER* with the name of the user or organization account that owns the repository containing your project. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation enabled: {% endif %} ```shell -@OWNER:registry=https://{% if currentVersion == "free-pro-team@latest" %}npm.pkg.github.com{% else %}npm.HOSTNAME{% endif %} -@OWNER:registry=https://{% if currentVersion == "free-pro-team@latest" %}npm.pkg.github.com{% else %}npm.HOSTNAME{% endif %} +@OWNER:registry=https://{% ifversion fpt %}npm.pkg.github.com{% else %}npm.HOSTNAME{% endif %} +@OWNER:registry=https://{% ifversion fpt %}npm.pkg.github.com{% else %}npm.HOSTNAME{% endif %} ``` -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation disabled: ```shell @@ -204,7 +204,7 @@ If your instance has subdomain isolation disabled: ``` {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} ## Using the official NPM registry {% data variables.product.prodname_registry %} allows you to access the official NPM registry at `registry.npmjs.com`, if your {% data variables.product.prodname_ghe_server %} administrator has enabled this feature. For more information, see [Connecting to the official NPM registry](/admin/packages/configuring-packages-support-for-your-enterprise#connecting-to-the-official-npm-registry). @@ -212,4 +212,4 @@ If your instance has subdomain isolation disabled: ## Further reading -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" +- "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md index 5371e23b38..91c696bcc1 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry.md @@ -10,9 +10,9 @@ redirect_from: - /packages/using-github-packages-with-your-projects-ecosystem/configuring-dotnet-cli-for-use-with-github-packages - /packages/guides/configuring-dotnet-cli-for-use-with-github-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -29,7 +29,7 @@ versions: Use the following command to authenticate to {% data variables.product.prodname_registry %} in a {% data variables.product.prodname_actions %} workflow using the `GITHUB_TOKEN` instead of hardcoding a token in a nuget.config file in the repository: ```shell -dotnet nuget add source --username USERNAME --password {%raw%}${{ secrets.GITHUB_TOKEN }}{% endraw %} --store-password-in-clear-text --name github "https://{% if currentVersion == "free-pro-team@latest" %}nuget.pkg.github.com{% else %}nuget.HOSTNAME{% endif %}/OWNER/index.json" +dotnet nuget add source --username USERNAME --password {%raw%}${{ secrets.GITHUB_TOKEN }}{% endraw %} --store-password-in-clear-text --name github "https://{% ifversion fpt %}nuget.pkg.github.com{% else %}nuget.HOSTNAME{% endif %}/OWNER/index.json" ``` {% data reusables.package_registry.authenticate-packages-github-token %} @@ -43,10 +43,10 @@ To authenticate to {% data variables.product.prodname_registry %} with the `dotn You must replace: - `USERNAME` with the name of your user account on {% data variables.product.prodname_dotcom %}. - `TOKEN` with your personal access token. -- `OWNER` with the name of the user or organization account that owns the repository containing your project.{%if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +- `OWNER` with the name of the user or organization account that owns the repository containing your project.{% ifversion ghes or ghae %} - `HOSTNAME` with the host name for {% data variables.product.product_location %}.{% endif %} -{%if enterpriseServerVersions contains currentVersion %}If your instance has subdomain isolation enabled: +{% ifversion ghes %}If your instance has subdomain isolation enabled: {% endif %} ```xml @@ -54,7 +54,7 @@ You must replace: - + @@ -65,7 +65,7 @@ You must replace: ``` -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If your instance has subdomain isolation disabled: ```xml @@ -87,9 +87,9 @@ If your instance has subdomain isolation disabled: ## Publishing a package -You can publish a package to {% data variables.product.prodname_registry %} by authenticating with a *nuget.config* file{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest"%}, or by using the `--api-key` command line option with your {% data variables.product.prodname_dotcom %} personal access token (PAT){% endif %}. +You can publish a package to {% data variables.product.prodname_registry %} by authenticating with a *nuget.config* file{% ifversion fpt or ghes > 2.22 or ghae %}, or by using the `--api-key` command line option with your {% data variables.product.prodname_dotcom %} personal access token (PAT){% endif %}. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ### Publishing a package using a GitHub PAT as your API key If you don't already have a PAT to use for your {% data variables.product.prodname_dotcom %} account, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)." @@ -124,7 +124,7 @@ When publishing, you need to use the same value for `OWNER` in your *csproj* fil 3. Add your project's specific information to your project's file, which ends in *.csproj*. You must replace: - `OWNER` with the name of the user or organization account that owns the repository containing your project. - `REPOSITORY` with the name of the repository containing the package you want to publish. - - `1.0.0` with the version number of the package.{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} + - `1.0.0` with the version number of the package.{% ifversion ghes or ghae %} - `HOSTNAME` with the host name for {% data variables.product.product_location %}.{% endif %} ``` xml @@ -137,7 +137,7 @@ When publishing, you need to use the same value for `OWNER` in your *csproj* fil Octocat GitHub This package adds an Octocat! - https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY + https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY @@ -171,7 +171,7 @@ For example, the *OctodogApp* and *OctocatApp* projects will publish to the same Octodog GitHub This package adds an Octodog! - https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/octo-org/octo-cats-and-dogs + https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/octo-org/octo-cats-and-dogs @@ -188,7 +188,7 @@ For example, the *OctodogApp* and *OctocatApp* projects will publish to the same Octocat GitHub This package adds an Octocat! - https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/octo-org/octo-cats-and-dogs + https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/octo-org/octo-cats-and-dogs @@ -212,7 +212,7 @@ Using packages from {% data variables.product.prodname_dotcom %} in your project Octocat GitHub This package adds an Octocat! - https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY + https://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY @@ -233,4 +233,4 @@ Your NuGet package may fail to push if the `RepositoryUrl` in *.csproj* is not s ## Further reading -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" +- "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md b/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md index 87fabc365d..f1b8305867 100644 --- a/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md +++ b/content/packages/working-with-a-github-packages-registry/working-with-the-rubygems-registry.md @@ -9,9 +9,9 @@ redirect_from: - /packages/using-github-packages-with-your-projects-ecosystem/configuring-rubygems-for-use-with-github-packages - /packages/guides/configuring-rubygems-for-use-with-github-packages versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' --- {% data reusables.package_registry.packages-ghes-release-stage %} @@ -59,12 +59,12 @@ For example, you would create or edit a *~/.gem/credentials* to include the foll :github: Bearer TOKEN ``` -To install gems, you need to authenticate to {% data variables.product.prodname_registry %} by editing the *~/.gemrc* file for your project to include `https://USERNAME:TOKEN@{% if currentVersion == "free-pro-team@latest" %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/`. You must replace: +To install gems, you need to authenticate to {% data variables.product.prodname_registry %} by editing the *~/.gemrc* file for your project to include `https://USERNAME:TOKEN@{% ifversion fpt %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/`. You must replace: - `USERNAME` with your {% data variables.product.prodname_dotcom %} username. - `TOKEN` with your personal access token. - - `OWNER` with the name of the user or organization account that owns the repository containing your project.{% if enterpriseServerVersions contains currentVersion %} + - `OWNER` with the name of the user or organization account that owns the repository containing your project.{% ifversion ghes %} - `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the hostname of your {% data variables.product.prodname_ghe_server %} instance. -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} - `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}. {% endif %} @@ -76,16 +76,16 @@ If you don't have a *~/.gemrc* file, create a new *~/.gemrc* file using this exa :bulk_threshold: 1000 :sources: - https://rubygems.org/ -- https://USERNAME:TOKEN@{% if currentVersion == "free-pro-team@latest" %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/ +- https://USERNAME:TOKEN@{% ifversion fpt %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER/ :update_sources: true :verbose: true ``` -To authenticate with Bundler, configure Bundler to use your personal access token, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, *TOKEN* with your personal access token, and *OWNER* with the name of the user or organization account that owns the repository containing your project.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the hostname of your {% data variables.product.prodname_ghe_server %} instance.{% elsif currentVersion == "github-ae@latest" %}Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} +To authenticate with Bundler, configure Bundler to use your personal access token, replacing *USERNAME* with your {% data variables.product.prodname_dotcom %} username, *TOKEN* with your personal access token, and *OWNER* with the name of the user or organization account that owns the repository containing your project.{% ifversion ghes %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the hostname of your {% data variables.product.prodname_ghe_server %} instance.{% elsif ghae %}Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} ```shell -$ bundle config https://{% if currentVersion == "free-pro-team@latest" %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER USERNAME:TOKEN +$ bundle config https://{% ifversion fpt %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER USERNAME:TOKEN ``` ## Publishing a package @@ -99,20 +99,20 @@ $ bundle config https://{% if currentVersion == "free-pro-team@latest" %}rubygem ```shell gem build OCTO-GEM.gemspec ``` -3. Publish a package to {% data variables.product.prodname_registry %}, replacing `OWNER` with the name of the user or organization account that owns the repository containing your project and `OCTO-GEM` with the name of your gem package.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% elsif currentVersion == "github-ae@latest" %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} +3. Publish a package to {% data variables.product.prodname_registry %}, replacing `OWNER` with the name of the user or organization account that owns the repository containing your project and `OCTO-GEM` with the name of your gem package.{% ifversion ghes %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% elsif ghae %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} ```shell $ gem push --key github \ - --host https://{% if currentVersion == "free-pro-team@latest" %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER \ + --host https://{% ifversion fpt %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER \ OCTO-GEM-0.0.1.gem ``` ## Publishing multiple packages to the same repository -To publish multiple gems to the same repository, you can include the URL to the {% data variables.product.prodname_dotcom %} repository in the `github_repo` field in `gem.metadata`. If you include this field, {% data variables.product.prodname_dotcom %} matches the repository based on this value, instead of using the gem name.{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} Replace *HOSTNAME* with the host name of {% data variables.product.product_location %}.{% endif %} +To publish multiple gems to the same repository, you can include the URL to the {% data variables.product.prodname_dotcom %} repository in the `github_repo` field in `gem.metadata`. If you include this field, {% data variables.product.prodname_dotcom %} matches the repository based on this value, instead of using the gem name.{% ifversion ghes or ghae %} Replace *HOSTNAME* with the host name of {% data variables.product.product_location %}.{% endif %} ```ruby -gem.metadata = { "github_repo" => "ssh://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY" } +gem.metadata = { "github_repo" => "ssh://{% ifversion fpt %}github.com{% else %}HOSTNAME{% endif %}/OWNER/REPOSITORY" } ``` ## Installing a package @@ -120,14 +120,14 @@ gem.metadata = { "github_repo" => "ssh://{% if currentVersion == "free-pro-team@ You can use gems from {% data variables.product.prodname_registry %} much like you use gems from *rubygems.org*. You need to authenticate to {% data variables.product.prodname_registry %} by adding your {% data variables.product.prodname_dotcom %} user or organization as a source in the *~/.gemrc* file or by using Bundler and editing your *Gemfile*. {% data reusables.package_registry.authenticate-step %} -1. For Bundler, add your {% data variables.product.prodname_dotcom %} user or organization as a source in your *Gemfile* to fetch gems from this new source. For example, you can add a new `source` block to your *Gemfile* that uses {% data variables.product.prodname_registry %} only for the packages you specify, replacing *GEM NAME* with the package you want to install from {% data variables.product.prodname_registry %} and *OWNER* with the user or organization that owns the repository containing the gem you want to install.{% if enterpriseServerVersions contains currentVersion %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% elsif currentVersion == "github-ae@latest" %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} +1. For Bundler, add your {% data variables.product.prodname_dotcom %} user or organization as a source in your *Gemfile* to fetch gems from this new source. For example, you can add a new `source` block to your *Gemfile* that uses {% data variables.product.prodname_registry %} only for the packages you specify, replacing *GEM NAME* with the package you want to install from {% data variables.product.prodname_registry %} and *OWNER* with the user or organization that owns the repository containing the gem you want to install.{% ifversion ghes %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry. If your instance has subdomain isolation enabled, use `rubygems.HOSTNAME`. If your instance has subdomain isolation disabled, use `HOSTNAME/_registry/rubygems`. In either case, replace *HOSTNAME* with the host name of your {% data variables.product.prodname_ghe_server %} instance.{% elsif ghae %} Replace `REGISTRY-URL` with the URL for your instance's Rubygems registry, `rubygems.HOSTNAME`. Replace *HOSTNAME* with the hostname of {% data variables.product.product_location %}.{% endif %} ```ruby source "https://rubygems.org" gem "rails" - source "https://{% if currentVersion == "free-pro-team@latest" %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER" do + source "https://{% ifversion fpt %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER" do gem "GEM NAME" end ``` @@ -135,7 +135,7 @@ You can use gems from {% data variables.product.prodname_registry %} much like y 3. For Bundler versions earlier than 1.7.0, you need to add a new global `source`. For more information on using Bundler, see the [bundler.io documentation](http://bundler.io/v1.5/gemfile.html). ```ruby - source "https://{% if currentVersion == "free-pro-team@latest" %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER" + source "https://{% ifversion fpt %}rubygems.pkg.github.com{% else %}REGISTRY-URL{% endif %}/OWNER" source "https://rubygems.org" gem "rails" @@ -149,4 +149,4 @@ You can use gems from {% data variables.product.prodname_registry %} much like y ## Further reading -- "{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif currentVersion ver_lt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" +- "{% ifversion fpt or ghes > 3.0 %}[Deleting and restoring a package](/packages/learn-github-packages/deleting-and-restoring-a-package){% elsif ghes < 3.1 or ghae %}[Deleting a package](/packages/learn-github-packages/deleting-a-package){% endif %}" diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md index e04e4be797..ce77c92622 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/about-custom-domains-and-github-pages.md @@ -9,7 +9,7 @@ redirect_from: - /github/working-with-github-pages/about-custom-domains-and-github-pages product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Pages --- diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/index.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/index.md index b12a23623a..4a6c66d7df 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/index.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/index.md @@ -13,7 +13,7 @@ redirect_from: - /github/working-with-github-pages/configuring-a-custom-domain-for-your-github-pages-site product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Pages children: diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md index 4090a46304..053d8cbf61 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site.md @@ -13,7 +13,7 @@ redirect_from: - /github/working-with-github-pages/managing-a-custom-domain-for-your-github-pages-site product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Pages --- diff --git a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md index d05a91daa3..61922191df 100644 --- a/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md +++ b/content/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages.md @@ -9,7 +9,7 @@ redirect_from: - /github/working-with-github-pages/troubleshooting-custom-domains-and-github-pages product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Pages --- diff --git a/content/pages/getting-started-with-github-pages/about-github-pages.md b/content/pages/getting-started-with-github-pages/about-github-pages.md index 7edc4089d5..bbc18cc4ba 100644 --- a/content/pages/getting-started-with-github-pages/about-github-pages.md +++ b/content/pages/getting-started-with-github-pages/about-github-pages.md @@ -12,9 +12,9 @@ redirect_from: - /github/working-with-github-pages/about-github-pages product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- @@ -23,17 +23,17 @@ topics: {% data variables.product.prodname_pages %} is a static site hosting service that takes HTML, CSS, and JavaScript files straight from a repository on {% data variables.product.product_name %}, optionally runs the files through a build process, and publishes a website. You can see examples of {% data variables.product.prodname_pages %} sites in the [{% data variables.product.prodname_pages %} examples collection](https://github.com/collections/github-pages-examples). -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can host your site on {% data variables.product.prodname_dotcom %}'s `github.io` domain or your own custom domain. For more information, see "[Using a custom domain with {% data variables.product.prodname_pages %}](/articles/using-a-custom-domain-with-github-pages)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.pages.about-private-publishing %} For more information, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)." {% endif %} To get started, see "[Creating a {% data variables.product.prodname_pages %} site](/articles/creating-a-github-pages-site)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} Organization owners can disable the publication of {% data variables.product.prodname_pages %} sites from the organization's repositories. For more information, see "[Managing the publication of {% data variables.product.prodname_pages %} sites for your organization](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." {% endif %} @@ -41,21 +41,21 @@ Organization owners can disable the publication of {% data variables.product.pro There are three types of {% data variables.product.prodname_pages %} sites: project, user, and organization. Project sites are connected to a specific project hosted on {% data variables.product.product_name %}, such as a JavaScript library or a recipe collection. User and organization sites are connected to a specific {% data variables.product.product_name %} account. -To publish a user site, you must create a repository owned by your user account that's named {% if currentVersion == "free-pro-team@latest" %}`.github.io`{% else %}`.`{% endif %}. To publish an organization site, you must create a repository owned by an organization that's named {% if currentVersion == "free-pro-team@latest" %}`.github.io`{% else %}`.`{% endif %}. {% if currentVersion == "free-pro-team@latest" %}Unless you're using a custom domain, user and organization sites are available at `http(s)://.github.io` or `http(s)://.github.io`.{% elsif currentVersion == "github-ae@latest" %}User and organization sites are available at `http(s)://pages./` or `http(s)://pages./`.{% endif %} +To publish a user site, you must create a repository owned by your user account that's named {% ifversion fpt %}`.github.io`{% else %}`.`{% endif %}. To publish an organization site, you must create a repository owned by an organization that's named {% ifversion fpt %}`.github.io`{% else %}`.`{% endif %}. {% ifversion fpt %}Unless you're using a custom domain, user and organization sites are available at `http(s)://.github.io` or `http(s)://.github.io`.{% elsif ghae %}User and organization sites are available at `http(s)://pages./` or `http(s)://pages./`.{% endif %} -The source files for a project site are stored in the same repository as their project. {% if currentVersion == "free-pro-team@latest" %}Unless you're using a custom domain, project sites are available at `http(s)://.github.io/` or `http(s)://.github.io/`.{% elsif currentVersion == "github-ae@latest" %}Project sites are available at `http(s)://pages.///` or `http(s)://pages.///`.{% endif %} +The source files for a project site are stored in the same repository as their project. {% ifversion fpt %}Unless you're using a custom domain, project sites are available at `http(s)://.github.io/` or `http(s)://.github.io/`.{% elsif ghae %}Project sites are available at `http(s)://pages.///` or `http(s)://pages.///`.{% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you publish your site privately, the URL for your site will be different. For more information, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)." {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} For more information about how custom domains affect the URL for your site, see "[About custom domains and {% data variables.product.prodname_pages %}](/articles/about-custom-domains-and-github-pages)." {% endif %} You can only create one user or organization site for each account on {% data variables.product.product_name %}. Project sites, whether owned by an organization or a user account, are unlimited. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} The URL where your site is available depends on whether subdomain isolation is enabled for {% data variables.product.product_location %}. | Type of site | Subdomain isolation enabled | Subdomain isolation disabled | @@ -74,13 +74,13 @@ The publishing source for your {% data variables.product.prodname_pages %} site {% data reusables.pages.private_pages_are_public_warning %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} If the default publishing source exists in your repository, {% data variables.product.prodname_pages %} will automatically publish a site from that source. The default publishing source for user and organization sites is the root of the default branch for the repository. The default publishing source for project sites is the root of the `gh-pages` branch. If you want to keep the source files for your site in a different location, you can change the publishing source for your site. You can publish your site from any branch in the repository, either from the root of the repository on that branch, `/`, or from the `/docs` folder on that branch. For more information, see "[Configuring a publishing source for your {% data variables.product.prodname_pages %} site](/articles/configuring-a-publishing-source-for-your-github-pages-site#choosing-a-publishing-source)." -If you choose the `/docs` folder of any branch as your publishing source, {% data variables.product.prodname_pages %} will read everything to publish your site{% if currentVersion == "free-pro-team@latest" %}, including the _CNAME_ file,{% endif %} from the `/docs` folder.{% if currentVersion == "free-pro-team@latest" %} For example, when you edit your custom domain through the {% data variables.product.prodname_pages %} settings, the custom domain will write to `/docs/CNAME`. For more information about _CNAME_ files, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %} +If you choose the `/docs` folder of any branch as your publishing source, {% data variables.product.prodname_pages %} will read everything to publish your site{% ifversion fpt %}, including the _CNAME_ file,{% endif %} from the `/docs` folder.{% ifversion fpt %} For example, when you edit your custom domain through the {% data variables.product.prodname_pages %} settings, the custom domain will write to `/docs/CNAME`. For more information about _CNAME_ files, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %} {% else %} @@ -90,7 +90,7 @@ The default publishing source for a project site is the `gh-pages` branch. If th Project sites can also be published from the `master` branch or a `/docs` folder on the `master` branch. To publish your site from one of these sources, you must configure a different publishing source. For more information, see "[Configuring a publishing source for your {% data variables.product.prodname_pages %} site](/articles/configuring-a-publishing-source-for-your-github-pages-site#choosing-a-publishing-source)." -If you choose the `/docs` folder of the `master` branch as your publishing source, {% data variables.product.prodname_pages %} will read everything to publish your site{% if currentVersion == "free-pro-team@latest" %}, including the _CNAME_ file,{% endif %} from the `/docs` folder.{% if currentVersion == "free-pro-team@latest" %} For example, when you edit your custom domain through the {% data variables.product.prodname_pages %} settings, the custom domain will write to `/docs/CNAME`. For more information about _CNAME_ files, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %} +If you choose the `/docs` folder of the `master` branch as your publishing source, {% data variables.product.prodname_pages %} will read everything to publish your site{% ifversion fpt %}, including the _CNAME_ file,{% endif %} from the `/docs` folder.{% ifversion fpt %} For example, when you edit your custom domain through the {% data variables.product.prodname_pages %} settings, the custom domain will write to `/docs/CNAME`. For more information about _CNAME_ files, see "[Managing a custom domain for your {% data variables.product.prodname_pages %} site](/articles/managing-a-custom-domain-for-your-github-pages-site)."{% endif %} You cannot publish your project site from any other branch, even if the default branch is not `master` or `gh-pages`. @@ -106,7 +106,7 @@ You cannot publish your project site from any other branch, even if the default ## Guidelines for using {% data variables.product.prodname_pages %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - {% data variables.product.prodname_pages %} sites created after June 15, 2016 and using `github.io` domains are served over HTTPS. If you created your site before June 15, 2016, you can enable HTTPS support for traffic to your site. For more information, see "[Securing your {% data variables.product.prodname_pages %} with HTTPS](/articles/securing-your-github-pages-site-with-https)." - {% data reusables.pages.no_sensitive_data_pages %} - Your use of {% data variables.product.prodname_pages %} is subject to the [GitHub Terms of Service](/articles/github-terms-of-service/), including the prohibition on reselling. @@ -115,9 +115,9 @@ You cannot publish your project site from any other branch, even if the default {% endif %} {% data variables.product.prodname_pages %} sites are subject to the following usage limits: - - {% data variables.product.prodname_pages %} source repositories have a recommended limit of 1GB.{% if currentVersion == "free-pro-team@latest" %} For more information, see "[What is my disk quota?"](/articles/what-is-my-disk-quota/#file-and-repository-size-limitations){% endif %} + - {% data variables.product.prodname_pages %} source repositories have a recommended limit of 1GB.{% ifversion fpt %} For more information, see "[What is my disk quota?"](/articles/what-is-my-disk-quota/#file-and-repository-size-limitations){% endif %} - Published {% data variables.product.prodname_pages %} sites may be no larger than 1 GB. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - {% data variables.product.prodname_pages %} sites have a *soft* bandwidth limit of 100GB per month. - {% data variables.product.prodname_pages %} sites have a *soft* limit of 10 builds per hour. diff --git a/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md b/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md index cd1a77158b..eed11e9d17 100644 --- a/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md +++ b/content/pages/getting-started-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser.md @@ -8,7 +8,7 @@ redirect_from: - /github/working-with-github-pages/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Pages --- diff --git a/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md b/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md index b5ea6f7357..2e039217ef 100644 --- a/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site.md @@ -1,10 +1,10 @@ --- title: Changing the visibility of your GitHub Pages site -intro: 'You can manage access control for your project site by publishing the site publicly or privately.' +intro: You can manage access control for your project site by publishing the site publicly or privately. product: '{% data reusables.gated-features.private-pages %}' versions: - free-pro-team: '*' -permissions: People with admin permissions for a repository can change the visibility of a {% data variables.product.prodname_pages %} site. + fpt: '*' +permissions: 'People with admin permissions for a repository can change the visibility of a {% data variables.product.prodname_pages %} site.' redirect_from: - /github/working-with-github-pages/changing-the-visibility-of-your-github-pages-site --- diff --git a/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md b/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md index 6fdb0027e8..4d6021b469 100644 --- a/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site.md @@ -1,6 +1,6 @@ --- title: Configuring a publishing source for your GitHub Pages site -intro: 'If you use the default publishing source for your {% data variables.product.prodname_pages %} site, your site will publish automatically. You can also choose to publish your{% if currentVersion ver_lt "enterprise-server@3.0" %} project{% endif %} site from a different branch or folder.' +intro: 'If you use the default publishing source for your {% data variables.product.prodname_pages %} site, your site will publish automatically. You can also choose to publish your{% ifversion ghes < 3.0 %} project{% endif %} site from a different branch or folder.' redirect_from: - /articles/configuring-a-publishing-source-for-github-pages/ - /articles/configuring-a-publishing-source-for-your-github-pages-site @@ -8,9 +8,9 @@ redirect_from: product: '{% data reusables.gated-features.pages %}' permissions: 'People with admin or maintainer permissions for a repository can configure a publishing source for a {% data variables.product.prodname_pages %} site.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- @@ -19,12 +19,12 @@ For more information about publishing sources, see "[About {% data variables.pro ## Choosing a publishing source -Before you configure a publishing source, make sure the branch{% if currentVersion ver_lt "enterprise-server@3.0" %} or folder{% endif %} you want to use as your publishing source already exists in your repository.{% if currentVersion ver_lt "enterprise-server@3.0" %} For example, before you can publish your project site from the `/docs` folder on the `master` branch of your repository, you or a collaborator must create a `/docs` folder on the default `master` branch of your repository.{% endif %} +Before you configure a publishing source, make sure the branch{% ifversion ghes < 3.0 %} or folder{% endif %} you want to use as your publishing source already exists in your repository.{% ifversion ghes < 3.0 %} For example, before you can publish your project site from the `/docs` folder on the `master` branch of your repository, you or a collaborator must create a `/docs` folder on the default `master` branch of your repository.{% endif %} {% data reusables.pages.navigate-site-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} 3. Under "{% data variables.product.prodname_pages %}", use the **None** or **Branch** drop-down menu and select a publishing source. ![Drop-down menu to select a publishing source](/assets/images/help/pages/publishing-source-drop-down.png) 4. Optionally, use the drop-down menu to select a folder for your publishing source. @@ -39,4 +39,4 @@ Before you configure a publishing source, make sure the branch{% if currentVersi {% data reusables.pages.admin-must-push %} -If you choose the `docs` folder on {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}any{% else %}the `master`{% endif %} branch as your publishing source, then later remove the `/docs` folder from that branch in your repository, your site won't build and you'll get a page build error message for a missing `/docs` folder. For more information, see "[Troubleshooting Jekyll build errors for {% data variables.product.prodname_pages %} sites](/articles/troubleshooting-jekyll-build-errors-for-github-pages-sites#missing-docs-folder)." +If you choose the `docs` folder on {% ifversion fpt or ghes > 2.22 or ghae %}any{% else %}the `master`{% endif %} branch as your publishing source, then later remove the `/docs` folder from that branch in your repository, your site won't build and you'll get a page build error message for a missing `/docs` folder. For more information, see "[Troubleshooting Jekyll build errors for {% data variables.product.prodname_pages %} sites](/articles/troubleshooting-jekyll-build-errors-for-github-pages-sites#missing-docs-folder)." diff --git a/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md b/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md index 919dcb37fb..fd90b9a21a 100644 --- a/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site.md @@ -7,9 +7,9 @@ redirect_from: - /github/working-with-github-pages/creating-a-custom-404-page-for-your-github-pages-site product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- diff --git a/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md b/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md index 16fa7bd66c..16860131ae 100644 --- a/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/creating-a-github-pages-site.md @@ -10,9 +10,9 @@ redirect_from: - /github/working-with-github-pages/creating-a-github-pages-site product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- @@ -42,7 +42,7 @@ topics: 4. In the root of the publishing source, create a new file called `index.md` that contains the content you want to display on the main page of your site. {% data reusables.pages.configure-publishing-source %} {% data reusables.repositories.sidebar-settings %} -{% data reusables.pages.sidebar-pages %}{% if currentVersion == "free-pro-team@latest" %} +{% data reusables.pages.sidebar-pages %}{% ifversion fpt %} {% data reusables.pages.choose-visibility %}{% endif %} {% data reusables.pages.visit-site %} @@ -50,9 +50,9 @@ topics: ## Next steps -You can add more pages to your site by creating more new files. Each file will be available on your site in the same directory structure as your publishing source. For example, if the publishing source for your project site is the `gh-pages` branch, and you create a new file called `/about/contact-us.md` on the `gh-pages` branch, the file will be available at {% if currentVersion == "free-pro-team@latest" %}`https://.github.io//{% else %}`http(s):///pages///{% endif %}about/contact-us.html`. +You can add more pages to your site by creating more new files. Each file will be available on your site in the same directory structure as your publishing source. For example, if the publishing source for your project site is the `gh-pages` branch, and you create a new file called `/about/contact-us.md` on the `gh-pages` branch, the file will be available at {% ifversion fpt %}`https://.github.io//{% else %}`http(s):///pages///{% endif %}about/contact-us.html`. -You can also add a theme to customize your site’s look and feel. For more information, see {% if currentVersion == "free-pro-team@latest" %}"[Adding a theme to your {% data variables.product.prodname_pages %} site with the theme chooser](/articles/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser){% else %}"[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll){% endif %}." +You can also add a theme to customize your site’s look and feel. For more information, see {% ifversion fpt %}"[Adding a theme to your {% data variables.product.prodname_pages %} site with the theme chooser](/articles/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser){% else %}"[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll){% endif %}." To customize your site even more, you can use Jekyll, a static site generator with built-in support for {% data variables.product.prodname_pages %}. For more information, see "[About {% data variables.product.prodname_pages %} and Jekyll](/articles/about-github-pages-and-jekyll)." diff --git a/content/pages/getting-started-with-github-pages/index.md b/content/pages/getting-started-with-github-pages/index.md index 33db219501..117ad59aad 100644 --- a/content/pages/getting-started-with-github-pages/index.md +++ b/content/pages/getting-started-with-github-pages/index.md @@ -8,9 +8,9 @@ redirect_from: - /github/working-with-github-pages/getting-started-with-github-pages product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages children: diff --git a/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md b/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md index 36322ab01f..9b025a7cd4 100644 --- a/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md +++ b/content/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https.md @@ -6,7 +6,7 @@ redirect_from: - /articles/securing-your-github-pages-site-with-https - /github/working-with-github-pages/securing-your-github-pages-site-with-https versions: - free-pro-team: '*' + fpt: '*' topics: - Pages --- diff --git a/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md b/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md index 94e213aad4..d30f94f085 100644 --- a/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md +++ b/content/pages/getting-started-with-github-pages/unpublishing-a-github-pages-site.md @@ -11,9 +11,9 @@ redirect_from: product: '{% data reusables.gated-features.pages %}' permissions: 'People with admin or maintainer permissions for a repository can unpublish a {% data variables.product.prodname_pages %} site.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- @@ -22,7 +22,7 @@ topics: {% data reusables.repositories.navigate-to-repo %} 2. If a `gh-pages` branch exists in the repository, delete the `gh-pages` branch. For more information, see "[Creating and deleting branches within your repository](/articles/creating-and-deleting-branches-within-your-repository#deleting-a-branch)." -3. If the `gh-pages` branch was your publishing source, {% if currentVersion == "free-pro-team@latest" %}skip to step 6{% else %}your site is now unpublished and you can skip the remaining steps{% endif %}. +3. If the `gh-pages` branch was your publishing source, {% ifversion fpt %}skip to step 6{% else %}your site is now unpublished and you can skip the remaining steps{% endif %}. {% data reusables.repositories.sidebar-settings %} {% data reusables.pages.sidebar-pages %} 5. Under "{% data variables.product.prodname_pages %}", use the **Source** drop-down menu and select **None.** diff --git a/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md b/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md index d958e21f62..9610942ddf 100644 --- a/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md +++ b/content/pages/getting-started-with-github-pages/using-submodules-with-github-pages.md @@ -7,7 +7,7 @@ redirect_from: - /github/working-with-github-pages/using-submodules-with-github-pages product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' + fpt: '*' topics: - Pages --- diff --git a/content/pages/index.md b/content/pages/index.md index 6e56849d57..36a88d5517 100644 --- a/content/pages/index.md +++ b/content/pages/index.md @@ -13,9 +13,9 @@ redirect_from: - /github/working-with-github-pages product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages children: diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md index f8633d1ead..60c3a331ca 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll.md @@ -20,9 +20,9 @@ redirect_from: - /github/working-with-github-pages/about-github-pages-and-jekyll product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- @@ -72,10 +72,10 @@ You can add `site.github` to a post or page to add any repository references met {% data reusables.pages.add-jekyll-theme %} For more information, see "[Themes](https://jekyllrb.com/docs/themes/)" in the Jekyll documentation. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can add a supported theme to your site on {% data variables.product.prodname_dotcom %}. For more information, see "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and "[Adding a theme to your {% data variables.product.prodname_pages %} site with the theme chooser](/articles/adding-a-theme-to-your-github-pages-site-with-the-theme-chooser)." -To use any other open source Jekyll theme hosted on {% data variables.product.prodname_dotcom %}, you can add the theme manually.{% else %} You can add a theme to your site manually.{% endif %} For more information, see{% if currentVersion == "free-pro-team@latest" %} [themes hosted on {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) and{% else %} "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and{% endif %} "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)." +To use any other open source Jekyll theme hosted on {% data variables.product.prodname_dotcom %}, you can add the theme manually.{% else %} You can add a theme to your site manually.{% endif %} For more information, see{% ifversion fpt %} [themes hosted on {% data variables.product.prodname_dotcom %}](https://github.com/topics/jekyll-theme) and{% else %} "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site and{% endif %} "[Adding a theme to your {% data variables.product.prodname_pages %} site using Jekyll](/articles/adding-a-theme-to-your-github-pages-site-using-jekyll)." You can override any of your theme's defaults by editing the theme's files. For more information, see your theme's documentation and "[Overriding your theme's defaults](https://jekyllrb.com/docs/themes/#overriding-theme-defaults)" in the Jekyll documentation. diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md index 2615cc825c..80398d6c62 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/about-jekyll-build-errors-for-github-pages-sites.md @@ -8,16 +8,16 @@ redirect_from: - /github/working-with-github-pages/about-jekyll-build-errors-for-github-pages-sites product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- ## About Jekyll build errors -Sometimes, {% data variables.product.prodname_pages %} will not attempt to build your site after you push changes to your site's publishing source.{% if currentVersion == "free-pro-team@latest" %} +Sometimes, {% data variables.product.prodname_pages %} will not attempt to build your site after you push changes to your site's publishing source.{% ifversion fpt %} - The person who pushed the changes hasn't verified their email address. For more information, see "[Verifying your email address](/articles/verifying-your-email-address)."{% endif %} - You're pushing with a deploy key. If you want to automate pushes to your site's repository, you can set up a machine user instead. For more information, see "[Managing deploy keys](/developers/overview/managing-deploy-keys#machine-users)." - You're using a CI service that isn't configured to build your publishing source. For example, Travis CI won't build the `gh-pages` branch unless you add the branch to a safe list. For more information, see "[Customizing the build](https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blocklisting-branches)" on Travis CI, or your CI service's documentation. diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md index adb734f555..82a2bddb84 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-a-theme-to-your-github-pages-site-using-jekyll.md @@ -8,9 +8,9 @@ redirect_from: - /github/working-with-github-pages/adding-a-theme-to-your-github-pages-site-using-jekyll product: '{% data reusables.gated-features.pages %}' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md index 021354184a..5983a8eb04 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/adding-content-to-your-github-pages-site-using-jekyll.md @@ -6,9 +6,9 @@ redirect_from: - /articles/adding-content-to-your-github-pages-site-using-jekyll - /github/working-with-github-pages/adding-content-to-your-github-pages-site-using-jekyll versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- diff --git a/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md b/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md index 5c53a41402..2c28a8701f 100644 --- a/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md +++ b/content/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll.md @@ -7,9 +7,9 @@ redirect_from: - /github/working-with-github-pages/creating-a-github-pages-site-with-jekyll permissions: 'People with admin permissions for a repository can create a {% data variables.product.prodname_pages %} site with Jekyll.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - Pages --- @@ -98,9 +98,9 @@ Before you can use Jekyll to create a {% data variables.product.prodname_pages % git add . git commit -m 'Initial GitHub pages site with Jekyll' ``` -14. Add your {% data variables.product.product_name %} repository as a remote, replacing {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}_HOSTNAME_ with your enterprise's hostname,{% endif %} _USER_ with the account that owns the repository{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %},{% endif %} and _REPOSITORY_ with the name of the repository. +14. Add your {% data variables.product.product_name %} repository as a remote, replacing {% ifversion ghes or ghae %}_HOSTNAME_ with your enterprise's hostname,{% endif %} _USER_ with the account that owns the repository{% ifversion ghes or ghae %},{% endif %} and _REPOSITORY_ with the name of the repository. ```shell -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} $ git remote add origin https://github.com/USER/REPOSITORY.git {% else %} $ git remote add origin https://HOSTNAME/USER/REPOSITORY.git @@ -114,7 +114,7 @@ $ git remote add origin https://HOSTNAME/USER/REPOSITORY 3.1 or ghae-next %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}" \ {% data variables.product.api_url_pre %}/user/repos ``` @@ -216,9 +216,9 @@ $ curl -i {% data variables.product.api_url_pre %}/orgs/octo-org/repos The information returned from these calls will depend on which scopes our token has when we authenticate: -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} * A token with `public_repo` [scope][scopes] returns a response that includes all public repositories we have access to see on github.com.{% endif %} -* A token with `repo` [scope][scopes] returns a response that includes all {% if currentVersion != "github-ae@latest" %}public{% else %}internal{% endif %} and private repositories we have access to see on {% data variables.product.product_location %}. +* A token with `repo` [scope][scopes] returns a response that includes all {% ifversion not ghae %}public{% else %}internal{% endif %} and private repositories we have access to see on {% data variables.product.product_location %}. As the [docs][repos-api] indicate, these methods take a `type` parameter that can filter the repositories returned based on what type of access the user has @@ -241,7 +241,7 @@ Fetching information for existing repositories is a common use case, but the we need to `POST` some JSON containing the details and configuration options. ```shell -$ curl -i -H "Authorization: token {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}" \ +$ curl -i -H "Authorization: token {% ifversion fpt or ghes > 3.1 or ghae-next %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}" \ -d '{ \ "name": "blog", \ "auto_init": true, \ @@ -252,7 +252,7 @@ $ curl -i -H "Authorization: token {% if currentVersion == "free-pro-team@latest ``` In this minimal example, we create a new private repository for our blog (to be served -on [GitHub Pages][pages], perhaps). Though the blog {% if currentVersion != "github-ae@latest" %}will be public{% else %}is accessible to all enterprise members{% endif %}, we've made the repository private. In this single step, we'll also initialize it with a README and a [nanoc][nanoc]-flavored [.gitignore template][gitignore templates]. +on [GitHub Pages][pages], perhaps). Though the blog {% ifversion not ghae %}will be public{% else %}is accessible to all enterprise members{% endif %}, we've made the repository private. In this single step, we'll also initialize it with a README and a [nanoc][nanoc]-flavored [.gitignore template][gitignore templates]. The resulting repository will be found at `https://github.com//blog`. To create a repository under an organization for which you're @@ -287,7 +287,7 @@ Just like github.com, the API provides a few methods to view issues for the authenticated user. To [see all your issues][get issues api], call `GET /issues`: ```shell -$ curl -i -H "Authorization: token {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}" \ +$ curl -i -H "Authorization: token {% ifversion fpt or ghes > 3.1 or ghae-next %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}" \ {% data variables.product.api_url_pre %}/issues ``` @@ -295,7 +295,7 @@ To get only the [issues under one of your {% data variables.product.product_name /orgs//issues`: ```shell -$ curl -i -H "Authorization: token {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}" \ +$ curl -i -H "Authorization: token {% ifversion fpt or ghes > 3.1 or ghae-next %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}" \ {% data variables.product.api_url_pre %}/orgs/rails/issues ``` @@ -337,7 +337,7 @@ body to the `/issues` path underneath the repository in which we want to create the issue: ```shell -$ curl -i -H 'Authorization: token {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}' \ +$ curl -i -H 'Authorization: token {% ifversion fpt or ghes > 3.1 or ghae-next %}ghp_16C7e42F292c6912E7710c838347Ae178B4a{% else %}5199831f4dd3b79e7c5b7e0ebe75d67aa66e79d4{% endif %}' \ $ -d '{ \ $ "title": "New logo", \ $ "body": "We should have one", \ diff --git a/content/rest/guides/index.md b/content/rest/guides/index.md index e413cb8714..67ac166b9f 100644 --- a/content/rest/guides/index.md +++ b/content/rest/guides/index.md @@ -5,9 +5,9 @@ redirect_from: - /guides/ - /v3/guides versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API children: diff --git a/content/rest/guides/rendering-data-as-graphs.md b/content/rest/guides/rendering-data-as-graphs.md index d256509027..0f31427f5d 100644 --- a/content/rest/guides/rendering-data-as-graphs.md +++ b/content/rest/guides/rendering-data-as-graphs.md @@ -5,9 +5,9 @@ redirect_from: - /guides/rendering-data-as-graphs/ - /v3/guides/rendering-data-as-graphs versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/rest/guides/traversing-with-pagination.md b/content/rest/guides/traversing-with-pagination.md index 8d32240dfc..14d1692ba5 100644 --- a/content/rest/guides/traversing-with-pagination.md +++ b/content/rest/guides/traversing-with-pagination.md @@ -5,9 +5,9 @@ redirect_from: - /guides/traversing-with-pagination/ - /v3/guides/traversing-with-pagination versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/rest/guides/working-with-comments.md b/content/rest/guides/working-with-comments.md index f5cf302362..031716f783 100644 --- a/content/rest/guides/working-with-comments.md +++ b/content/rest/guides/working-with-comments.md @@ -5,9 +5,9 @@ redirect_from: - /guides/working-with-comments/ - /v3/guides/working-with-comments versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/rest/index.md b/content/rest/index.md index bb0befef62..b5e54eaf9f 100644 --- a/content/rest/index.md +++ b/content/rest/index.md @@ -5,9 +5,9 @@ intro: 'You can use the {% data variables.product.prodname_dotcom %} REST API to redirect_from: - /v3 versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' children: - /overview - /reference diff --git a/content/rest/overview/api-previews.md b/content/rest/overview/api-previews.md index 6c511b2779..9b749cc860 100644 --- a/content/rest/overview/api-previews.md +++ b/content/rest/overview/api-previews.md @@ -4,9 +4,9 @@ intro: You can use API previews to try out new features and provide feedback bef redirect_from: - /v3/previews versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- @@ -18,7 +18,7 @@ During the preview period, we may change some features based on developer feedba To access an API preview, you'll need to provide a custom [media type](/rest/overview/media-types) in the `Accept` header for your requests. Feature documentation for each preview specifies which custom media type to provide. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Migrations Allows you to download repositories from your GitHub user or organization account to review, backup, and [migrate](/rest/reference/migrations) data to {% data variables.product.prodname_ghe_server %}. @@ -49,7 +49,7 @@ Get a [list of events](/rest/reference/issues#timeline) for an issue or pull req **Custom media type:** `mockingbird-preview` **Announced:** [2016-05-23](https://developer.github.com/changes/2016-05-23-timeline-preview-api/) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Pre-receive environments Create, list, update, and delete environments for pre-receive hooks. @@ -58,7 +58,7 @@ Create, list, update, and delete environments for pre-receive hooks. **Announced:** [2015-07-29](/rest/reference/enterprise-admin#pre-receive-environments) {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} ## Integrations Manage [integrations](/v3/integrations) through the API. @@ -95,7 +95,7 @@ View all [codes of conduct](/rest/reference/codes-of-conduct) or get which code **Custom media type:** `scarlet-witch-preview` -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion ghae or ghes %} ## Global webhooks @@ -106,7 +106,7 @@ Enables [global webhooks](/rest/reference/enterprise-admin#global-webhooks/) for {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} ## Add lock reason You can now add a reason when you [lock an issue](/rest/reference/issues#lock-an-issue). @@ -129,7 +129,7 @@ You can now [require multiple approving reviews](/rest/reference/repos#branches) **Custom media type:** `luke-cage-preview` **Announced:** [2018-03-16](https://developer.github.com/changes/2018-03-16-protected-branches-required-approving-reviews) -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.23" %} +{% ifversion ghes < 3.0 %} ## Check runs and check suites API Allows a GitHub App to run external checks on a repository's code. See the [Check runs](/rest/reference/checks#runs) and [Check suites](/rest/reference/checks#suites) APIs for more details. @@ -138,7 +138,7 @@ Allows a GitHub App to run external checks on a repository's code. See the [Chec **Announced:** [2018-05-07](https://developer.github.com/changes/2018-05-07-new-checks-api-public-beta/) {% endif %} -{% if currentVersion == enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Anonymous Git access to repositories @@ -156,7 +156,7 @@ The REST API responses for [issue events](/rest/reference/issues#events) and [is **Custom media type:** `starfox-preview` **Announced:** [2018-09-05](https://developer.github.com/changes/2018-09-05-project-card-events) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## GitHub App Manifests @@ -215,7 +215,7 @@ You can use a new endpoint to [update a pull request branch](/rest/reference/pul **Custom media types:** `lydian-preview` **Announced:** [2019-05-29](https://developer.github.com/changes/2019-05-29-update-branch-api/) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Enable or disable automated security fixes You can use a new set of endpoints to [enable and disable automated security fixes](/rest/reference/repos#enable-automated-security-fixes). @@ -231,7 +231,7 @@ You can use a new endpoint to [Create a repository using a template](/rest/refer **Custom media types:** `baptiste-preview` **Announced:** [2019-07-05](https://developer.github.com/changes/2019-07-16-repository-templates-api/) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} ## New visibility parameter for the Repositories API You can set and retrieve the visibility of a repository in the [Repositories API](/rest/reference/repos). diff --git a/content/rest/overview/endpoints-available-for-github-apps.md b/content/rest/overview/endpoints-available-for-github-apps.md index 991d08298e..5188c9b0e0 100644 --- a/content/rest/overview/endpoints-available-for-github-apps.md +++ b/content/rest/overview/endpoints-available-for-github-apps.md @@ -5,9 +5,9 @@ redirect_from: - /v3/apps/available-endpoints - /rest/reference/endpoints-available-for-github-apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/rest/overview/index.md b/content/rest/overview/index.md index 108fd4a2c0..efaaa5852d 100644 --- a/content/rest/overview/index.md +++ b/content/rest/overview/index.md @@ -3,9 +3,9 @@ title: REST API overview shortTitle: Overview intro: 'Learn about resources, libraries, previews and troubleshooting for {% data variables.product.prodname_dotcom %}''s REST API.' versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API children: diff --git a/content/rest/overview/libraries.md b/content/rest/overview/libraries.md index e97d3bd1f1..debdc5c1d9 100644 --- a/content/rest/overview/libraries.md +++ b/content/rest/overview/libraries.md @@ -5,9 +5,9 @@ redirect_from: - /libraries/ - /v3/libraries versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/rest/overview/media-types.md b/content/rest/overview/media-types.md index 96ae0aee37..56f16a35d2 100644 --- a/content/rest/overview/media-types.md +++ b/content/rest/overview/media-types.md @@ -4,9 +4,9 @@ intro: Learn about media types for specifying the format of the data you want to redirect_from: - /v3/media versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- diff --git a/content/rest/overview/openapi-description.md b/content/rest/overview/openapi-description.md index 4f15491e9b..0ffb1eadf7 100644 --- a/content/rest/overview/openapi-description.md +++ b/content/rest/overview/openapi-description.md @@ -2,8 +2,8 @@ title: OpenAPI description intro: 'The {% data variables.product.product_name %} REST API is fully described in an OpenAPI 3.0 compliant document.' versions: - free-pro-team: '*' - enterprise-server: '*' + fpt: '*' + ghes: '*' topics: - API --- diff --git a/content/rest/overview/other-authentication-methods.md b/content/rest/overview/other-authentication-methods.md index 01328008a5..6fbdf5368d 100644 --- a/content/rest/overview/other-authentication-methods.md +++ b/content/rest/overview/other-authentication-methods.md @@ -4,15 +4,15 @@ intro: You can use basic authentication for testing in a non-production environm redirect_from: - /v3/auth versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} While the API provides multiple methods for authentication, we strongly recommend using [OAuth](/apps/building-integrations/setting-up-and-registering-oauth-apps/) for production applications. The other methods provided are intended to be used for scripts or testing (i.e., cases @@ -22,7 +22,7 @@ Instead, they should use the [OAuth web flow](/apps/building-oauth-apps/authoriz {% endif %} -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} To authenticate we recommend using [OAuth](/apps/building-integrations/setting-up-and-registering-oauth-apps/) tokens, such a personal access token through the [OAuth web flow](/apps/building-oauth-apps/authorizing-oauth-apps/). @@ -50,7 +50,7 @@ This approach is useful if your tools only support Basic Authentication but you ### Via username and password -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} @@ -60,7 +60,7 @@ This approach is useful if your tools only support Basic Authentication but you {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} To use Basic Authentication with the {% data variables.product.product_name %} API, simply send the username and password associated with the account. @@ -75,7 +75,7 @@ If you have two-factor authentication enabled, make sure you understand how to [ {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Authenticating for SAML SSO {% note %} @@ -107,16 +107,16 @@ $ curl -v -H "Authorization: token TOKEN" {% data variables.product.api The value `organizations` is a comma-separated list of organization IDs for organizations require authorization of your personal access token. {% endif %} -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ## Working with two-factor authentication -When you have two-factor authentication enabled, [Basic Authentication](#basic-authentication) for _most_ endpoints in the REST API requires that you use a personal access token{% if enterpriseServerVersions contains currentVersion %} or OAuth token instead of your username and password{% endif %}. +When you have two-factor authentication enabled, [Basic Authentication](#basic-authentication) for _most_ endpoints in the REST API requires that you use a personal access token{% ifversion ghes %} or OAuth token instead of your username and password{% endif %}. -You can generate a new personal access token {% if currentVersion == "free-pro-team@latest" %}using [{% data variables.product.product_name %} developer settings](https://github.com/settings/tokens/new){% endif %}{% if enterpriseServerVersions contains currentVersion %} or with the "[Create a new authorization][/rest/reference/oauth-authorizations#create-a-new-authorization]" endpoint in the OAuth Authorizations API to generate a new OAuth token{% endif %}. For more information, see "[Creating a personal access token for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)". Then you would use these tokens to [authenticate using OAuth token][oauth-auth] with the {% data variables.product.prodname_dotcom %} API.{% if enterpriseServerVersions contains currentVersion %} The only time you need to authenticate with your username and password is when you create your OAuth token or use the OAuth Authorizations API.{% endif %} +You can generate a new personal access token {% ifversion fpt %}using [{% data variables.product.product_name %} developer settings](https://github.com/settings/tokens/new){% endif %}{% ifversion ghes %} or with the "[Create a new authorization][/rest/reference/oauth-authorizations#create-a-new-authorization]" endpoint in the OAuth Authorizations API to generate a new OAuth token{% endif %}. For more information, see "[Creating a personal access token for the command line](/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line)". Then you would use these tokens to [authenticate using OAuth token][oauth-auth] with the {% data variables.product.prodname_dotcom %} API.{% ifversion ghes %} The only time you need to authenticate with your username and password is when you create your OAuth token or use the OAuth Authorizations API.{% endif %} {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ### Using the OAuth Authorizations API with two-factor authentication When you make calls to the OAuth Authorizations API, Basic Authentication requires that you use a one-time password (OTP) and your username and password instead of tokens. When you attempt to authenticate with the OAuth Authorizations API, the server will respond with a `401 Unauthorized` and one of these headers to let you know that you need a two-factor authentication code: diff --git a/content/rest/overview/resources-in-the-rest-api.md b/content/rest/overview/resources-in-the-rest-api.md index 5087abf47f..fc8bf24524 100644 --- a/content/rest/overview/resources-in-the-rest-api.md +++ b/content/rest/overview/resources-in-the-rest-api.md @@ -4,9 +4,9 @@ intro: 'Learn how to navigate the resources provided by the {% data variables.pr redirect_from: - /rest/initialize-the-repo/ versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- @@ -21,7 +21,7 @@ We encourage you to [explicitly request this version via the `Accept` header](/r Accept: application/vnd.github.v3+json -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} For information about GitHub's GraphQL API, see the [v4 documentation](/graphql). For information about migrating to GraphQL, see "[Migrating from REST](/graphql/guides/migrating-from-rest-to-graphql)." @@ -29,7 +29,7 @@ For information about GitHub's GraphQL API, see the [v4 documentation](/graphql) ## Schema -{% if currentVersion == "free-pro-team@latest" %}All API access is over HTTPS, and{% else %}The API is{% endif %} accessed from `{% data variables.product.api_url_code %}`. All data is +{% ifversion fpt %}All API access is over HTTPS, and{% else %}The API is{% endif %} accessed from `{% data variables.product.api_url_code %}`. All data is sent and received as JSON. ```shell @@ -43,8 +43,8 @@ $ curl -I {% data variables.product.api_url_pre %}/users/octocat/orgs > X-GitHub-Media-Type: github.v3 > X-RateLimit-Limit: 5000 > X-RateLimit-Remaining: 4987 -> X-RateLimit-Reset: 1350085394{% if enterpriseServerVersions contains currentVersion %} -> X-GitHub-Enterprise-Version: {{ currentVersion | remove: "enterprise-server@" }}.0{% elsif currentVersion == "github-ae@latest" %} +> X-RateLimit-Reset: 1350085394{% ifversion ghes %} +> X-GitHub-Enterprise-Version: {{ currentVersion | remove: "enterprise-server@" }}.0{% elsif ghae %} > X-GitHub-Enterprise-Version: GitHub AE{% endif %} > Content-Length: 5 > Cache-Control: max-age=0, private, must-revalidate @@ -91,7 +91,7 @@ response illustrates all attributes that are returned by that method. ## Authentication -{% if currentVersion == "github-ae@latest" %} We recommend authenticating to the {% data variables.product.product_name %} REST API by creating an OAuth2 token through the [web application flow](/developers/apps/authorizing-oauth-apps#web-application-flow). {% else %} There are two ways to authenticate through {% data variables.product.product_name %} REST API.{% endif %} Requests that require authentication will return `404 Not Found`, instead of `403 Forbidden`, in some places. This is to prevent the accidental leakage of private repositories to unauthorized users. +{% ifversion ghae %} We recommend authenticating to the {% data variables.product.product_name %} REST API by creating an OAuth2 token through the [web application flow](/developers/apps/authorizing-oauth-apps#web-application-flow). {% else %} There are two ways to authenticate through {% data variables.product.product_name %} REST API.{% endif %} Requests that require authentication will return `404 Not Found`, instead of `403 Forbidden`, in some places. This is to prevent the accidental leakage of private repositories to unauthorized users. ### Basic authentication @@ -113,7 +113,7 @@ Note: GitHub recommends sending OAuth tokens using the Authorization header. Read [more about OAuth2](/apps/building-oauth-apps/). Note that OAuth2 tokens can be acquired using the [web application flow](/developers/apps/authorizing-oauth-apps#web-application-flow) for production applications. -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ### OAuth2 key/secret {% data reusables.apps.deprecating_auth_with_query_parameters %} @@ -127,7 +127,7 @@ Using your `client_id` and `client_secret` does _not_ authenticate as a user, it You will be unable to authenticate using your OAuth2 key and secret while in private mode, and trying to authenticate will return `401 Unauthorized`. For more information, see "[Enabling private mode](/enterprise/admin/installation/enabling-private-mode)". {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Read [more about unauthenticated rate limiting](#increasing-the-unauthenticated-rate-limit-for-oauth-applications). @@ -152,8 +152,8 @@ the API will temporarily reject all authentication attempts for that user (including ones with valid credentials) with `403 Forbidden`: ```shell -$ curl -i {% data variables.product.api_url_pre %} -u {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} --u valid_username:valid_token {% endif %}{% if enterpriseServerVersions contains currentVersion %}-u valid_username:valid_password {% endif %} +$ curl -i {% data variables.product.api_url_pre %} -u {% ifversion fpt or ghae %} +-u valid_username:valid_token {% endif %}{% ifversion ghes %}-u valid_username:valid_password {% endif %} > HTTP/2 403 > { > "message": "Maximum number of login attempts exceeded. Please try again later.", @@ -187,8 +187,8 @@ $ curl -i -u username -d '{"scopes":["repo_deployment"]}' {% data variables.prod You can issue a `GET` request to the root endpoint to get all the endpoint categories that the REST API supports: ```shell -$ curl {% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} --u username:token {% endif %}{% if enterpriseServerVersions contains currentVersion %}-u username:password {% endif %}{% data variables.product.api_url_pre %} +$ curl {% ifversion fpt or ghae %} +-u username:token {% endif %}{% ifversion ghes %}-u username:password {% endif %}{% data variables.product.api_url_pre %} ``` ## GraphQL global node IDs @@ -355,7 +355,7 @@ Name | Description For API requests using Basic Authentication or OAuth, you can make up to 5,000 requests per hour. Authenticated requests are associated with the authenticated user, regardless of whether [Basic Authentication](#basic-authentication) or [an OAuth token](#oauth2-token-sent-in-a-header) was used. This means that all OAuth applications authorized by a user share the same quota of 5,000 requests per hour when they authenticate with different tokens owned by the same user. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} For users that belong to a {% data variables.product.prodname_ghe_cloud %} account, requests made using an OAuth token to resources owned by the same {% data variables.product.prodname_ghe_cloud %} account have an increased limit of 15,000 requests per hour. @@ -452,7 +452,7 @@ If your application triggers this rate limit, you'll receive an informative resp > } ``` -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## User agent required @@ -488,7 +488,7 @@ of these headers to make subsequent requests to those resources using the `If-None-Match` and `If-Modified-Since` headers, respectively. If the resource has not changed, the server will return a `304 Not Modified`. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% tip %} diff --git a/content/rest/overview/troubleshooting.md b/content/rest/overview/troubleshooting.md index bb0419a6fb..91b7b377a7 100644 --- a/content/rest/overview/troubleshooting.md +++ b/content/rest/overview/troubleshooting.md @@ -4,9 +4,9 @@ intro: Learn how to resolve the most common problems people encounter in the RES redirect_from: - /v3/troubleshooting versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API --- @@ -38,7 +38,7 @@ API call uses the same structure. Instead, extract the pagination information fr [oap-guide]: https://developer.github.com/changes/2015-01-19-an-integrators-guide-to-organization-application-policies/ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Basic authentication errors On November 13, 2020 username and password authentication to the REST API and the OAuth Authorizations API were deprecated and no longer work. diff --git a/content/rest/reference/actions.md b/content/rest/reference/actions.md index 63daea4d8d..f62992714e 100644 --- a/content/rest/reference/actions.md +++ b/content/rest/reference/actions.md @@ -4,9 +4,9 @@ product: '{% data reusables.gated-features.actions %}' redirect_from: - /v3/actions versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -32,7 +32,7 @@ The Artifacts API allows you to download, delete, and retrieve information about {% if operation.subcategory == 'artifacts' %}{% include rest_operation %}{% endif %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Permissions {% data reusables.actions.ae-beta %} diff --git a/content/rest/reference/activity.md b/content/rest/reference/activity.md index d42742df88..e67ebb4b5d 100644 --- a/content/rest/reference/activity.md +++ b/content/rest/reference/activity.md @@ -3,9 +3,9 @@ title: Activity redirect_from: - /v3/activity versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -148,7 +148,7 @@ Reason Name | Description `invitation` | You accepted an invitation to contribute to the repository. `manual` | You subscribed to the thread (via an issue or pull request). `mention` | You were specifically **@mentioned** in the content. -`review_requested` | You, or a team you're a member of, were requested to review a pull request.{% if currentVersion == "free-pro-team@latest" %} +`review_requested` | You, or a team you're a member of, were requested to review a pull request.{% ifversion fpt %} `security_alert` | {% data variables.product.prodname_dotcom %} discovered a [security vulnerability](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies) in your repository.{% endif %} `state_change` | You changed the thread state (for example, closing an issue or merging a pull request). `subscribed` | You're watching the repository. diff --git a/content/rest/reference/apps.md b/content/rest/reference/apps.md index 2332cfdc42..dd1e768b5f 100644 --- a/content/rest/reference/apps.md +++ b/content/rest/reference/apps.md @@ -3,9 +3,9 @@ title: Apps redirect_from: - /v3/apps versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -45,7 +45,7 @@ To list all GitHub App installations for an organization, see "[List app install {% if operation.subcategory == 'installations' %}{% include rest_operation %}{% endif %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Marketplace For more information about {% data variables.product.prodname_marketplace %}, see "[GitHub Marketplace](/marketplace/)." @@ -66,7 +66,7 @@ Be sure to replace stubbed endpoints with production endpoints before deploying {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} ## Webhooks {% for operation in currentRestOperations %} diff --git a/content/rest/reference/billing.md b/content/rest/reference/billing.md index 8847a0a87b..88b6831d19 100644 --- a/content/rest/reference/billing.md +++ b/content/rest/reference/billing.md @@ -1,7 +1,7 @@ --- title: Billing versions: - free-pro-team: '*' + fpt: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/checks.md b/content/rest/reference/checks.md index 16bdc27ea0..72bde126d6 100644 --- a/content/rest/reference/checks.md +++ b/content/rest/reference/checks.md @@ -3,9 +3,9 @@ title: Checks redirect_from: - /v3/checks versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/code-scanning.md b/content/rest/reference/code-scanning.md index e3504cd0f7..5cfa39ccd8 100644 --- a/content/rest/reference/code-scanning.md +++ b/content/rest/reference/code-scanning.md @@ -4,9 +4,9 @@ redirect_from: - /v3/code-scanning product: '{% data reusables.gated-features.code-scanning %}' versions: - free-pro-team: '*' - enterprise-server: '>=2.22' - github-ae: '*' + fpt: '*' + ghes: '>=2.22' + ghae: '*' type: reference topics: - API @@ -19,7 +19,7 @@ miniTocMaxHeadingLevel: 3 The {% data variables.product.prodname_code_scanning %} API lets you retrieve and update {% data variables.product.prodname_code_scanning %} alerts from a repository. You can use the endpoints to create automated reports for the {% data variables.product.prodname_code_scanning %} alerts in an organization or upload analysis results generated using offline {% data variables.product.prodname_code_scanning %} tools. For more information, see "[Finding security vulnerabilities and errors in your code](/github/finding-security-vulnerabilities-and-errors-in-your-code)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ### Custom media type for {% data variables.product.prodname_code_scanning %} There is one supported custom media type for the {% data variables.product.prodname_code_scanning %} REST API. You can use this with `GET` requests sent to the `/analyses/{analysis_id}` endpoint. When you use this media type with this operation, the response includes a subset of the actual data that was uploaded for the specified analysis, rather than details about the analysis, which is returned when you use the default media type. The response also includes additional data such as the `github/alertNumber` and `github/alertUrl` properties. The data is formatted as [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). diff --git a/content/rest/reference/codes-of-conduct.md b/content/rest/reference/codes-of-conduct.md index ec8f6a27ef..47e0faea52 100644 --- a/content/rest/reference/codes-of-conduct.md +++ b/content/rest/reference/codes-of-conduct.md @@ -4,9 +4,9 @@ redirect_from: - /v3/codes_of_conduct - /v3/codes-of-conduct versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/emojis.md b/content/rest/reference/emojis.md index ce31d336b4..d6bb4583ff 100644 --- a/content/rest/reference/emojis.md +++ b/content/rest/reference/emojis.md @@ -4,9 +4,9 @@ redirect_from: - /v3/emojis - /v3/misc versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/enterprise-admin.md b/content/rest/reference/enterprise-admin.md index 832548aa65..c60b9be52a 100644 --- a/content/rest/reference/enterprise-admin.md +++ b/content/rest/reference/enterprise-admin.md @@ -5,9 +5,9 @@ redirect_from: - /v3/enterprise-admin - /v3/enterprise versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -15,7 +15,7 @@ miniTocMaxHeadingLevel: 3 You can use these endpoints to administer your enterprise. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} @@ -27,30 +27,30 @@ You can use these endpoints to administer your enterprise. ### Endpoint URLs -REST API endpoints{% if enterpriseServerVersions contains currentVersion %}—except [Management Console](#management-console) API endpoints—{% endif %} are prefixed with the following URL: +REST API endpoints{% ifversion ghes %}—except [Management Console](#management-console) API endpoints—{% endif %} are prefixed with the following URL: ```shell {% data variables.product.api_url_pre %} ``` -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} [Management Console](#management-console) API endpoints are only prefixed with a hostname: ```shell http(s)://hostname/ ``` {% endif %} -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion ghae or ghes %} ### Authentication -Your {% data variables.product.product_name %} installation's API endpoints accept [the same authentication methods](/rest/overview/resources-in-the-rest-api#authentication) as the GitHub.com API. You can authenticate yourself with **[OAuth tokens](/apps/building-integrations/setting-up-and-registering-oauth-apps/)** {% if enterpriseServerVersions contains currentVersion %}(which can be created using the [Authorizations API](/rest/reference/oauth-authorizations#create-a-new-authorization)) {% endif %}or **[basic authentication](/rest/overview/resources-in-the-rest-api#basic-authentication)**. {% if enterpriseServerVersions contains currentVersion %} +Your {% data variables.product.product_name %} installation's API endpoints accept [the same authentication methods](/rest/overview/resources-in-the-rest-api#authentication) as the GitHub.com API. You can authenticate yourself with **[OAuth tokens](/apps/building-integrations/setting-up-and-registering-oauth-apps/)** {% ifversion ghes %}(which can be created using the [Authorizations API](/rest/reference/oauth-authorizations#create-a-new-authorization)) {% endif %}or **[basic authentication](/rest/overview/resources-in-the-rest-api#basic-authentication)**. {% ifversion ghes %} OAuth tokens must have the `site_admin` [OAuth scope](/developers/apps/scopes-for-oauth-apps#available-scopes) when used with Enterprise-specific endpoints.{% endif %} -Enterprise administration API endpoints are only accessible to authenticated {% data variables.product.product_name %} site administrators{% if enterpriseServerVersions contains currentVersion %}, except for the [Management Console](#management-console) API, which requires the [Management Console password](/enterprise/admin/articles/accessing-the-management-console/){% endif %}. +Enterprise administration API endpoints are only accessible to authenticated {% data variables.product.product_name %} site administrators{% ifversion ghes %}, except for the [Management Console](#management-console) API, which requires the [Management Console password](/enterprise/admin/articles/accessing-the-management-console/){% endif %}. {% endif %} -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion ghae or ghes %} ### Version information The current version of your enterprise is returned in the response header of every API: @@ -63,7 +63,7 @@ You can also read the current version by calling the [meta endpoint](/rest/refer {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Audit log @@ -73,7 +73,7 @@ You can also read the current version by calling the [meta endpoint](/rest/refer {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Billing {% for operation in currentRestOperations %} @@ -82,7 +82,7 @@ You can also read the current version by calling the [meta endpoint](/rest/refer {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} ## GitHub Actions {% data reusables.actions.ae-beta %} @@ -93,7 +93,7 @@ You can also read the current version by calling the [meta endpoint](/rest/refer {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## SCIM ### SCIM Provisioning for Enterprises @@ -155,7 +155,7 @@ Name | Type | Description {% endfor %} {% endif %} -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion ghae or ghes %} ## Admin stats The Admin Stats API provides a variety of metrics about your installation. *It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. @@ -166,7 +166,7 @@ The Admin Stats API provides a variety of metrics about your installation. *It i {% endif %} -{% if currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghae or ghes > 2.22 %} ## Announcements @@ -178,7 +178,7 @@ The Announcements API allows you to manage the global announcement banner in you {% endif %} -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion ghae or ghes %} ## Global webhooks @@ -192,7 +192,7 @@ Global webhooks are installed on your enterprise. You can use global webhooks to {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## LDAP @@ -207,7 +207,7 @@ With the LDAP mapping endpoints, you're able to update the Distinguished Name (D {% endif %} -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion ghae or ghes %} ## License The License API provides information on your Enterprise license. *It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. @@ -218,7 +218,7 @@ The License API provides information on your Enterprise license. *It is only ava {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Management console @@ -256,7 +256,7 @@ $ curl -L 'https://api_key:your-amazing-password@hostname: {% endif %} -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion ghae or ghes %} ## Organizations The Organization Administration API allows you to create organizations on your enterprise. *It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `404` response if they try to access it. @@ -268,7 +268,7 @@ The Organization Administration API allows you to create organizations on your e {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Organization pre-receive hooks The Organization Pre-receive Hooks API allows you to view and modify @@ -295,7 +295,7 @@ configuration. Only site admins are able to access the global configuration. {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Pre-receive environments @@ -329,7 +329,7 @@ Possible values for `state` are `not_started`, `in_progress`, `success`, `failed {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Pre-receive hooks The Pre-receive Hooks API allows you to create, list, update and delete pre-receive hooks. *It is only available to @@ -357,7 +357,7 @@ any pushes that result in a non-zero status. `testing` means the script will run {% endif %} -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ## Repository pre-receive hooks @@ -382,10 +382,10 @@ Possible values for *enforcement* are `enabled`, `disabled` and`testing`. `disab {% endif %} -{% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion ghae or ghes %} ## Users -The User Administration API allows you to suspend{% if enterpriseServerVersions contains currentVersion %}, unsuspend, promote, and demote{% endif %}{% if currentVersion == "github-ae@latest" %} and unsuspend{% endif %} users on your enterprise. *It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `403` response if they try to access it. +The User Administration API allows you to suspend{% ifversion ghes %}, unsuspend, promote, and demote{% endif %}{% ifversion ghae %} and unsuspend{% endif %} users on your enterprise. *It is only available to [authenticated](/rest/overview/resources-in-the-rest-api#authentication) site administrators.* Normal users will receive a `403` response if they try to access it. {% for operation in currentRestOperations %} {% if operation.subcategory == 'users' %}{% include rest_operation %}{% endif %} diff --git a/content/rest/reference/gists.md b/content/rest/reference/gists.md index f1705af1e2..ff95b8b46e 100644 --- a/content/rest/reference/gists.md +++ b/content/rest/reference/gists.md @@ -3,9 +3,9 @@ title: Gists redirect_from: - /v3/gists versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -13,7 +13,7 @@ miniTocMaxHeadingLevel: 3 ### Authentication -You can read public gists {% if currentVersion == "github-ae@latest" or enterpriseServerVersions contains currentVersion %}and create them for anonymous users without a token.{% else %} anonymously, but you must be signed into GitHub to create gists.{% endif %} To read or write gists on a user's behalf, you need the gist OAuth scope and a token. For more information, see "[Scopes for OAuth Apps](/developers/apps/scopes-for-oauth-apps)." +You can read public gists {% ifversion ghae or ghes %}and create them for anonymous users without a token.{% else %} anonymously, but you must be signed into GitHub to create gists.{% endif %} To read or write gists on a user's behalf, you need the gist OAuth scope and a token. For more information, see "[Scopes for OAuth Apps](/developers/apps/scopes-for-oauth-apps)." diff --git a/content/rest/reference/git.md b/content/rest/reference/git.md index fa55b5317e..31b4ae5493 100644 --- a/content/rest/reference/git.md +++ b/content/rest/reference/git.md @@ -4,9 +4,9 @@ allowTitleToDifferFromFilename: true redirect_from: - /v3/git versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/gitignore.md b/content/rest/reference/gitignore.md index b4b3be8a53..0a6174812b 100644 --- a/content/rest/reference/gitignore.md +++ b/content/rest/reference/gitignore.md @@ -3,9 +3,9 @@ title: Gitignore redirect_from: - /v3/gitignore versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/index.md b/content/rest/reference/index.md index d02365a426..8c09d728a8 100644 --- a/content/rest/reference/index.md +++ b/content/rest/reference/index.md @@ -3,9 +3,9 @@ title: Reference shortTitle: Reference intro: View reference documentation to learn about the resources available in the GitHub REST API. versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API children: diff --git a/content/rest/reference/interactions.md b/content/rest/reference/interactions.md index afbb326829..76b7b17229 100644 --- a/content/rest/reference/interactions.md +++ b/content/rest/reference/interactions.md @@ -3,7 +3,7 @@ title: Interactions redirect_from: - /v3/interactions versions: - free-pro-team: '*' + fpt: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/issues.md b/content/rest/reference/issues.md index 54b2676605..4bbff08940 100644 --- a/content/rest/reference/issues.md +++ b/content/rest/reference/issues.md @@ -3,9 +3,9 @@ title: Issues redirect_from: - /v3/issues versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/licenses.md b/content/rest/reference/licenses.md index 85a6e5c141..0659cb01a5 100644 --- a/content/rest/reference/licenses.md +++ b/content/rest/reference/licenses.md @@ -3,9 +3,9 @@ title: Licenses redirect_from: - /v3/licenses versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/markdown.md b/content/rest/reference/markdown.md index 5241beb28d..922837d70a 100644 --- a/content/rest/reference/markdown.md +++ b/content/rest/reference/markdown.md @@ -3,9 +3,9 @@ title: Markdown redirect_from: - /v3/markdown versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/meta.md b/content/rest/reference/meta.md index a8025d2abd..8973f7a142 100644 --- a/content/rest/reference/meta.md +++ b/content/rest/reference/meta.md @@ -3,9 +3,9 @@ title: Meta redirect_from: - /v3/meta versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/migrations.md b/content/rest/reference/migrations.md index a5da86d7be..033db6d05e 100644 --- a/content/rest/reference/migrations.md +++ b/content/rest/reference/migrations.md @@ -5,7 +5,7 @@ redirect_from: - /v3/migration - /v3/migration/migrations versions: - free-pro-team: '*' + fpt: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/oauth-authorizations.md b/content/rest/reference/oauth-authorizations.md index 651d9087b5..b9b9f5ba5b 100644 --- a/content/rest/reference/oauth-authorizations.md +++ b/content/rest/reference/oauth-authorizations.md @@ -4,7 +4,7 @@ redirect_from: - /v3/oauth_authorizations - /v3/oauth-authorizations versions: - enterprise-server: '*' + ghes: '*' miniTocMaxHeadingLevel: 3 --- diff --git a/content/rest/reference/orgs.md b/content/rest/reference/orgs.md index 8228b36e5d..3a632895a9 100644 --- a/content/rest/reference/orgs.md +++ b/content/rest/reference/orgs.md @@ -4,9 +4,9 @@ allowTitleToDifferFromFilename: true redirect_from: - /v3/orgs versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -16,7 +16,7 @@ miniTocMaxHeadingLevel: 3 {% unless operation.subcategory %}{% include rest_operation %}{% endunless %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Blocking users The token used to authenticate the call must have the `admin:org` scope in order to make any blocking calls for an organization. Otherwise, the response returns `HTTP 404`. diff --git a/content/rest/reference/packages.md b/content/rest/reference/packages.md index 9b64d2b544..2dd7da44f8 100644 --- a/content/rest/reference/packages.md +++ b/content/rest/reference/packages.md @@ -2,7 +2,7 @@ title: Packages product: '{% data reusables.gated-features.packages %}' versions: - free-pro-team: '*' + fpt: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/permissions-required-for-github-apps.md b/content/rest/reference/permissions-required-for-github-apps.md index 02c9c2df03..ce015ff4ed 100644 --- a/content/rest/reference/permissions-required-for-github-apps.md +++ b/content/rest/reference/permissions-required-for-github-apps.md @@ -4,9 +4,9 @@ intro: 'You can find the required permissions for each {% data variables.product redirect_from: - /v3/apps/permissions versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -38,7 +38,7 @@ GitHub Apps have the `Read-only` metadata permission by default. The metadata pe - [`GET /orgs/:org/repos`](/rest/reference/repos#list-organization-repositories) - [`GET /rate_limit`](/rest/reference/rate-limit#get-rate-limit-status-for-the-authenticated-user) - [`GET /repos/:owner/:repo`](/rest/reference/repos#get-a-repository) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/community/profile`](/rest/reference/repos#get-community-profile-metrics) {% endif -%} - [`GET /repos/:owner/:repo/contributors`](/rest/reference/repos#list-repository-contributors) @@ -111,7 +111,7 @@ _Search_ - [`GET /search/topics`](/rest/reference/search#search-topics) - [`GET /search/users`](/rest/reference/search#search-users) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion fpt or ghes > 2.21 %} ### Permission on "actions" - [`GET /repos/:owner/:repo/actions/artifacts`](/rest/reference/actions#list-artifacts-for-a-repository) (:read) @@ -122,7 +122,7 @@ _Search_ - [`GET /repos/:owner/:repo/actions/jobs/:job_id/logs`](/rest/reference/actions#download-job-logs-for-a-workflow-run) (:read) - [`GET /repos/:owner/:repo/actions/runs`](/rest/reference/actions#list-workflow-runs-for-a-repository) (:read) - [`GET /repos/:owner/:repo/actions/runs/:run_id`](/rest/reference/actions#get-a-workflow-run) (:read) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`POST /repos/:owner/:repo/actions/runs/:run_id/approve`](/rest/reference/actions#approve-a-workflow-run-for-a-fork-pull-request) (:write) {% endif -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id/artifacts`](/rest/reference/actions#list-workflow-run-artifacts) (:read) @@ -141,7 +141,7 @@ _Search_ - [`POST /orgs/:org/repos`](/rest/reference/repos#create-an-organization-repository) (:write) - [`PATCH /repos/:owner/:repo`](/rest/reference/repos#update-a-repository) (:write) - [`DELETE /repos/:owner/:repo`](/rest/reference/repos#delete-a-repository) (:write) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-a-repository) (:read) - [`GET /repos/:owner/:repo/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-a-repository) (:read) - [`GET /repos/:owner/:repo/actions/runners/:runner_id`](/rest/reference/actions#get-a-self-hosted-runner-for-a-repository) (:read) @@ -149,34 +149,34 @@ _Search_ - [`POST /repos/:owner/:repo/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-a-repository) (:write) - [`POST /repos/:owner/:repo/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-a-repository) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PUT /repos/:owner/:repo/automated-security-fixes`](/rest/reference/repos#enable-automated-security-fixes) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`DELETE /repos/:owner/:repo/automated-security-fixes`](/rest/reference/repos#disable-automated-security-fixes) (:write) {% endif -%} - [`POST /repos/:owner/:repo/forks`](/rest/reference/repos#create-a-fork) (:write) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-a-repository) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PUT /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-a-repository) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`DELETE /repos/:owner/:repo/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-a-repository) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/pages/health`](/rest/reference/repos#get-a-dns-health-check-for-github-pages) (:write) {% endif -%} - [`PUT /repos/:owner/:repo/topics`](/rest/reference/repos#replace-all-repository-topics) (:write) - [`POST /repos/:owner/:repo/transfer`](/rest/reference/repos#transfer-a-repository) (:write) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#enable-vulnerability-alerts) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PUT /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#enable-vulnerability-alerts) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`DELETE /repos/:owner/:repo/vulnerability-alerts`](/rest/reference/repos#disable-vulnerability-alerts) (:write) {% endif -%} - [`PATCH /user/repository_invitations/:invitation_id`](/rest/reference/repos#accept-a-repository-invitation) (:write) @@ -212,7 +212,7 @@ _Branches_ - [`POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/repos#add-user-access-restrictions) (:write) - [`PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/repos#set-user-access-restrictions) (:write) - [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users`](/rest/reference/repos#remove-user-access-restrictions) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes > 3.0 or ghae -%} - [`POST /repos/:owner/:repo/branches/:branch/rename`](/rest/reference/repos#rename-a-branch) (:write) {% endif %} @@ -236,7 +236,7 @@ _Teams_ - [`PUT /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#add-or-update-team-repository-permissions) (:write) - [`DELETE /teams/:team_id/repos/:owner/:repo`](/rest/reference/teams#remove-a-repository-from-a-team) (:write) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} _Traffic_ - [`GET /repos/:owner/:repo/traffic/clones`](/rest/reference/repos#get-repository-clones) (:read) - [`GET /repos/:owner/:repo/traffic/popular/paths`](/rest/reference/repos#get-top-referral-paths) (:read) @@ -244,7 +244,7 @@ _Traffic_ - [`GET /repos/:owner/:repo/traffic/views`](/rest/reference/repos#get-page-views) (:read) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Permission on "blocking" - [`GET /user/blocks`](/rest/reference/users#list-users-blocked-by-the-authenticated-user) (:read) @@ -270,67 +270,67 @@ _Traffic_ ### Permission on "contents" - [`GET /repos/:owner/:repo/:archive_format/:ref`](/rest/reference/repos#download-a-repository-archive) (:read) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/artifacts/:artifact_id`](/rest/reference/actions#get-an-artifact) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`DELETE /repos/:owner/:repo/actions/artifacts/:artifact_id`](/rest/reference/actions#delete-an-artifact) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/artifacts/:artifact_id/zip`](/rest/reference/actions#download-an-artifact) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/jobs/:job_id`](/rest/reference/actions#get-a-job-for-a-workflow-run) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/jobs/:job_id/logs`](/rest/reference/actions#download-job-logs-for-a-workflow-run) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/runs`](/rest/reference/actions#list-workflow-runs-for-a-repository) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id`](/rest/reference/actions#get-a-workflow-run) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id/artifacts`](/rest/reference/actions#list-workflow-run-artifacts) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`POST /repos/:owner/:repo/actions/runs/:run_id/cancel`](/rest/reference/actions#cancel-a-workflow-run) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id/jobs`](/rest/reference/actions#list-jobs-for-a-workflow-run) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/runs/:run_id/logs`](/rest/reference/actions#download-workflow-run-logs) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`DELETE /repos/:owner/:repo/actions/runs/:run_id/logs`](/rest/reference/actions#delete-workflow-run-logs) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`POST /repos/:owner/:repo/actions/runs/:run_id/rerun`](/rest/reference/actions#re-run-a-workflow) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/secrets`](/rest/reference/actions#list-repository-secrets) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#get-a-repository-secret) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PUT /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#create-or-update-a-repository-secret) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`DELETE /repos/:owner/:repo/actions/secrets/:name`](/rest/reference/actions#delete-a-repository-secret) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/workflows`](/rest/reference/actions#list-repository-workflows) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/workflows/:workflow_id`](/rest/reference/actions#get-a-workflow) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/actions/workflows/:workflow_id/runs`](/rest/reference/actions#list-workflow-runs) (:read) {% endif -%} - [`GET /repos/:owner/:repo/check-runs/:check_run_id`](/rest/reference/checks#get-a-check-run) (:read) @@ -345,7 +345,7 @@ _Traffic_ - [`GET /repos/:owner/:repo/community/code_of_conduct`](/rest/reference/codes-of-conduct#get-the-code-of-conduct-for-a-repository) (:read) - [`GET /repos/:owner/:repo/compare/:base...:head`](/rest/reference/repos#compare-two-commits) (:read) - [`GET /repos/:owner/:repo/contents/:path`](/rest/reference/repos#get-repository-content) (:read) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes or ghae -%} - [`POST /repos/:owner/:repo/dispatches`](/rest/reference/repos#create-a-repository-dispatch-event) (:write) {% endif -%} - [`POST /repos/:owner/:repo/forks`](/rest/reference/repos#create-a-fork) (:read) @@ -360,7 +360,7 @@ _Branches_ - [`POST /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/repos#add-app-access-restrictions) (:write) - [`PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/repos#set-app-access-restrictions) (:write) - [`DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/apps`](/rest/reference/repos#remove-user-access-restrictions) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes > 3.0 or ghae -%} - [`POST /repos/:owner/:repo/branches/:branch/rename`](/rest/reference/repos#rename-a-branch) (:write) {% endif %} @@ -385,7 +385,7 @@ _Git_ - [`POST /repos/:owner/:repo/git/trees`](/rest/reference/git#create-a-tree) (:write) - [`GET /repos/:owner/:repo/git/trees/:sha`](/rest/reference/git#get-a-tree) (:read) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} _Import_ - [`GET /repos/:owner/:repo/import`](/rest/reference/migrations#get-an-import-status) (:read) - [`PUT /repos/:owner/:repo/import`](/rest/reference/migrations#start-an-import) (:write) @@ -399,12 +399,12 @@ _Import_ _Reactions_ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes or ghae -%} - [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (:write) {% else -%} - [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes or ghae -%} - [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-comment-reaction) (:write) @@ -431,17 +431,17 @@ _Releases_ - [`GET /repos/:owner/:repo/deployments`](/rest/reference/repos#list-deployments) (:read) - [`POST /repos/:owner/:repo/deployments`](/rest/reference/repos#create-a-deployment) (:write) - [`GET /repos/:owner/:repo/deployments/:deployment_id`](/rest/reference/repos#get-a-deployment) (:read) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes or ghae -%} - [`DELETE /repos/:owner/:repo/deployments/:deployment_id`](/rest/reference/repos#delete-a-deployment) (:write) {% endif -%} - [`GET /repos/:owner/:repo/deployments/:deployment_id/statuses`](/rest/reference/repos#list-deployment-statuses) (:read) - [`POST /repos/:owner/:repo/deployments/:deployment_id/statuses`](/rest/reference/repos#create-a-deployment-status) (:write) - [`GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id`](/rest/reference/repos#get-a-deployment-status) (:read) -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ### Permission on "emails" -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PATCH /user/email/visibility`](/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) (:write) {% endif -%} - [`GET /user/emails`](/rest/reference/users#list-email-addresses-for-the-authenticated-user) (:read) @@ -465,7 +465,7 @@ _Releases_ - [`GET /user/gpg_keys/:gpg_key_id`](/rest/reference/users#get-a-gpg-key-for-the-authenticated-user) (:read) - [`DELETE /user/gpg_keys/:gpg_key_id`](/rest/reference/users#delete-a-gpg-key-for-the-authenticated-user) (:write) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Permission on "interaction limits" - [`GET /user/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-your-public-repositories) (:read) @@ -530,7 +530,7 @@ _Reactions_ - [`POST /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) (:write) - [`GET /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#list-reactions-for-an-issue) (:read) - [`POST /repos/:owner/:repo/issues/:issue_number/reactions`](/rest/reference/reactions#create-reaction-for-an-issue) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes or ghae -%} - [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (:write) - [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (:write) @@ -552,39 +552,39 @@ _Keys_ ### Permission on "members" -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /organizations/:org_id/team/:team_id/team-sync/group-mappings`](/rest/reference/teams#list-idp-groups-for-a-team) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PATCH /organizations/:org_id/team/:team_id/team-sync/group-mappings`](/rest/reference/teams#create-or-update-idp-group-connections) (:write) {% endif -%} - [`GET /orgs/:org/outside_collaborators`](/rest/reference/orgs#list-outside-collaborators-for-an-organization) (:read) - [`PUT /orgs/:org/outside_collaborators/:username`](/rest/reference/orgs#convert-an-organization-member-to-outside-collaborator) (:write) - [`DELETE /orgs/:org/outside_collaborators/:username`](/rest/reference/orgs#remove-outside-collaborator-from-an-organization) (:write) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /orgs/:org/team-sync/groups`](/rest/reference/teams#list-idp-groups-for-an-organization) (:write) {% endif -%} - [`GET /orgs/:org/team/:team_id`](/rest/reference/teams#get-a-team-by-name) (:read) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /scim/v2/orgs/:org/Users`](/rest/reference/scim#list-scim-provisioned-identities) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`POST /scim/v2/orgs/:org/Users`](/rest/reference/scim#provision-and-invite-a-scim-user) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#get-scim-provisioning-information-for-a-user) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PUT /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#set-scim-information-for-a-provisioned-user) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PATCH /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#update-an-attribute-for-a-scim-user) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`DELETE /scim/v2/orgs/:org/Users/:external_identity_guid`](/rest/reference/scim#delete-a-scim-user-from-an-organization) (:write) {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} _Invitations_ - [`GET /orgs/:org/invitations`](/rest/reference/orgs#list-pending-organization-invitations) (:read) - [`POST /orgs/:org/invitations`](/rest/reference/orgs#create-an-organization-invitation) (:write) @@ -615,7 +615,7 @@ _Teams_ - [`GET /orgs/:org/teams/:team_slug`](/rest/reference/teams#get-a-team-by-name) (:read) - [`PATCH /teams/:team_id`](/rest/reference/teams#update-a-team) (:write) - [`DELETE /teams/:team_id`](/rest/reference/teams#delete-a-team) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes or ghae -%} - [`GET /teams/:team_id/projects`](/rest/reference/teams#list-team-projects) (:read) - [`GET /teams/:team_id/projects/:project_id`](/rest/reference/teams#check-team-permissions-for-a-project) (:read) - [`PUT /teams/:team_id/projects/:project_id`](/rest/reference/teams#add-or-update-team-project-permissions) (:read) @@ -630,13 +630,13 @@ _Teams_ ### Permission on "organization administration" - [`PATCH /orgs/:org`](/rest/reference/orgs#update-an-organization) (:write) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /orgs/:org/interaction-limits`](/rest/reference/interactions#get-interaction-restrictions-for-an-organization) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`PUT /orgs/:org/interaction-limits`](/rest/reference/interactions#set-interaction-restrictions-for-an-organization) (:write) {% endif -%} -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`DELETE /orgs/:org/interaction-limits`](/rest/reference/interactions#remove-interaction-restrictions-for-an-organization) (:write) {% endif %} @@ -656,7 +656,7 @@ _Teams_ _Teams_ - [`DELETE /teams/:team_id/projects/:project_id`](/rest/reference/teams#remove-a-project-from-a-team) (:read) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ### Permission on "organization pre receive hooks" - [`GET /orgs/:org/pre-receive-hooks`](/enterprise/user/rest/reference/enterprise-admin#list-pre-receive-hooks-for-an-organization) (:read) @@ -685,7 +685,7 @@ _Teams_ - [`DELETE /projects/columns/cards/:card_id`](/rest/reference/projects#delete-a-project-card) (:write) - [`POST /projects/columns/cards/:card_id/moves`](/rest/reference/projects#move-a-project-card) (:write) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Permission on "organization user blocking" - [`GET /orgs/:org/blocks`](/rest/reference/orgs#list-users-blocked-by-an-organization) (:read) @@ -704,7 +704,7 @@ _Teams_ - [`POST /repos/:owner/:repo/pages/builds`](/rest/reference/repos#request-a-github-pages-build) (:write) - [`GET /repos/:owner/:repo/pages/builds/:build_id`](/rest/reference/repos#get-github-pages-build) (:read) - [`GET /repos/:owner/:repo/pages/builds/latest`](/rest/reference/repos#get-latest-pages-build) (:read) -{% if currentVersion == "free-pro-team@latest" -%} +{% ifversion fpt -%} - [`GET /repos/:owner/:repo/pages/health`](/rest/reference/repos#get-a-dns-health-check-for-github-pages) (:write) {% endif %} @@ -773,7 +773,7 @@ _Reactions_ - [`POST /repos/:owner/:repo/issues/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-an-issue-comment) (:write) - [`GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions`](/rest/reference/reactions#list-reactions-for-a-pull-request-review-comment) (:read) - [`POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions`](/rest/reference/reactions#create-reaction-for-a-pull-request-review-comment) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes or ghae -%} - [`DELETE /reactions/:reaction_id`](/rest/reference/reactions#delete-a-reaction-legacy) (:write) - [`DELETE /repos/:owner/:repo/comments/:comment_id/reactions/:reaction_id`](/rest/reference/reactions#delete-a-commit-comment-reaction) (:write) - [`DELETE /repos/:owner/:repo/issues/:issue_number/reactions/:reaction_id`](/rest/reference/reactions#delete-an-issue-reaction) (:write) @@ -813,7 +813,7 @@ _Reviews_ - [`POST /repos/:owner/:repo/hooks/:hook_id/pings`](/rest/reference/repos#ping-a-repository-webhook) (:read) - [`POST /repos/:owner/:repo/hooks/:hook_id/tests`](/rest/reference/repos#test-the-push-repository-webhook) (:read) -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ### Permission on "repository pre receive hooks" - [`GET /repos/:owner/:repo/pre-receive-hooks`](/enterprise/user/rest/reference/enterprise-admin#list-pre-receive-hooks-for-a-repository) (:read) @@ -846,7 +846,7 @@ _Reviews_ _Teams_ - [`DELETE /teams/:team_id/projects/:project_id`](/rest/reference/teams#remove-a-project-from-a-team) (:read) -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Permission on "secrets" - [`GET /repos/:owner/:repo/actions/secrets/public-key`](/rest/reference/actions#get-a-repository-public-key) (:read) @@ -865,7 +865,7 @@ _Teams_ - [`DELETE /orgs/:org/actions/secrets/:secret_name`](/rest/reference/actions#delete-an-organization-secret) (:write) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} ### Permission on "secret scanning alerts" - [`GET /repos/:owner/:repo/secret-scanning/alerts`](/rest/reference/secret-scanning#list-secret-scanning-alerts-for-a-repository) (:read) @@ -873,29 +873,29 @@ _Teams_ - [`PATCH /repos/:owner/:repo/secret-scanning/alerts/:alert_number`](/rest/reference/secret-scanning#update-a-secret-scanning-alert) (:write) {% endif %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} ### Permission on "security events" - [`GET /repos/:owner/:repo/code-scanning/alerts`](/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository) (:read) - [`GET /repos/:owner/:repo/code-scanning/alerts/:alert_number`](/rest/reference/code-scanning#get-a-code-scanning-alert) (:read) - [`PATCH /repos/:owner/:repo/code-scanning/alerts/:alert_number`](/rest/reference/code-scanning#update-a-code-scanning-alert) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes > 3.0 or ghae -%} - [`GET /repos/:owner/:repo/code-scanning/alerts/:alert_number/instances`](/rest/reference/code-scanning#list-instances-of-a-code-scanning-alert) (:read) {% endif -%} - [`GET /repos/:owner/:repo/code-scanning/analyses`](/rest/reference/code-scanning#list-code-scanning-analyses-for-a-repository) (:read) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes > 3.0 or ghae -%} - [`GET /repos/:owner/:repo/code-scanning/analyses/:analysis_id`](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository) (:read) {% endif -%} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" -%} +{% ifversion fpt or ghes > 3.0 -%} - [`DELETE /repos/:owner/:repo/code-scanning/analyses/:analysis_id`](/rest/reference/code-scanning#delete-a-code-scanning-analysis-from-a-repository) (:write) {% endif -%} - [`POST /repos/:owner/:repo/code-scanning/sarifs`](/rest/reference/code-scanning#upload-an-analysis-as-sarif-data) (:write) -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" -%} +{% ifversion fpt or ghes > 3.0 or ghae -%} - [`GET /repos/:owner/:repo/code-scanning/sarifs/:sarif_id`](/rest/reference/code-scanning#get-information-about-a-sarif-upload) (:read) {% endif -%} {% endif %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ### Permission on "self-hosted runners" - [`GET /orgs/:org/actions/runners/downloads`](/rest/reference/actions#list-runner-applications-for-an-organization) (:read) - [`POST /orgs/:org/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-an-organization) (:write) diff --git a/content/rest/reference/projects.md b/content/rest/reference/projects.md index 00be7873a4..84a097bba7 100644 --- a/content/rest/reference/projects.md +++ b/content/rest/reference/projects.md @@ -3,9 +3,9 @@ title: Projects redirect_from: - /v3/projects versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/pulls.md b/content/rest/reference/pulls.md index 641b9e0296..6d210b27c1 100644 --- a/content/rest/reference/pulls.md +++ b/content/rest/reference/pulls.md @@ -3,9 +3,9 @@ title: Pulls redirect_from: - /v3/pulls versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/rate-limit.md b/content/rest/reference/rate-limit.md index 787a982c87..20242dcaa7 100644 --- a/content/rest/reference/rate-limit.md +++ b/content/rest/reference/rate-limit.md @@ -4,9 +4,9 @@ redirect_from: - /v3/rate_limit - /v3/rate-limit versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/reactions.md b/content/rest/reference/reactions.md index 7df22bb19e..0e2edfc429 100644 --- a/content/rest/reference/reactions.md +++ b/content/rest/reference/reactions.md @@ -3,9 +3,9 @@ title: Reactions redirect_from: - /v3/reactions versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/repos.md b/content/rest/reference/repos.md index 63a6807317..c5d598cc75 100644 --- a/content/rest/reference/repos.md +++ b/content/rest/reference/repos.md @@ -4,9 +4,9 @@ allowTitleToDifferFromFilename: true redirect_from: - /v3/repos versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -54,7 +54,7 @@ The Repo Commits API supports listing, viewing, and comparing commits in a repos {% if operation.subcategory == 'commits' %}{% include rest_operation %}{% endif %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Community {% for operation in currentRestOperations %} @@ -143,7 +143,7 @@ Below is a simple sequence diagram for how these interactions would work. Keep in mind that GitHub is never actually accessing your servers. It's up to your third-party integration to interact with deployment events. Multiple systems can listen for deployment events, and it's up to each of those systems to decide whether they're responsible for pushing the code out to your servers, building native code, etc. -Note that the `repo_deployment` [OAuth scope](/developers/apps/scopes-for-oauth-apps) grants targeted access to deployments and deployment statuses **without** granting access to repository code, while the {% if currentVersion != "github-ae@latest" %}`public_repo` and{% endif %}`repo` scopes grant permission to code as well. +Note that the `repo_deployment` [OAuth scope](/developers/apps/scopes-for-oauth-apps) grants targeted access to deployments and deployment statuses **without** granting access to repository code, while the {% ifversion not ghae %}`public_repo` and{% endif %}`repo` scopes grant permission to code as well. ### Inactive deployments @@ -156,7 +156,7 @@ You can communicate that a transient environment no longer exists by setting its {% if operation.subcategory == 'deployments' %}{% include rest_operation %}{% endif %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} ## Environments The Environments API allows you to create, configure, and delete environments. For more information about environments, see "[Environments](/actions/reference/environments)." To manage environment secrets, see "[Secrets](/rest/reference/actions#secrets)." @@ -202,7 +202,7 @@ The authenticated user will be the author of any merges done through this endpoi ## Pages -The {% data variables.product.prodname_pages %} API retrieves information about your {% data variables.product.prodname_pages %} configuration, and the statuses of your builds. Information about the site and the builds can only be accessed by authenticated owners{% if currentVersion != "github-ae@latest" %}, even if the websites are public{% endif %}. For more information, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages)." +The {% data variables.product.prodname_pages %} API retrieves information about your {% data variables.product.prodname_pages %} configuration, and the statuses of your builds. Information about the site and the builds can only be accessed by authenticated owners{% ifversion not ghae %}, even if the websites are public{% endif %}. For more information, see "[About {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/about-github-pages)." In {% data variables.product.prodname_pages %} API endpoints with a `status` key in their response, the value can be one of: * `null`: The site has yet to be built. @@ -290,7 +290,7 @@ If you are developing a GitHub App and want to provide more detailed information {% if operation.subcategory == 'statuses' %}{% include rest_operation %}{% endif %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Traffic For repositories that you have push access to, the traffic API provides access @@ -363,4 +363,4 @@ Name | Type | Description ``hub.mode``|`string` | **Required**. Either `subscribe` or `unsubscribe`. ``hub.topic``|`string` |**Required**. The URI of the GitHub repository to subscribe to. The path must be in the format of `/{owner}/{repo}/events/{event}`. ``hub.callback``|`string` | The URI to receive the updates to the topic. -``hub.secret``|`string` | A shared secret key that generates a hash signature of the outgoing body content. You can verify a push came from GitHub by comparing the raw request body with the contents of the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}`X-Hub-Signature` or `X-Hub-Signature-256` headers{% elsif currentVersion ver_lt "enterprise-server@2.23" %}`X-Hub-Signature` header{% elsif currentVersion == "github-ae@latest" %}`X-Hub-Signature-256` header{% endif %}. You can see [the PubSubHubbub documentation](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify) for more details. +``hub.secret``|`string` | A shared secret key that generates a hash signature of the outgoing body content. You can verify a push came from GitHub by comparing the raw request body with the contents of the {% ifversion fpt or ghes > 2.22 %}`X-Hub-Signature` or `X-Hub-Signature-256` headers{% elsif ghes < 3.0 %}`X-Hub-Signature` header{% elsif ghae %}`X-Hub-Signature-256` header{% endif %}. You can see [the PubSubHubbub documentation](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#authednotify) for more details. diff --git a/content/rest/reference/scim.md b/content/rest/reference/scim.md index b9b03e3eb8..c5a5d2d660 100644 --- a/content/rest/reference/scim.md +++ b/content/rest/reference/scim.md @@ -3,7 +3,7 @@ title: SCIM redirect_from: - /v3/scim versions: - free-pro-team: '*' + fpt: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/search.md b/content/rest/reference/search.md index 305c3aa0e7..9ef600e6e6 100644 --- a/content/rest/reference/search.md +++ b/content/rest/reference/search.md @@ -3,9 +3,9 @@ title: Search redirect_from: - /v3/search versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 diff --git a/content/rest/reference/secret-scanning.md b/content/rest/reference/secret-scanning.md index e02175fb63..45d3842e82 100644 --- a/content/rest/reference/secret-scanning.md +++ b/content/rest/reference/secret-scanning.md @@ -1,13 +1,13 @@ --- title: Secret scanning versions: - free-pro-team: '*' - enterprise-server: '>=3.1' + fpt: '*' + ghes: '>=3.1' miniTocMaxHeadingLevel: 3 --- {% data reusables.secret-scanning.api-beta %} -The {% data variables.product.prodname_secret_scanning %} API lets you retrieve and update secret scanning alerts from a {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository. For more information on secret scanning, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." +The {% data variables.product.prodname_secret_scanning %} API lets you retrieve and update secret scanning alerts from a {% ifversion fpt %}private {% endif %}repository. For more information on secret scanning, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." {% include rest_operations_at_current_path %} diff --git a/content/rest/reference/teams.md b/content/rest/reference/teams.md index c5542e5d8f..8f0f6293ea 100644 --- a/content/rest/reference/teams.md +++ b/content/rest/reference/teams.md @@ -3,9 +3,9 @@ title: Teams redirect_from: - /v3/teams versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 @@ -37,7 +37,7 @@ The team discussion comments API allows you to get, create, edit, and delete dis This API is only available to authenticated members of the team's organization. OAuth access tokens require the `read:org` [scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} {% note %} **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "Synchronizing teams between your identity provider and GitHub." @@ -50,7 +50,7 @@ This API is only available to authenticated members of the team's organization. {% if operation.subcategory == 'members' %}{% include rest_operation %}{% endif %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ## Team synchronization The Team Synchronization API allows you to manage connections between {% data variables.product.product_name %} teams and external identity provider (IdP) groups. To use this API, the authenticated user must be a team maintainer or an owner of the organization associated with the team. The token you use to authenticate will also need to be authorized for use with your IdP (SSO) provider. For more information, see "Authorizing a personal access token for use with a SAML single sign-on organization." diff --git a/content/rest/reference/users.md b/content/rest/reference/users.md index fd030bfa0e..d27a3766b8 100644 --- a/content/rest/reference/users.md +++ b/content/rest/reference/users.md @@ -3,21 +3,21 @@ title: Users redirect_from: - /v3/users versions: - free-pro-team: '*' - enterprise-server: '*' - github-ae: '*' + fpt: '*' + ghes: '*' + ghae: '*' topics: - API miniTocMaxHeadingLevel: 3 --- -Many of the resources on the users API provide a shortcut for getting information about the currently authenticated user. If a request URL does not include a `{username}` parameter then the response will be for the logged in user (and you must pass [authentication information](/rest/overview/resources-in-the-rest-api#authentication) with your request).{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} Additional private information, such as whether a user has two-factor authentication enabled, is included when authenticated through basic auth or OAuth with the `user` scope.{% endif %} +Many of the resources on the users API provide a shortcut for getting information about the currently authenticated user. If a request URL does not include a `{username}` parameter then the response will be for the logged in user (and you must pass [authentication information](/rest/overview/resources-in-the-rest-api#authentication) with your request).{% ifversion fpt or ghes %} Additional private information, such as whether a user has two-factor authentication enabled, is included when authenticated through basic auth or OAuth with the `user` scope.{% endif %} {% for operation in currentRestOperations %} {% unless operation.subcategory %}{% include rest_operation %}{% endunless %} {% endfor %} -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ## Blocking users {% for operation in currentRestOperations %} @@ -26,7 +26,7 @@ Many of the resources on the users API provide a shortcut for getting informatio {% endif %} -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} ## Emails Management of email addresses via the API requires that you authenticate through basic auth, or through OAuth with a correct scope for the endpoint. diff --git a/content/sponsors/getting-started-with-github-sponsors/about-github-sponsors.md b/content/sponsors/getting-started-with-github-sponsors/about-github-sponsors.md index 1ccd42a405..644d3a4739 100644 --- a/content/sponsors/getting-started-with-github-sponsors/about-github-sponsors.md +++ b/content/sponsors/getting-started-with-github-sponsors/about-github-sponsors.md @@ -5,7 +5,7 @@ redirect_from: - /articles/about-github-sponsors - /github/supporting-the-open-source-community-with-github-sponsors/about-github-sponsors versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Open Source diff --git a/content/sponsors/getting-started-with-github-sponsors/index.md b/content/sponsors/getting-started-with-github-sponsors/index.md index 9058db220f..1e2f8636ab 100644 --- a/content/sponsors/getting-started-with-github-sponsors/index.md +++ b/content/sponsors/getting-started-with-github-sponsors/index.md @@ -2,7 +2,7 @@ title: Getting started with GitHub Sponsors intro: 'Learn about {% data variables.product.prodname_sponsors %} and how you can get involved as a sponsor or open source contributor.' versions: - free-pro-team: '*' + fpt: '*' children: - /about-github-sponsors - /quickstart-for-finding-contributors-to-sponsor diff --git a/content/sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor.md b/content/sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor.md index 53c307a900..98e99840fc 100644 --- a/content/sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor.md +++ b/content/sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor.md @@ -2,7 +2,7 @@ title: Quickstart for finding contributors to sponsor intro: Learn some best practices for finding open source contributors to sponsor. versions: - free-pro-team: '*' + fpt: '*' type: quick_start topics: - Open Source diff --git a/content/sponsors/guides.md b/content/sponsors/guides.md index 45d4336ca0..dd6d3f1910 100644 --- a/content/sponsors/guides.md +++ b/content/sponsors/guides.md @@ -5,7 +5,7 @@ intro: 'Learn how to make the most of {% data variables.product.prodname_sponsor allowTitleToDifferFromFilename: true layout: product-sublanding versions: - free-pro-team: '*' + fpt: '*' includeGuides: - /sponsors/getting-started-with-github-sponsors/quickstart-for-finding-contributors-to-sponsor - /sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization @@ -14,4 +14,5 @@ includeGuides: - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account - /sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization - /sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account ---- \ No newline at end of file +--- + diff --git a/content/sponsors/index.md b/content/sponsors/index.md index cfbdc1dad1..42452c00d0 100644 --- a/content/sponsors/index.md +++ b/content/sponsors/index.md @@ -27,7 +27,7 @@ featuredLinks: - /sponsors/about-github-sponsors-for-open-source-contributors layout: product-landing versions: - free-pro-team: '*' + fpt: '*' children: - /getting-started-with-github-sponsors - /sponsoring-open-source-contributors diff --git a/content/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md b/content/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md index e20b04a6af..0c5a407e89 100644 --- a/content/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md +++ b/content/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account.md @@ -4,7 +4,7 @@ intro: You can configure webhooks to alert you when you receive new sponsorships redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Webhooks diff --git a/content/sponsors/integrating-with-github-sponsors/getting-started-with-the-sponsors-graphql-api.md b/content/sponsors/integrating-with-github-sponsors/getting-started-with-the-sponsors-graphql-api.md index 8d05fd7671..f09e362eb0 100644 --- a/content/sponsors/integrating-with-github-sponsors/getting-started-with-the-sponsors-graphql-api.md +++ b/content/sponsors/integrating-with-github-sponsors/getting-started-with-the-sponsors-graphql-api.md @@ -2,7 +2,7 @@ title: Getting started with the Sponsors GraphQL API intro: 'Using the GraphQL API, you can build custom integrations to manage or review your sponsorships.' versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - GraphQL diff --git a/content/sponsors/integrating-with-github-sponsors/index.md b/content/sponsors/integrating-with-github-sponsors/index.md index 02b311a32e..d3d4a71c2a 100644 --- a/content/sponsors/integrating-with-github-sponsors/index.md +++ b/content/sponsors/integrating-with-github-sponsors/index.md @@ -2,7 +2,7 @@ title: Integrating with GitHub Sponsors intro: 'As an open source contributor, you can build custom tools to manage your GitHub sponsorships.' versions: - free-pro-team: '*' + fpt: '*' children: - /configuring-webhooks-for-events-in-your-sponsored-account - /getting-started-with-the-sponsors-graphql-api diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors.md index cc7d2557bb..44142b8bb0 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/about-github-sponsors-for-open-source-contributors.md @@ -5,7 +5,7 @@ redirect_from: - /articles/about-github-sponsors-for-sponsored-developers - /github/supporting-the-open-source-community-with-github-sponsors/about-github-sponsors-for-sponsored-developers versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Open Source diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors.md index 149c0797fb..3a4c5563f2 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/contacting-your-sponsors.md @@ -5,7 +5,7 @@ redirect_from: - /articles/contacting-your-sponsors - /github/supporting-the-open-source-community-with-github-sponsors/contacting-your-sponsors versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Open Source diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/disabling-your-github-sponsors-account.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/disabling-your-github-sponsors-account.md index a774c27912..24f69a7816 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/disabling-your-github-sponsors-account.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/disabling-your-github-sponsors-account.md @@ -2,7 +2,7 @@ title: Disabling your GitHub Sponsors account intro: 'If you no longer want to participate in {% data variables.product.prodname_sponsors %}, you can disable your {% data variables.product.prodname_sponsors %} account.' versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Open Source diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md index 0cb4573f26..2cf93faa89 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/editing-your-profile-details-for-github-sponsors.md @@ -6,7 +6,7 @@ redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/editing-your-sponsored-developer-profile - /github/supporting-the-open-source-community-with-github-sponsors/editing-your-profile-details-for-github-sponsors versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Sponsors profile diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/index.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/index.md index cd4c748ad7..668b5e48d1 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/index.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/index.md @@ -7,7 +7,7 @@ redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/receiving-sponsorships-as-a-sponsored-developer - /github/supporting-the-open-source-community-with-github-sponsors/receiving-sponsorships-through-github-sponsors versions: - free-pro-team: '*' + fpt: '*' children: - /about-github-sponsors-for-open-source-contributors - /setting-up-github-sponsors-for-your-user-account diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors.md index 7c2f3d1f74..17d3ad4744 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-payouts-from-github-sponsors.md @@ -5,7 +5,7 @@ redirect_from: - /articles/managing-your-payouts-from-github-sponsors - /github/supporting-the-open-source-community-with-github-sponsors/managing-your-payouts-from-github-sponsors versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Sponsors payments diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md index 2ea773f6ac..ca7e8b9e42 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-goal.md @@ -5,7 +5,7 @@ redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/manage-your-sponsorship-goal - /github/supporting-the-open-source-community-with-github-sponsors/managing-your-sponsorship-goal versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Open Source diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers.md index 12f144eca8..caaf5296f7 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/managing-your-sponsorship-tiers.md @@ -6,7 +6,7 @@ redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/changing-your-sponsorship-tiers - /github/supporting-the-open-source-community-with-github-sponsors/managing-your-sponsorship-tiers versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Open Source diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md index 78856c7d27..ba6fa47dbd 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization.md @@ -7,7 +7,7 @@ redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/setting-up-github-sponsors-for-your-organization permissions: 'Organization owners can set up {% data variables.product.prodname_sponsors %} for an organization.' versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Organizations diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account.md index faf78f2d03..3525140a18 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-user-account.md @@ -6,7 +6,7 @@ redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/becoming-a-sponsored-developer - /github/supporting-the-open-source-community-with-github-sponsors/setting-up-github-sponsors-for-your-user-account versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - User account diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md index 002a9fa7a4..af70c964a4 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md @@ -5,7 +5,7 @@ redirect_from: - /articles/tax-information-for-sponsored-developers - /github/supporting-the-open-source-community-with-github-sponsors/tax-information-for-sponsored-developers versions: - free-pro-team: '*' + fpt: '*' type: overview topics: - Open Source diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/unpublishing-your-github-sponsors-profile.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/unpublishing-your-github-sponsors-profile.md index 06ee6dae99..346b0b5c8c 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/unpublishing-your-github-sponsors-profile.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/unpublishing-your-github-sponsors-profile.md @@ -2,7 +2,7 @@ title: Unpublishing your GitHub Sponsors profile intro: 'If you don''t have any sponsors, you can unpublish your {% data variables.product.prodname_sponsors %} profile.' versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Open Source diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships.md index a9bc94f84b..9aa9717849 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships.md @@ -5,7 +5,7 @@ redirect_from: - /articles/viewing-your-sponsors-and-sponsorships - /github/supporting-the-open-source-community-with-github-sponsors/viewing-your-sponsors-and-sponsorships versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Open Source diff --git a/content/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization.md b/content/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization.md index 942ef5adbd..99ab19d122 100644 --- a/content/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization.md +++ b/content/sponsors/sponsoring-open-source-contributors/attributing-sponsorships-to-your-organization.md @@ -4,7 +4,7 @@ intro: You can attribute the sponsorships paid by one of your organizations to a redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/attributing-sponsorships-to-your-organization versions: - free-pro-team: '*' + fpt: '*' permissions: People who are organization owners of both organizations can attribute one organization's sponsorships to another organization. type: how_to topics: diff --git a/content/sponsors/sponsoring-open-source-contributors/index.md b/content/sponsors/sponsoring-open-source-contributors/index.md index a8f8deb35b..05dff0b2f6 100644 --- a/content/sponsors/sponsoring-open-source-contributors/index.md +++ b/content/sponsors/sponsoring-open-source-contributors/index.md @@ -6,7 +6,7 @@ redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/sponsoring-open-source-developers - /github/supporting-the-open-source-community-with-github-sponsors/sponsoring-open-source-contributors versions: - free-pro-team: '*' + fpt: '*' children: - /sponsoring-an-open-source-contributor - /managing-your-sponsorship diff --git a/content/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship.md b/content/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship.md index 4ec3622a31..c3c85bf138 100644 --- a/content/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship.md +++ b/content/sponsors/sponsoring-open-source-contributors/managing-your-sponsorship.md @@ -5,7 +5,7 @@ redirect_from: - /articles/managing-your-sponsorship - /github/supporting-the-open-source-community-with-github-sponsors/managing-your-sponsorship versions: - free-pro-team: '*' + fpt: '*' type: how_to topics: - Contacting sponsors diff --git a/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md b/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md index 29858b34e0..7168fc49c9 100644 --- a/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md +++ b/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor.md @@ -7,7 +7,7 @@ redirect_from: - /github/supporting-the-open-source-community-with-github-sponsors/sponsoring-a-developer - /github/supporting-the-open-source-community-with-github-sponsors/sponsoring-an-open-source-contributor versions: - free-pro-team: '*' + fpt: '*' permissions: Anyone can sponsor accounts on behalf of their own user account. Organization owners and billing managers can sponsor accounts on behalf of their organization. type: how_to topics: diff --git a/data/glossaries/external.yml b/data/glossaries/external.yml index b77f8bc851..bf3b4c3900 100644 --- a/data/glossaries/external.yml +++ b/data/glossaries/external.yml @@ -180,7 +180,7 @@ Your personal dashboard is the main hub of your activity on GitHub. From your personal dashboard, you can keep track of issues and pull requests you're following or working on, navigate to your top repositories and team pages, and learn about recent activity in repositories you're watching or participating in. You can also discover new repositories, which are recommended based on users you're following and repositories you have starred. To only view activity for a specific organization, visit your organization's dashboard. For more information, see "[About your personal dashboard](/articles/about-your-personal-dashboard)" or "[About your organization dashboard](/articles/about-your-organization-dashboard)." - term: default branch description: >- - The base branch for new pull requests and code commits in a repository. Each repository has at least one branch, which Git creates when you initialize the repository. The first branch is usually called {% if currentVersion ver_lt "enterprise-server@3.2" %}`master`{% else %}`main`{% endif %}, and is often the default branch. + The base branch for new pull requests and code commits in a repository. Each repository has at least one branch, which Git creates when you initialize the repository. The first branch is usually called {% ifversion ghes < 3.2 %}`master`{% else %}`main`{% endif %}, and is often the default branch. - term: dependents graph description: >- A repository graph that shows the packages, projects, and repositories that depend on a @@ -256,8 +256,8 @@ - term: gist description: >- A gist is a shareable file that you can edit, clone, and fork on GitHub. - You can make a gist {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} or secret, although secret gists will be - available to {% if currentVersion == "github-ae@latest" %}any enterprise member{% else %}anyone{% endif %} with the URL. + You can make a gist {% ifversion ghae %}internal{% else %}public{% endif %} or secret, although secret gists will be + available to {% ifversion ghae %}any enterprise member{% else %}anyone{% endif %} with the URL. - term: Git description: >- Git is an open source program for tracking changes in text files. It was @@ -400,7 +400,7 @@ description: A system for annotating and formatting a document. - term: main description: >- - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %} + {% ifversion fpt or ghes > 3.1 or ghae %} The default development branch. Whenever you create a Git repository, a branch named `main` is created, and becomes the active branch. In most cases, this contains the local development, though that is purely by @@ -410,7 +410,7 @@ description: >- The default branch in many Git repositories. By default, when you create a new Git repository on the command line, a branch called `master` is created. - Many tools now use an alternative name for the default branch.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %} For example, + Many tools now use an alternative name for the default branch.{% ifversion fpt or ghes > 3.1 or ghae %} For example, when you create a new repository on GitHub, the default branch is called `main`.{% endif %} - term: members graph description: A repository graph that shows all the forks of a repository. diff --git a/data/learning-tracks/code-security.yml b/data/learning-tracks/code-security.yml index 24fe47ca7c..c9d3d77245 100644 --- a/data/learning-tracks/code-security.yml +++ b/data/learning-tracks/code-security.yml @@ -2,7 +2,7 @@ security_advisories: title: 'Fix and disclose a security vulnerability' description: 'Using security advisories to privately fix a reported vulnerability and get a CVE.' - featured_track: '{% if currentVersion == "free-pro-team@latest" %}true{% else %}false{% endif %}' + featured_track: '{% ifversion fpt %}true{% else %}false{% endif %}' guides: - /code-security/security-advisories/about-coordinated-disclosure-of-security-vulnerabilities - /code-security/security-advisories/creating-a-security-advisory @@ -19,7 +19,7 @@ dependabot_alerts: description: 'Set up Dependabot to alert you to new vulnerabilities in your dependencies.' guides: - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies - - '{% if currentVersion != "github-ae@latest" %}/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository{% endif %}' + - '{% ifversion not ghae %}/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository{% endif %}' - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates @@ -33,10 +33,10 @@ dependabot_security_updates: guides: - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates - /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies{% endif %}' - - '{% if currentVersion == "free-pro-team@latest" %}/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository{% endif %}' + - '{% ifversion fpt %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies{% endif %}' + - '{% ifversion fpt %}/github/administering-a-repository/managing-repository-settings/managing-security-and-analysis-settings-for-your-repository{% endif %}' - /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies{% endif %}' + - '{% ifversion fpt %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies{% endif %}' # Feature available only on dotcom dependency_version_updates: @@ -68,16 +68,16 @@ security_alerts: description: 'Learn where to find and resolve security alerts.' guides: - /code-security/security-overview/exploring-security-alerts - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/secret-security/managing-alerts-from-secret-scanning {% endif %}' - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository{% endif %}' - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests{% endif %}' - - '{% if currentVersion == "free-pro-team@latest" %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository{% endif %}' + - '{% ifversion fpt %}/code-security/secret-security/managing-alerts-from-secret-scanning {% endif %}' + - '{% ifversion fpt %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository{% endif %}' + - '{% ifversion fpt %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests{% endif %}' + - '{% ifversion fpt %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/viewing-and-updating-vulnerable-dependencies-in-your-repository{% endif %}' # Feature available in all versions from GHES 2.22 up code_security_actions: title: 'Run code scanning with GitHub Actions' description: 'Check your default branch and every pull request to keep vulnerabilities and errors out of your repository.' - featured_track: '{% if currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.22" %}true{% else %}false{% endif %}' + featured_track: '{% ifversion ghae or ghes > 2.22 %}true{% else %}false{% endif %}' guides: - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning - /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository diff --git a/data/product-examples/code-security/code-examples.yml b/data/product-examples/code-security/code-examples.yml index 5a48cc165f..930519d2cf 100644 --- a/data/product-examples/code-security/code-examples.yml +++ b/data/product-examples/code-security/code-examples.yml @@ -48,7 +48,7 @@ - Organization - Scripts versions: - 'free-pro-team': '*' + fpt: '*' # Dependabot configuration only relevant to GitHub.com # Convert "languages" to "package-ecosystems" for Dependabot configurations @@ -66,7 +66,7 @@ - Version updates - Configuration versions: - 'free-pro-team': '*' + fpt: '*' - title: Dependabot version update PR description: Example pull request generated by the Dependabot version updates configuration in the Super linter repository. @@ -77,4 +77,4 @@ - Version updates - Pull requests versions: - 'free-pro-team': '*' + fpt: '*' diff --git a/data/reusables/actions/about-secrets.md b/data/reusables/actions/about-secrets.md index a17f345d76..3910d26b38 100644 --- a/data/reusables/actions/about-secrets.md +++ b/data/reusables/actions/about-secrets.md @@ -1 +1 @@ -Encrypted secrets allow you to store sensitive information, such as access tokens, in your repository{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}, repository environments,{% endif %} or organization. +Encrypted secrets allow you to store sensitive information, such as access tokens, in your repository{% ifversion fpt or ghes > 3.1 or ghae-next %}, repository environments,{% endif %} or organization. diff --git a/data/reusables/actions/actions-authentication.md b/data/reusables/actions/actions-authentication.md index 9200794395..b2318ce064 100644 --- a/data/reusables/actions/actions-authentication.md +++ b/data/reusables/actions/actions-authentication.md @@ -1 +1 @@ -This API is available for authenticated users, {% data variables.product.prodname_oauth_app %}s, and {% data variables.product.prodname_github_app %}s. Access tokens require [`repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) for private repos and [`public_repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) for {% if currentVersion == "github-ae@latest" %} for internal repos that are available to everyone on the enterprise.{% else %}public repos.{% endif %} +This API is available for authenticated users, {% data variables.product.prodname_oauth_app %}s, and {% data variables.product.prodname_github_app %}s. Access tokens require [`repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) for private repos and [`public_repo` scope](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes) for {% ifversion ghae %} for internal repos that are available to everyone on the enterprise.{% else %}public repos.{% endif %} diff --git a/data/reusables/actions/actions-not-certified-by-github.md b/data/reusables/actions/actions-not-certified-by-github.md index 6cdfc69dbd..1115357a84 100644 --- a/data/reusables/actions/actions-not-certified-by-github.md +++ b/data/reusables/actions/actions-not-certified-by-github.md @@ -1,4 +1,4 @@ # This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support -# documentation. \ No newline at end of file +# documentation. diff --git a/data/reusables/actions/actions-use-policy-settings.md b/data/reusables/actions/actions-use-policy-settings.md index 02de83e2ef..9213a1e209 100644 --- a/data/reusables/actions/actions-use-policy-settings.md +++ b/data/reusables/actions/actions-use-policy-settings.md @@ -1,3 +1,3 @@ If you choose **Allow select actions**, local actions are allowed, and there are additional options for allowing other specific actions. For more information, see "[Allowing specific actions to run](#allowing-specific-actions-to-run)." -When you allow local actions only, the policy blocks all access to actions authored by {% data variables.product.prodname_dotcom %}. For example, the [`actions/checkout`](https://github.com/actions/checkout) would not be accessible. \ No newline at end of file +When you allow local actions only, the policy blocks all access to actions authored by {% data variables.product.prodname_dotcom %}. For example, the [`actions/checkout`](https://github.com/actions/checkout) would not be accessible. diff --git a/data/reusables/actions/ae-beta.md b/data/reusables/actions/ae-beta.md index 0724c250bf..23895a3230 100644 --- a/data/reusables/actions/ae-beta.md +++ b/data/reusables/actions/ae-beta.md @@ -1,4 +1,4 @@ -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% note %} **Note:** {% data variables.product.prodname_actions %} is currently in beta for {% data variables.product.prodname_ghe_managed %}. diff --git a/data/reusables/actions/ae-self-hosted-runners-notice.md b/data/reusables/actions/ae-self-hosted-runners-notice.md index 6d854cf0bb..cceda715dd 100644 --- a/data/reusables/actions/ae-self-hosted-runners-notice.md +++ b/data/reusables/actions/ae-self-hosted-runners-notice.md @@ -1,4 +1,4 @@ -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% warning %} ** Warning:** Self-hosted runners are currently disabled for {% data variables.product.prodname_ghe_managed %}. This is because {% data variables.product.prodname_ghe_managed %} offers guarantees for security boundaries which are incompatible with how self-hosted runners work. However, if you do need to use self-hosted runners with {% data variables.product.prodname_ghe_managed %} and understand the security implications, you can contact {% data variables.product.prodname_dotcom %} support for a security exception that will enable self-hosted runners. diff --git a/data/reusables/actions/allow-specific-actions-intro.md b/data/reusables/actions/allow-specific-actions-intro.md index 3c7fe735a3..6f3b4c2556 100644 --- a/data/reusables/actions/allow-specific-actions-intro.md +++ b/data/reusables/actions/allow-specific-actions-intro.md @@ -8,7 +8,7 @@ When you choose **Allow select actions**, local actions are allowed, and there a You can use the `*` wildcard character to match patterns. For example, to allow all actions in organizations that start with `space-org`, you can specify `space-org*/*`. To add all actions in repositories that start with octocat, you can use `*/octocat*@*`. For more information about using the `*` wildcard, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet)." - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} {% note %} **Note:** The **Allow specified actions** option is only available in public repositories with the {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, or {% data variables.product.prodname_team %} plan. diff --git a/data/reusables/actions/choose-repo.md b/data/reusables/actions/choose-repo.md index 362868f66b..0c2b81524e 100644 --- a/data/reusables/actions/choose-repo.md +++ b/data/reusables/actions/choose-repo.md @@ -1 +1 @@ -Choose a repository where you want to apply this project management workflow. You can use an existing repository that you have write access to, or you can create a new repository. For more information about creating a repository, see "[Creating a new repository](/articles/creating-a-new-repository)." \ No newline at end of file +Choose a repository where you want to apply this project management workflow. You can use an existing repository that you have write access to, or you can create a new repository. For more information about creating a repository, see "[Creating a new repository](/articles/creating-a-new-repository)." diff --git a/data/reusables/actions/commit-workflow.md b/data/reusables/actions/commit-workflow.md index fe2ce9b187..ec50b86850 100644 --- a/data/reusables/actions/commit-workflow.md +++ b/data/reusables/actions/commit-workflow.md @@ -1 +1 @@ -Commit your workflow file to the default branch of your repository. For more information, see "[Creating new files](/github/managing-files-in-a-repository/creating-new-files)." \ No newline at end of file +Commit your workflow file to the default branch of your repository. For more information, see "[Creating new files](/github/managing-files-in-a-repository/creating-new-files)." diff --git a/data/reusables/actions/concurrency-beta.md b/data/reusables/actions/concurrency-beta.md index c3f2c9a831..0ebcdd0091 100644 --- a/data/reusables/actions/concurrency-beta.md +++ b/data/reusables/actions/concurrency-beta.md @@ -2,4 +2,4 @@ **Note:** Concurrency is currently in beta and subject to change. -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/actions/enterprise-actions-permissions.md b/data/reusables/actions/enterprise-actions-permissions.md index c5b73e2b72..4b7ef90567 100644 --- a/data/reusables/actions/enterprise-actions-permissions.md +++ b/data/reusables/actions/enterprise-actions-permissions.md @@ -2,7 +2,7 @@ You can choose which organizations in your enterprise can use {% data variables.product.prodname_actions %}, and you can restrict access to public actions. - {% if currentVersion ver_gt "enterprise-server@2.21" %} + {% ifversion ghes > 2.21 %} {% note %} **Note:** To enable access to public actions, you must first configure {% data variables.product.product_location %} to connect to {% data variables.product.prodname_marketplace %}. For more information, see "[Enabling automatic access to GitHub.com actions using GitHub Connect](/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)." diff --git a/data/reusables/actions/enterprise-beta.md b/data/reusables/actions/enterprise-beta.md index 0c674122af..cbaf9b7f1a 100644 --- a/data/reusables/actions/enterprise-beta.md +++ b/data/reusables/actions/enterprise-beta.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} {% note %} **Note:** {% data variables.product.prodname_actions %} was available for {% data variables.product.prodname_ghe_server %} 2.22 as a limited beta. The beta has ended. {% data variables.product.prodname_actions %} is now generally available in {% data variables.product.prodname_ghe_server %} 3.0 or later. For more information, see the [{% data variables.product.prodname_ghe_server %} 3.0 release notes](/enterprise-server@3.0/admin/release-notes). diff --git a/data/reusables/actions/enterprise-enable-checkbox.md b/data/reusables/actions/enterprise-enable-checkbox.md index 0006d09730..a6d10d4592 100644 --- a/data/reusables/actions/enterprise-enable-checkbox.md +++ b/data/reusables/actions/enterprise-enable-checkbox.md @@ -1,2 +1,2 @@ 1. Select **Enable GitHub Actions**. - ![Checkbox to Enable GitHub Actions](/assets/images/enterprise/management-console/enable-github-actions.png) \ No newline at end of file + ![Checkbox to Enable GitHub Actions](/assets/images/enterprise/management-console/enable-github-actions.png) diff --git a/data/reusables/actions/enterprise-github-connect-warning.md b/data/reusables/actions/enterprise-github-connect-warning.md index ce755253ef..9d468707df 100644 --- a/data/reusables/actions/enterprise-github-connect-warning.md +++ b/data/reusables/actions/enterprise-github-connect-warning.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} {% note %} **Note:** With {% data variables.product.prodname_github_connect %} enabled, {% data variables.product.prodname_actions %} will try to find the repository on your {% data variables.product.prodname_ghe_server %} instance first before falling back to {% data variables.product.prodname_dotcom %}. If a user creates an organization and repository in your enterprise that matches an organization and repository name on {% data variables.product.prodname_dotcom %}, the repository on your enterprise will be used in place of the {% data variables.product.prodname_dotcom %} repository. A malicious user could take advantage of this behavior to run code as part of a workflow. diff --git a/data/reusables/actions/enterprise-github-hosted-runners.md b/data/reusables/actions/enterprise-github-hosted-runners.md index 948121d881..93b1242152 100644 --- a/data/reusables/actions/enterprise-github-hosted-runners.md +++ b/data/reusables/actions/enterprise-github-hosted-runners.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} {% note %} **Note:** {% data variables.product.prodname_dotcom %}-hosted runners are not currently supported on {% data variables.product.prodname_ghe_server %}. You can see more information about planned future support on the [{% data variables.product.prodname_roadmap %}](https://github.com/github/roadmap/issues/72). diff --git a/data/reusables/actions/enterprise-marketplace-actions.md b/data/reusables/actions/enterprise-marketplace-actions.md index 6d326f2fb2..77cf1f0458 100644 --- a/data/reusables/actions/enterprise-marketplace-actions.md +++ b/data/reusables/actions/enterprise-marketplace-actions.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% note %} diff --git a/data/reusables/actions/enterprise-s3-support-warning.md b/data/reusables/actions/enterprise-s3-support-warning.md index 26e34ef8a4..5cd590e354 100644 --- a/data/reusables/actions/enterprise-s3-support-warning.md +++ b/data/reusables/actions/enterprise-s3-support-warning.md @@ -2,4 +2,4 @@ **Warning:** The only supported S3 storage providers are Amazon S3 and MinIO Gateway for NAS. Other S3 API-compatible storage providers are not supported. For more information on supported storage providers, see "[Getting started with GitHub Actions for GitHub Enterprise Server](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server#external-storage-requirements)." -{% endwarning %} \ No newline at end of file +{% endwarning %} diff --git a/data/reusables/actions/enterprise-setup-prereq.md b/data/reusables/actions/enterprise-setup-prereq.md index 7d9f5b645f..efce654348 100644 --- a/data/reusables/actions/enterprise-setup-prereq.md +++ b/data/reusables/actions/enterprise-setup-prereq.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} ### Using self-hosted runners on {% data variables.product.prodname_ghe_server %} diff --git a/data/reusables/actions/forked-secrets.md b/data/reusables/actions/forked-secrets.md index 3c6011328b..600bc85a95 100644 --- a/data/reusables/actions/forked-secrets.md +++ b/data/reusables/actions/forked-secrets.md @@ -1 +1 @@ -With the exception of `GITHUB_TOKEN`, secrets are not passed to the runner when a workflow is triggered from a forked repository. \ No newline at end of file +With the exception of `GITHUB_TOKEN`, secrets are not passed to the runner when a workflow is triggered from a forked repository. diff --git a/data/reusables/actions/make-workflow-file.md b/data/reusables/actions/make-workflow-file.md index 82be838ded..1fd31a188e 100644 --- a/data/reusables/actions/make-workflow-file.md +++ b/data/reusables/actions/make-workflow-file.md @@ -1 +1 @@ -In your repository, create a file called `.github/workflows/YOUR_WORKFLOW.yml`, replacing `YOUR_WORKFLOW` with a name of your choice. This is a workflow file. For more information about creating new files on GitHub, see "[Creating new files](/github/managing-files-in-a-repository/creating-new-files)." \ No newline at end of file +In your repository, create a file called `.github/workflows/YOUR_WORKFLOW.yml`, replacing `YOUR_WORKFLOW` with a name of your choice. This is a workflow file. For more information about creating new files on GitHub, see "[Creating new files](/github/managing-files-in-a-repository/creating-new-files)." diff --git a/data/reusables/actions/workflow-runs-dependabot-note.md b/data/reusables/actions/workflow-runs-dependabot-note.md index bbf085d6bf..b036943e4c 100644 --- a/data/reusables/actions/workflow-runs-dependabot-note.md +++ b/data/reusables/actions/workflow-runs-dependabot-note.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** Workflow runs triggered by {% data variables.product.prodname_dependabot %} pull requests run as if they are from a forked repository, and therefore use a read-only `GITHUB_TOKEN`. These workflow runs cannot access any secrets. See ["Keeping your GitHub Actions and workflows secure: Preventing pwn requests"](https://securitylab.github.com/research/github-actions-preventing-pwn-requests) for strategies to keep these workflows secure. diff --git a/data/reusables/actions/workflow-template-overview.md b/data/reusables/actions/workflow-template-overview.md index a08dedbf2a..b0e9469b27 100644 --- a/data/reusables/actions/workflow-template-overview.md +++ b/data/reusables/actions/workflow-template-overview.md @@ -1,3 +1,3 @@ {% data variables.product.prodname_dotcom %} provides preconfigured workflow templates that you can customize to create your own continuous integration workflow. {% data variables.product.product_name %} analyzes your code and shows you CI templates that might be useful for your repository. For example, if your repository contains Node.js code, you'll see suggestions for Node.js projects. You can use workflow templates as a starting place to build your custom workflow or use them as-is. -You can browse the full list of workflow templates in the {% if currentVersion == "free-pro-team@latest" %}[actions/starter-workflows](https://github.com/actions/starter-workflows) repository{% else %} `actions/starter-workflows` repository on {% data variables.product.product_location %}{% endif %}. +You can browse the full list of workflow templates in the {% ifversion fpt %}[actions/starter-workflows](https://github.com/actions/starter-workflows) repository{% else %} `actions/starter-workflows` repository on {% data variables.product.product_location %}{% endif %}. diff --git a/data/reusables/advanced-security/about-committer-numbers-ghec-ghes.md b/data/reusables/advanced-security/about-committer-numbers-ghec-ghes.md index 43937ba24a..0720287a6a 100644 --- a/data/reusables/advanced-security/about-committer-numbers-ghec-ghes.md +++ b/data/reusables/advanced-security/about-committer-numbers-ghec-ghes.md @@ -1,6 +1,6 @@ We record and display two numbers of committers for {% data variables.product.prodname_GH_advanced_security %} on {% data variables.product.product_location %}: -- **Committers** is the number of committers who contributed to at least one {% if currentVersion == "free-pro-team@latest" %}private {% endif %}repository in an organization and who use a seat in your enterprise license. That is, they are also an organization member, an external collaborator, or have a pending invitation to join an organization in your enterprise. +- **Committers** is the number of committers who contributed to at least one {% ifversion fpt %}private {% endif %}repository in an organization and who use a seat in your enterprise license. That is, they are also an organization member, an external collaborator, or have a pending invitation to join an organization in your enterprise. - **Unique to this repository/organization** is the number of committers who contributed only to this repository, or to repositories in this organization. This number shows how many license seats you can free up by disabling {% data variables.product.prodname_GH_advanced_security %} for that repository or organization. If there are no unique committers, all active committers also contribute to other repositories or organizations that use {% data variables.product.prodname_GH_advanced_security %}. Disabling the feature for that repository or organization would not free any seats on your license. diff --git a/data/reusables/advanced-security/about-ghas-organization-policy.md b/data/reusables/advanced-security/about-ghas-organization-policy.md index ac05a4ba85..577136a9d8 100644 --- a/data/reusables/advanced-security/about-ghas-organization-policy.md +++ b/data/reusables/advanced-security/about-ghas-organization-policy.md @@ -1,4 +1,4 @@ -{% data variables.product.company_short %} bills for {% data variables.product.prodname_advanced_security %} on a per-committer basis. {% if currentVersion == "free-pro-team@latest" %}For more information, see "[Managing licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security)."{% elsif currentVersion ver_gt "enterprise-server@3.0" %}For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} for your Enterprise](/admin/advanced-security)."{% endif %} +{% data variables.product.company_short %} bills for {% data variables.product.prodname_advanced_security %} on a per-committer basis. {% ifversion fpt %}For more information, see "[Managing licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security)."{% elsif ghes > 3.0 %}For more information, see "[Managing {% data variables.product.prodname_GH_advanced_security %} for your Enterprise](/admin/advanced-security)."{% endif %} You can enforce a policy that controls whether repository administrators are allowed to enable features for {% data variables.product.prodname_advanced_security %} in an organization's repositories. You can configure a policy for all organizations owned by your enterprise account, or for individual organizations that you choose. diff --git a/data/reusables/advanced-security/ghas-helps-developers.md b/data/reusables/advanced-security/ghas-helps-developers.md index e1b69b9a6e..d3f2bdbad8 100644 --- a/data/reusables/advanced-security/ghas-helps-developers.md +++ b/data/reusables/advanced-security/ghas-helps-developers.md @@ -1,2 +1,2 @@ -{% data variables.product.prodname_GH_advanced_security %} helps developers improve and maintain the security and quality of code.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)." +{% data variables.product.prodname_GH_advanced_security %} helps developers improve and maintain the security and quality of code.{% ifversion fpt or ghes > 2.22 or ghae %} For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)." {% endif %} diff --git a/data/reusables/advanced-security/managing-license-usage-ghec-ghes.md b/data/reusables/advanced-security/managing-license-usage-ghec-ghes.md index d447e24e28..5b2cc77a04 100644 --- a/data/reusables/advanced-security/managing-license-usage-ghec-ghes.md +++ b/data/reusables/advanced-security/managing-license-usage-ghec-ghes.md @@ -1,5 +1,5 @@ When you enable or disable {% data variables.product.prodname_advanced_security %} for repositories, {% data variables.product.prodname_dotcom %} displays an overview of changes to the use of your license. If you disable access to {% data variables.product.prodname_GH_advanced_security %}, any seats used by "unique" committers are freed up. -If you are over your license limit, {% data variables.product.prodname_GH_advanced_security %} continues to work on all repositories where it is already enabled. However, in organizations where {% data variables.product.prodname_GH_advanced_security %} is enabled for new repositories, repositories will be created with the feature disabled. In addition, the option to enable {% data variables.product.prodname_GH_advanced_security %} for existing repositories will not be available.{% if currentVersion == "free-pro-team@latest" %} If you change the visibility of a public repository to private then {% data variables.product.prodname_GH_advanced_security %} will be disabled for that repository.{% endif %} +If you are over your license limit, {% data variables.product.prodname_GH_advanced_security %} continues to work on all repositories where it is already enabled. However, in organizations where {% data variables.product.prodname_GH_advanced_security %} is enabled for new repositories, repositories will be created with the feature disabled. In addition, the option to enable {% data variables.product.prodname_GH_advanced_security %} for existing repositories will not be available.{% ifversion fpt %} If you change the visibility of a public repository to private then {% data variables.product.prodname_GH_advanced_security %} will be disabled for that repository.{% endif %} As soon as you free up some seats, by disabling {% data variables.product.prodname_GH_advanced_security %} for some repositories or by increasing your license size, the options for enabling {% data variables.product.prodname_GH_advanced_security %} will work again as normal. diff --git a/data/reusables/advanced-security/more-info-ghas.md b/data/reusables/advanced-security/more-info-ghas.md index e3602931e4..b563264cbd 100644 --- a/data/reusables/advanced-security/more-info-ghas.md +++ b/data/reusables/advanced-security/more-info-ghas.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} For more information, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)." {% endif %} diff --git a/data/reusables/advanced-security/more-information-about-enforcement-policy.md b/data/reusables/advanced-security/more-information-about-enforcement-policy.md index 42e973aaac..f0446c8a73 100644 --- a/data/reusables/advanced-security/more-information-about-enforcement-policy.md +++ b/data/reusables/advanced-security/more-information-about-enforcement-policy.md @@ -1 +1 @@ -For more information, see "{% if currentVersion == "free-pro-team@latest" %}[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise-account){% elsif currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise){% endif %}." +For more information, see "{% ifversion fpt %}[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise-account){% elsif ghes > 3.0 or ghae-next %}[Enforcing policies for {% data variables.product.prodname_advanced_security %} in your enterprise](/admin/policies/enforcing-policies-for-advanced-security-in-your-enterprise){% endif %}." diff --git a/data/reusables/advanced-security/note-org-enable-uses-seats.md b/data/reusables/advanced-security/note-org-enable-uses-seats.md index 1e549af188..982daa9721 100644 --- a/data/reusables/advanced-security/note-org-enable-uses-seats.md +++ b/data/reusables/advanced-security/note-org-enable-uses-seats.md @@ -1,6 +1,6 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} {% note %} -**Note:** If you enable {% data variables.product.prodname_GH_advanced_security %}, committers to these repositories will use seats on your {% data variables.product.prodname_GH_advanced_security %} license. This option is disabled if you have exceeded your license capacity. {% if currentVersion == "free-pro-team@latest" %}For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security)."{% endif %} +**Note:** If you enable {% data variables.product.prodname_GH_advanced_security %}, committers to these repositories will use seats on your {% data variables.product.prodname_GH_advanced_security %} license. This option is disabled if you have exceeded your license capacity. {% ifversion fpt %}For more information, see "[About licensing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-licensing-for-github-advanced-security/about-licensing-for-github-advanced-security)."{% endif %} {% endnote %} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/apps/deprecating_auth_with_query_parameters.md b/data/reusables/apps/deprecating_auth_with_query_parameters.md index 26ea19355f..e5c06ba6ee 100644 --- a/data/reusables/apps/deprecating_auth_with_query_parameters.md +++ b/data/reusables/apps/deprecating_auth_with_query_parameters.md @@ -1,9 +1,9 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} {% warning %} -**Deprecation Notice:** {% data variables.product.prodname_dotcom %} will discontinue authentication to the API using query parameters. Authenticating to the API should be done with [HTTP basic authentication](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens).{% if currentVersion == "free-pro-team@latest" %} Using query parameters to authenticate to the API will no longer work on May 5, 2021. {% endif %} For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/). +**Deprecation Notice:** {% data variables.product.prodname_dotcom %} will discontinue authentication to the API using query parameters. Authenticating to the API should be done with [HTTP basic authentication](/rest/overview/other-authentication-methods#via-oauth-and-personal-access-tokens).{% ifversion fpt %} Using query parameters to authenticate to the API will no longer work on May 5, 2021. {% endif %} For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/). -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} Authentication to the API using query parameters while available is no longer supported due to security concerns. Instead we recommend integrators move their access token, `client_id`, or `client_secret` in the header. {% data variables.product.prodname_dotcom %} will announce the removal of authentication by query parameters with advanced notice. {% endif %} +{% ifversion ghes or ghae %} Authentication to the API using query parameters while available is no longer supported due to security concerns. Instead we recommend integrators move their access token, `client_id`, or `client_secret` in the header. {% data variables.product.prodname_dotcom %} will announce the removal of authentication by query parameters with advanced notice. {% endif %} {% endwarning %} {% endif %} diff --git a/data/reusables/apps/expiring_user_authorization_tokens.md b/data/reusables/apps/expiring_user_authorization_tokens.md index a51d6a2083..19261b3f3e 100644 --- a/data/reusables/apps/expiring_user_authorization_tokens.md +++ b/data/reusables/apps/expiring_user_authorization_tokens.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} To keep user-to-server access tokens more secure, you can use access tokens that will expire after 8 hours, and a refresh token that can be exchanged for a new access token. For more information, see "[Refreshing user-to-server access tokens](/apps/building-github-apps/refreshing-user-to-server-access-tokens/)." {% endif %} diff --git a/data/reusables/apps/general-apps-restrictions.md b/data/reusables/apps/general-apps-restrictions.md index 3d59f0f6ed..3f941b4c5e 100644 --- a/data/reusables/apps/general-apps-restrictions.md +++ b/data/reusables/apps/general-apps-restrictions.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}If you are using your app with GitHub Actions and want to modify workflow files, you must authenticate on behalf of the user with an OAuth token that includes the `workflow` scope. The user must have admin or write permission to the repository that contains the workflow file. For more information, see "[Understanding scopes for OAuth apps](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)."{% endif %} +{% ifversion fpt %}If you are using your app with GitHub Actions and want to modify workflow files, you must authenticate on behalf of the user with an OAuth token that includes the `workflow` scope. The user must have admin or write permission to the repository that contains the workflow file. For more information, see "[Understanding scopes for OAuth apps](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)."{% endif %} diff --git a/data/reusables/apps/ip-allow-list-only-apps.md b/data/reusables/apps/ip-allow-list-only-apps.md index 3d94764648..9636f4015e 100644 --- a/data/reusables/apps/ip-allow-list-only-apps.md +++ b/data/reusables/apps/ip-allow-list-only-apps.md @@ -2,4 +2,4 @@ **Note:** The addresses in the IP allow list of a {% data variables.product.prodname_github_app %} only affect requests made by installations of the {% data variables.product.prodname_github_app %}. The automatic addition of a {% data variables.product.prodname_github_app %}'s IP address to an organization's allow list does not allow access to a {% data variables.product.product_name %} user who connects from that IP address. -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/apps/maximum-github-apps-allowed.md b/data/reusables/apps/maximum-github-apps-allowed.md index e1b7a44e3c..7496af9de8 100644 --- a/data/reusables/apps/maximum-github-apps-allowed.md +++ b/data/reusables/apps/maximum-github-apps-allowed.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}A user or organization can own up to 100 GitHub Apps.{% endif %} +{% ifversion fpt %}A user or organization can own up to 100 GitHub Apps.{% endif %} diff --git a/data/reusables/apps/maximum-oauth-apps-allowed.md b/data/reusables/apps/maximum-oauth-apps-allowed.md index 9e65b80fe2..c65c0607b2 100644 --- a/data/reusables/apps/maximum-oauth-apps-allowed.md +++ b/data/reusables/apps/maximum-oauth-apps-allowed.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}A user or organization can own up to 100 OAuth apps.{% endif %} +{% ifversion fpt %}A user or organization can own up to 100 OAuth apps.{% endif %} diff --git a/data/reusables/apps/oauth-apps-restrictions.md b/data/reusables/apps/oauth-apps-restrictions.md index fa81dbf36d..cb487f1463 100644 --- a/data/reusables/apps/oauth-apps-restrictions.md +++ b/data/reusables/apps/oauth-apps-restrictions.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}If you are using your OAuth App with GitHub Actions and want to modify workflow files, your OAuth token must have the `workflow` scope and the user must have owner or write permission to the repository that contains the workflow file. For more information, see "[Understanding scopes for OAuth apps](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)."{% endif %} +{% ifversion fpt %}If you are using your OAuth App with GitHub Actions and want to modify workflow files, your OAuth token must have the `workflow` scope and the user must have owner or write permission to the repository that contains the workflow file. For more information, see "[Understanding scopes for OAuth apps](/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)."{% endif %} diff --git a/data/reusables/apps/oauth-token-limit.md b/data/reusables/apps/oauth-token-limit.md index 4e5b86cc6f..c38d2156a6 100644 --- a/data/reusables/apps/oauth-token-limit.md +++ b/data/reusables/apps/oauth-token-limit.md @@ -1 +1 @@ -There is a limit of ten tokens that are issued per user/application/scope combination. If the application requests enough tokens to go over one of the limits, older tokens _with the same scope being requested_ will stop working. \ No newline at end of file +There is a limit of ten tokens that are issued per user/application/scope combination. If the application requests enough tokens to go over one of the limits, older tokens _with the same scope being requested_ will stop working. diff --git a/data/reusables/apps/optional_feature_activation.md b/data/reusables/apps/optional_feature_activation.md index ecee3bcdb4..707067ec11 100644 --- a/data/reusables/apps/optional_feature_activation.md +++ b/data/reusables/apps/optional_feature_activation.md @@ -1,4 +1,4 @@ -4. In the left sidebar, click **{% if currentVersion ver_lt "enterprise-server@3.1" %} Beta {% else %} Optional {% endif %} Features**. - {% if currentVersion ver_lt "enterprise-server@3.1" %} ![Beta features tab](/assets/images/github-apps/beta-features-option.png) {% else %} ![Optional features tab](/assets/images/github-apps/optional-features-option.png) {% endif %} -5. Next to the {% if currentVersion ver_lt "enterprise-server@3.1" %} beta {% else %} optional {% endif %} feature you want to enable for your app, click **Opt-in**. +4. In the left sidebar, click **{% ifversion ghes < 3.1 %} Beta {% else %} Optional {% endif %} Features**. + {% ifversion ghes < 3.1 %} ![Beta features tab](/assets/images/github-apps/beta-features-option.png) {% else %} ![Optional features tab](/assets/images/github-apps/optional-features-option.png) {% endif %} +5. Next to the {% ifversion ghes < 3.1 %} beta {% else %} optional {% endif %} feature you want to enable for your app, click **Opt-in**. ![Opt-in button to enable an optional feature](/assets/images/github-apps/enable-optional-features.png) diff --git a/data/reusables/branches/set-default-branch.md b/data/reusables/branches/set-default-branch.md index 61c5fb0903..af15ed12f2 100644 --- a/data/reusables/branches/set-default-branch.md +++ b/data/reusables/branches/set-default-branch.md @@ -1 +1 @@ -You can set the name of the default branch for new repositories. For more information, see "[Managing the default branch for your repositories](/github/setting-up-and-managing-your-github-user-account/managing-the-default-branch-name-for-your-repositories)," "[Managing the default branch name for repositories in your organization](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization)," and {% if currentVersion == "free-pro-team@latest" %}"[Enforcing repository management policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account#enforcing-a-policy-on-the-default-branch-name)."{% else %}"[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-on-the-default-branch-name)."{% endif %} +You can set the name of the default branch for new repositories. For more information, see "[Managing the default branch for your repositories](/github/setting-up-and-managing-your-github-user-account/managing-the-default-branch-name-for-your-repositories)," "[Managing the default branch name for repositories in your organization](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization)," and {% ifversion fpt %}"[Enforcing repository management policies in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-repository-management-policies-in-your-enterprise-account#enforcing-a-policy-on-the-default-branch-name)."{% else %}"[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-on-the-default-branch-name)."{% endif %} diff --git a/data/reusables/classroom/assignments-guide-prevent-changes.md b/data/reusables/classroom/assignments-guide-prevent-changes.md index 9ef39a18b9..58921fa957 100644 --- a/data/reusables/classroom/assignments-guide-prevent-changes.md +++ b/data/reusables/classroom/assignments-guide-prevent-changes.md @@ -4,4 +4,4 @@ Under "Protected file paths", type relative paths within the repository to prote
Text field for typing protected file paths -
\ No newline at end of file + diff --git a/data/reusables/classroom/assignments-guide-using-autograding.md b/data/reusables/classroom/assignments-guide-using-autograding.md index 5f50beec64..b04befa907 100644 --- a/data/reusables/classroom/assignments-guide-using-autograding.md +++ b/data/reusables/classroom/assignments-guide-using-autograding.md @@ -20,4 +20,4 @@ You can add more tests with the **Add test** drop-down menu, and you can edit or
Pencil and trash icons to edit or delete an autograding test -
\ No newline at end of file + diff --git a/data/reusables/classroom/you-can-choose-a-template-repository.md b/data/reusables/classroom/you-can-choose-a-template-repository.md index 6500f68c84..c87298fca8 100644 --- a/data/reusables/classroom/you-can-choose-a-template-repository.md +++ b/data/reusables/classroom/you-can-choose-a-template-repository.md @@ -4,4 +4,4 @@ You can optionally choose a template repository as starter code for the assignme **Note:** The template repository must belong to your organization or be a public repository on {% data variables.product.product_name %}. -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/cli/cli-manual.md b/data/reusables/cli/cli-manual.md index dd2012d873..2696dbeec7 100644 --- a/data/reusables/cli/cli-manual.md +++ b/data/reusables/cli/cli-manual.md @@ -1 +1 @@ -For more information about {% data variables.product.prodname_cli %}, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/). \ No newline at end of file +For more information about {% data variables.product.prodname_cli %}, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/). diff --git a/data/reusables/cli/cli-repo.md b/data/reusables/cli/cli-repo.md index 535b1d8e8c..32a83418da 100644 --- a/data/reusables/cli/cli-repo.md +++ b/data/reusables/cli/cli-repo.md @@ -1 +1 @@ -{% data variables.product.prodname_cli %} commands must be run within the repository that you want to interact with, so you must first navigate to the directory containing the local copy of your repository. Alternatively, you can specify a repository by passing {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}`-R HOSTNAME/OWNER/REPOSITORY` or `--repo HOSTNAME/OWNER/REPOSITORY`{% else %}`-R OWNER/REPOSITORY` or `--repo OWNER/REPOSITORY`{% endif %}. {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}Replace `HOSTNAME` with the name of {% data variables.product.product_location %}. {% endif %}Replace `OWNER` with owner of the repository. Replace `REPOSITORY` with the name of the repository. +{% data variables.product.prodname_cli %} commands must be run within the repository that you want to interact with, so you must first navigate to the directory containing the local copy of your repository. Alternatively, you can specify a repository by passing {% ifversion ghes or ghae %}`-R HOSTNAME/OWNER/REPOSITORY` or `--repo HOSTNAME/OWNER/REPOSITORY`{% else %}`-R OWNER/REPOSITORY` or `--repo OWNER/REPOSITORY`{% endif %}. {% ifversion ghes or ghae %}Replace `HOSTNAME` with the name of {% data variables.product.product_location %}. {% endif %}Replace `OWNER` with owner of the repository. Replace `REPOSITORY` with the name of the repository. diff --git a/data/reusables/cli/download-update-cli.md b/data/reusables/cli/download-update-cli.md index b26363cf45..fda140a7dd 100644 --- a/data/reusables/cli/download-update-cli.md +++ b/data/reusables/cli/download-update-cli.md @@ -1 +1 @@ -To download or upgrade {% data variables.product.prodname_cli %}, follow the instructions in the [{% data variables.product.prodname_cli %} README](https://github.com/cli/cli#installation). \ No newline at end of file +To download or upgrade {% data variables.product.prodname_cli %}, follow the instructions in the [{% data variables.product.prodname_cli %} README](https://github.com/cli/cli#installation). diff --git a/data/reusables/cli/filter-issues-and-pull-requests-tip.md b/data/reusables/cli/filter-issues-and-pull-requests-tip.md index efa57873ee..cde766c7a7 100644 --- a/data/reusables/cli/filter-issues-and-pull-requests-tip.md +++ b/data/reusables/cli/filter-issues-and-pull-requests-tip.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes or ghae %} {% tip %} **Tip**: You can also filter issues or pull requests using the {% data variables.product.prodname_cli %}. For more information, see "[`gh issue list`](https://cli.github.com/manual/gh_issue_list)" or "[`gh pr list`](https://cli.github.com/manual/gh_pr_list)" in the {% data variables.product.prodname_cli %} documentation. diff --git a/data/reusables/code-scanning/beta-codeql-runner.md b/data/reusables/code-scanning/beta-codeql-runner.md index f83682fcfa..f9aeedaa02 100644 --- a/data/reusables/code-scanning/beta-codeql-runner.md +++ b/data/reusables/code-scanning/beta-codeql-runner.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} diff --git a/data/reusables/code-scanning/beta.md b/data/reusables/code-scanning/beta.md index 9da0119339..372b68650b 100644 --- a/data/reusables/code-scanning/beta.md +++ b/data/reusables/code-scanning/beta.md @@ -1,4 +1,4 @@ -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} {% note %} @@ -6,7 +6,7 @@ {% endnote %} -{% elsif currentVersion == "github-ae@latest" %} +{% elsif ghae %} {% note %} diff --git a/data/reusables/code-scanning/choose-alert-dismissal-reason.md b/data/reusables/code-scanning/choose-alert-dismissal-reason.md index e7abf5ece7..c14ba425ad 100644 --- a/data/reusables/code-scanning/choose-alert-dismissal-reason.md +++ b/data/reusables/code-scanning/choose-alert-dismissal-reason.md @@ -1 +1 @@ -It's important to choose the appropriate reason from the drop-down menu as this may affect whether a query continues to be included in future analysis. \ No newline at end of file +It's important to choose the appropriate reason from the drop-down menu as this may affect whether a query continues to be included in future analysis. diff --git a/data/reusables/code-scanning/click-alert-in-list.md b/data/reusables/code-scanning/click-alert-in-list.md index 50f6e6458e..30566a1e4a 100644 --- a/data/reusables/code-scanning/click-alert-in-list.md +++ b/data/reusables/code-scanning/click-alert-in-list.md @@ -1,5 +1,5 @@ 1. Under "Code scanning," click the alert you'd like to explore. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1"%} +{% ifversion fpt or ghes > 3.1 %} ![List of alerts from {% data variables.product.prodname_code_scanning %}](/assets/images/help/repository/code-scanning-click-alert.png) {% else %} ![List of alerts from {% data variables.product.prodname_code_scanning %}](/assets/images/enterprise/3.1/help/repository/code-scanning-click-alert.png) diff --git a/data/reusables/code-scanning/codeql-runner-analyze-example.md b/data/reusables/code-scanning/codeql-runner-analyze-example.md index 82bb03d955..6e4026562a 100644 --- a/data/reusables/code-scanning/codeql-runner-analyze-example.md +++ b/data/reusables/code-scanning/codeql-runner-analyze-example.md @@ -1,5 +1,5 @@ 1. Populate the {% data variables.product.prodname_codeql %} databases, analyze them, and upload the results to {% data variables.product.product_name %}. The results will appear in the **Security** tab for your repository. -{% if currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes < 3.1 %} ```shell $ /path/to-runner/codeql-runner-linux analyze --repository octo-org/example-repo @@ -24,7 +24,7 @@ ``` {% endif %} 2. To upload {% data variables.product.prodname_code_scanning %} results as pull request checks, specify the pull request using the `--ref` flag. We recommend setting up the {% data variables.product.prodname_codeql_runner %} so that it runs on the [`pull_request`](/developers/webhooks-and-events/webhook-events-and-payloads#pull_request) webhook event. -{% if currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes < 3.1 %} ```shell $ /path/to-runner/codeql-runner-linux analyze --repository octo-org/example-repo @@ -49,7 +49,7 @@ ``` {% endif %} -{% if currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes < 3.1 %} For more information about viewing {% data variables.product.prodname_code_scanning %} alerts, see "[Triaging code scanning alerts in pull requests](/github/finding-security-vulnerabilities-and-errors-in-your-code/triaging-code-scanning-alerts-in-pull-requests)" and "[Managing code scanning alerts for your repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-code-scanning-alerts-for-your-repository)." {% else %} For more information about viewing {% data variables.product.prodname_code_scanning %} alerts, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests)" and "[Managing code scanning alerts for your repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository)." diff --git a/data/reusables/code-scanning/enabling-options.md b/data/reusables/code-scanning/enabling-options.md index 5f098e23b9..9decdd1c80 100644 --- a/data/reusables/code-scanning/enabling-options.md +++ b/data/reusables/code-scanning/enabling-options.md @@ -1,6 +1,6 @@ | Type of analysis | Options for generating alerts | |------------------|-------------------------------| -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} | {% data variables.product.prodname_codeql %} | Using {% data variables.product.prodname_actions %} (see "[Setting up {% data variables.product.prodname_code_scanning %} using actions](/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)") or running {% data variables.product.prodname_codeql %} analysis in a third-party continuous integration (CI) system (see "[About {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)"). {%- else %} | {% data variables.product.prodname_codeql %} | Using {% data variables.product.prodname_actions %} (see "[Setting up {% data variables.product.prodname_code_scanning %} using actions](/github/finding-security-vulnerabilities-and-errors-in-your-code/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)") or using the {% data variables.product.prodname_codeql_runner %} in a third-party continuous integration (CI) system (see "[Running {% data variables.product.prodname_codeql %} code scanning in your CI system](/github/finding-security-vulnerabilities-and-errors-in-your-code/running-codeql-code-scanning-in-your-ci-system)"). diff --git a/data/reusables/code-scanning/enterprise-enable-code-scanning-actions.md b/data/reusables/code-scanning/enterprise-enable-code-scanning-actions.md index 94a6b63b95..ef646d0d47 100644 --- a/data/reusables/code-scanning/enterprise-enable-code-scanning-actions.md +++ b/data/reusables/code-scanning/enterprise-enable-code-scanning-actions.md @@ -1,4 +1,4 @@ -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} {% note %} diff --git a/data/reusables/code-scanning/enterprise-enable-code-scanning.md b/data/reusables/code-scanning/enterprise-enable-code-scanning.md index b099f6ba3b..efdf7c23d3 100644 --- a/data/reusables/code-scanning/enterprise-enable-code-scanning.md +++ b/data/reusables/code-scanning/enterprise-enable-code-scanning.md @@ -1,4 +1,4 @@ -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} {% note %} diff --git a/data/reusables/code-scanning/false-positive-fix-codeql.md b/data/reusables/code-scanning/false-positive-fix-codeql.md index 011f129f12..a0967a6aa8 100644 --- a/data/reusables/code-scanning/false-positive-fix-codeql.md +++ b/data/reusables/code-scanning/false-positive-fix-codeql.md @@ -1 +1 @@ -If you {% if currentVersion == "enterprise-server@2.22" %}close{% else %}dismiss{% endif %} a {% data variables.product.prodname_codeql %} alert as a false positive result, for example because the code uses a sanitization library that isn't supported, consider contributing to the {% data variables.product.prodname_codeql %} repository and improving the analysis. For more information about {% data variables.product.prodname_codeql %}, see "[Contributing to {% data variables.product.prodname_codeql %}](https://github.com/github/codeql/blob/main/CONTRIBUTING.md)." +If you {% ifversion ghes = 2.22 %}close{% else %}dismiss{% endif %} a {% data variables.product.prodname_codeql %} alert as a false positive result, for example because the code uses a sanitization library that isn't supported, consider contributing to the {% data variables.product.prodname_codeql %} repository and improving the analysis. For more information about {% data variables.product.prodname_codeql %}, see "[Contributing to {% data variables.product.prodname_codeql %}](https://github.com/github/codeql/blob/main/CONTRIBUTING.md)." diff --git a/data/reusables/code-scanning/licensing-note.md b/data/reusables/code-scanning/licensing-note.md index b94eed590e..2a73ed3b8a 100644 --- a/data/reusables/code-scanning/licensing-note.md +++ b/data/reusables/code-scanning/licensing-note.md @@ -1,7 +1,7 @@ {% note %} -**Note:** {% if currentVersion == "free-pro-team@latest" %} +**Note:** {% ifversion fpt %} The {% data variables.product.prodname_codeql_cli %} is free to use on public repositories that are maintained on {% data variables.product.prodname_dotcom_the_website %}, and available to use on private repositories that are owned by customers with an {% data variables.product.prodname_advanced_security %} license. For information, see "[{% data variables.product.product_name %} {% data variables.product.prodname_codeql %} Terms and Conditions](https://securitylab.github.com/tools/codeql/license)" and "[{% data variables.product.prodname_codeql %} CLI](https://codeql.github.com/docs/codeql-cli/)." {%- else %}The {% data variables.product.prodname_codeql_cli %} is available to customers with an {% data variables.product.prodname_advanced_security %} license. {% endif %} -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/code-scanning/not-available.md b/data/reusables/code-scanning/not-available.md index 0e4d2ac82f..eca9004f68 100644 --- a/data/reusables/code-scanning/not-available.md +++ b/data/reusables/code-scanning/not-available.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** For private and internal repositories, {% data variables.product.prodname_code_scanning %} is available when {% data variables.product.prodname_GH_advanced_security %} features are enabled for the repository. If you see the error `Advanced Security must be enabled for this repository to use code scanning`, check that {% data variables.product.prodname_GH_advanced_security %} is enabled. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." diff --git a/data/reusables/code-scanning/run-additional-queries.md b/data/reusables/code-scanning/run-additional-queries.md index c6783f7b97..e7644d2dc2 100644 --- a/data/reusables/code-scanning/run-additional-queries.md +++ b/data/reusables/code-scanning/run-additional-queries.md @@ -6,4 +6,4 @@ Queries must only depend on the standard libraries (that is, the libraries refer You can specify a single _.ql_ file, a directory containing multiple _.ql_ files, a _.qls_ query suite definition file, or any combination. For more information about query suite definitions, see "[Creating {% data variables.product.prodname_codeql %} query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/)." -{% if currentVersion == "free-pro-team@latest" %}We don't recommend referencing query suites directly from the `github/codeql` repository, like `github/codeql/cpp/ql/src@main`. Such queries may not be compiled with the same version of {% data variables.product.prodname_codeql %} as used for your other queries, which could lead to errors during analysis.{% endif %} +{% ifversion fpt %}We don't recommend referencing query suites directly from the `github/codeql` repository, like `github/codeql/cpp/ql/src@main`. Such queries may not be compiled with the same version of {% data variables.product.prodname_codeql %} as used for your other queries, which could lead to errors during analysis.{% endif %} diff --git a/data/reusables/code-scanning/upload-sarif-alert-limit.md b/data/reusables/code-scanning/upload-sarif-alert-limit.md index 6881be29fa..23aafdc414 100644 --- a/data/reusables/code-scanning/upload-sarif-alert-limit.md +++ b/data/reusables/code-scanning/upload-sarif-alert-limit.md @@ -1,5 +1,5 @@ {% note %} -**Note:** SARIF upload supports a maximum of {% if currentVersion == "github-ae@next" or currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %}5000{% else %}1000{% endif %} results per upload. Any results over this limit are ignored. If a tool generates too many results, you should update the configuration to focus on results for the most important rules or queries. +**Note:** SARIF upload supports a maximum of {% ifversion ghae-next or fpt or ghes > 3.0 %}5000{% else %}1000{% endif %} results per upload. Any results over this limit are ignored. If a tool generates too many results, you should update the configuration to focus on results for the most important rules or queries. {% endnote %} diff --git a/data/reusables/code-scanning/upload-sarif-ghas.md b/data/reusables/code-scanning/upload-sarif-ghas.md index 52dda51137..b129b0f683 100644 --- a/data/reusables/code-scanning/upload-sarif-ghas.md +++ b/data/reusables/code-scanning/upload-sarif-ghas.md @@ -1,8 +1,8 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.22 or ghae %} {% note %} -**Note:** Uploading SARIF data to display as {% data variables.product.prodname_code_scanning %} results in {% data variables.product.product_name %} is supported for organization-owned repositories with {% data variables.product.prodname_GH_advanced_security %} enabled{% if currentVersion == "free-pro-team@latest" %}, and public repositories on {% data variables.product.prodname_dotcom_the_website %}{% endif %}. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." +**Note:** Uploading SARIF data to display as {% data variables.product.prodname_code_scanning %} results in {% data variables.product.product_name %} is supported for organization-owned repositories with {% data variables.product.prodname_GH_advanced_security %} enabled{% ifversion fpt %}, and public repositories on {% data variables.product.prodname_dotcom_the_website %}{% endif %}. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)." {% endnote %} diff --git a/data/reusables/code-scanning/use-codeql-runner-not-cli.md b/data/reusables/code-scanning/use-codeql-runner-not-cli.md index 2868fc706c..d8ea95d68b 100644 --- a/data/reusables/code-scanning/use-codeql-runner-not-cli.md +++ b/data/reusables/code-scanning/use-codeql-runner-not-cli.md @@ -1,8 +1,8 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.1 or ghae-next %} If the {% data variables.product.prodname_codeql_cli %} is unsuitable for use in your CI system, the {% data variables.product.prodname_codeql_runner %} is available as an alternative. Typically, this is needed if the CI system would need to orchestrate compiler invocations as well as running {% data variables.product.prodname_codeql %} analysis. For more information, see "[Running {% data variables.product.prodname_codeql_runner %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/running-codeql-runner-in-your-ci-system)." {% endif %} -{% if currentVersion == "enterprise-server@3.1" %} +{% ifversion ghes = 3.1 %} You will need to use the {% data variables.product.prodname_codeql_runner %} if you need to: - Set up the CI system to orchestrate compiler invocations as well as running {% data variables.product.prodname_codeql %} analysis. - Analyze more than one language in a repository. diff --git a/data/reusables/code-scanning/what-is-codeql-cli.md b/data/reusables/code-scanning/what-is-codeql-cli.md index 5c772293bc..d477b556de 100644 --- a/data/reusables/code-scanning/what-is-codeql-cli.md +++ b/data/reusables/code-scanning/what-is-codeql-cli.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} The {% data variables.product.prodname_codeql_cli %} is a standalone product that you can use to analyze code. Its main purpose is to generate a database representation of a codebase, a {% data variables.product.prodname_codeql %} database. Once the database is ready, you can query it interactively, or run a suite of queries to generate a set of results in SARIF format and upload the results to {% data variables.product.product_location %}. {% endif %} diff --git a/data/reusables/codespaces/about-port-forwarding.md b/data/reusables/codespaces/about-port-forwarding.md index 39b29dc4a0..b574e292ca 100644 --- a/data/reusables/codespaces/about-port-forwarding.md +++ b/data/reusables/codespaces/about-port-forwarding.md @@ -1 +1 @@ -You can forward ports in your codespace to test and debug your application. \ No newline at end of file +You can forward ports in your codespace to test and debug your application. diff --git a/data/reusables/codespaces/apply-devcontainer-changes.md b/data/reusables/codespaces/apply-devcontainer-changes.md index 8031bfb4af..7d022c0d0c 100644 --- a/data/reusables/codespaces/apply-devcontainer-changes.md +++ b/data/reusables/codespaces/apply-devcontainer-changes.md @@ -1 +1 @@ -After the {% data variables.product.prodname_codespaces %} configuration for a repository changes, you can apply the changes to an existing codespace by rebuilding the container for the codespace. \ No newline at end of file +After the {% data variables.product.prodname_codespaces %} configuration for a repository changes, you can apply the changes to an existing codespace by rebuilding the container for the codespace. diff --git a/data/reusables/codespaces/click-remote-explorer-icon-vscode.md b/data/reusables/codespaces/click-remote-explorer-icon-vscode.md index 95b6a319d3..874a9f57b0 100644 --- a/data/reusables/codespaces/click-remote-explorer-icon-vscode.md +++ b/data/reusables/codespaces/click-remote-explorer-icon-vscode.md @@ -1,2 +1,2 @@ 1. In {% data variables.product.prodname_vscode %}, in the left sidebar, click the Remote Explorer icon. - ![The Remote Explorer icon in {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) \ No newline at end of file + ![The Remote Explorer icon in {% data variables.product.prodname_vscode %}](/assets/images/help/codespaces/click-remote-explorer-icon-vscode.png) diff --git a/data/reusables/codespaces/committing-link-to-procedure.md b/data/reusables/codespaces/committing-link-to-procedure.md index 87bfa539ff..0bf78b2fe5 100644 --- a/data/reusables/codespaces/committing-link-to-procedure.md +++ b/data/reusables/codespaces/committing-link-to-procedure.md @@ -1,3 +1,3 @@ Once you've made changes to your codespace, either new code or configuration changes, you'll want to commit your changes. Committing changes to your repository ensures that anyone else who creates a codespace from this repository has the same configuration. This also means that any customization you do, such as adding {% data variables.product.prodname_vscode %} extensions, will appear for all users. -For information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes)." \ No newline at end of file +For information, see "[Using source control in your codespace](/codespaces/developing-in-codespaces/using-source-control-in-your-codespace#committing-your-changes)." diff --git a/data/reusables/codespaces/recovery-mode.md b/data/reusables/codespaces/recovery-mode.md index fa4e73d013..6a6b5a07b0 100644 --- a/data/reusables/codespaces/recovery-mode.md +++ b/data/reusables/codespaces/recovery-mode.md @@ -1 +1 @@ -If changes to your codespace's configuration cause a container error, your codespace will run in recovery mode, and you will see an error message. \ No newline at end of file +If changes to your codespace's configuration cause a container error, your codespace will run in recovery mode, and you will see an error message. diff --git a/data/reusables/codespaces/secret-precedence.md b/data/reusables/codespaces/secret-precedence.md index 582b91c1aa..baf96bd142 100644 --- a/data/reusables/codespaces/secret-precedence.md +++ b/data/reusables/codespaces/secret-precedence.md @@ -1 +1 @@ -If a secret with the same name exists at multiple levels, the secret at the lower level takes precedence. For example, if an organization-level secret has the same name as a repository-level secret, then the repository-level secret takes precedence. \ No newline at end of file +If a secret with the same name exists at multiple levels, the secret at the lower level takes precedence. For example, if an organization-level secret has the same name as a repository-level secret, then the repository-level secret takes precedence. diff --git a/data/reusables/codespaces/secrets-naming.md b/data/reusables/codespaces/secrets-naming.md index eddb8aa7f5..fbce299699 100644 --- a/data/reusables/codespaces/secrets-naming.md +++ b/data/reusables/codespaces/secrets-naming.md @@ -4,4 +4,4 @@ The following rules apply to secret names: * Secret names must not start with the `GITHUB_` prefix. * Secret names must not start with a number. * Secret names are not case-sensitive. -* Secret names must be unique at the level they are created at. \ No newline at end of file +* Secret names must be unique at the level they are created at. diff --git a/data/reusables/codespaces/secrets-on-start.md b/data/reusables/codespaces/secrets-on-start.md index b5a506e77a..661a19c138 100644 --- a/data/reusables/codespaces/secrets-on-start.md +++ b/data/reusables/codespaces/secrets-on-start.md @@ -1 +1 @@ -Once you have created a secret, it will be available when you create a new codespace or restart the codespace. To use a secret that you've just created in a current codespace, you will need to stop the codespace and resume it. For information about stopping the codespace, see "[Using the Command Palette in {% data variables.product.prodname_codespaces %}](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#suspending-or-stopping-a-codespace)." \ No newline at end of file +Once you have created a secret, it will be available when you create a new codespace or restart the codespace. To use a secret that you've just created in a current codespace, you will need to stop the codespace and resume it. For information about stopping the codespace, see "[Using the Command Palette in {% data variables.product.prodname_codespaces %}](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#suspending-or-stopping-a-codespace)." diff --git a/data/reusables/codespaces/source-control-display-dark.md b/data/reusables/codespaces/source-control-display-dark.md index 33b708a1ca..798ab0fd72 100644 --- a/data/reusables/codespaces/source-control-display-dark.md +++ b/data/reusables/codespaces/source-control-display-dark.md @@ -1,2 +1,2 @@ 1. In the Activity Bar, click the **Source Control** view. -![Source control view](/assets/images/help/codespaces/source-control-activity-bar-button.png) \ No newline at end of file +![Source control view](/assets/images/help/codespaces/source-control-activity-bar-button.png) diff --git a/data/reusables/codespaces/source-control-display.md b/data/reusables/codespaces/source-control-display.md index 09917cd3c8..d86b1bbabb 100644 --- a/data/reusables/codespaces/source-control-display.md +++ b/data/reusables/codespaces/source-control-display.md @@ -1,3 +1,3 @@ 1. In the Activity Bar, click the **Source Control** view. - ![Source control view](/assets/images/help/codespaces/codespaces-commit-activity.png) \ No newline at end of file + ![Source control view](/assets/images/help/codespaces/codespaces-commit-activity.png) diff --git a/data/reusables/codespaces/type-port-label.md b/data/reusables/codespaces/type-port-label.md index 9d22b45e92..4479b59e52 100644 --- a/data/reusables/codespaces/type-port-label.md +++ b/data/reusables/codespaces/type-port-label.md @@ -1,2 +1,2 @@ 1. Type a label for your port, then press enter. - ![Text box to type label for port](/assets/images/help/codespaces/label-text-box.png) \ No newline at end of file + ![Text box to type label for port](/assets/images/help/codespaces/label-text-box.png) diff --git a/data/reusables/codespaces/your-codespaces-procedure-step.md b/data/reusables/codespaces/your-codespaces-procedure-step.md index a5e98437c0..98849a7779 100644 --- a/data/reusables/codespaces/your-codespaces-procedure-step.md +++ b/data/reusables/codespaces/your-codespaces-procedure-step.md @@ -1,3 +1,3 @@ 1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your codespaces**. - !['Your codespaces' menu option](/assets/images/help/codespaces/your-codespaces-option.png) \ No newline at end of file + !['Your codespaces' menu option](/assets/images/help/codespaces/your-codespaces-option.png) diff --git a/data/reusables/command_line/provide-an-access-token.md b/data/reusables/command_line/provide-an-access-token.md index 0675c5ffaa..57e4ce945b 100644 --- a/data/reusables/command_line/provide-an-access-token.md +++ b/data/reusables/command_line/provide-an-access-token.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}If you are accessing an organization that uses SAML SSO, you must also authorize your personal access token to access the organization before you authenticate. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" and "[Authorizing a personal access token for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)."{% endif %} +{% ifversion fpt %}If you are accessing an organization that uses SAML SSO, you must also authorize your personal access token to access the organization before you authenticate. For more information, see "[About authentication with SAML single sign-on](/github/authenticating-to-github/about-authentication-with-saml-single-sign-on)" and "[Authorizing a personal access token for use with SAML single sign-on](/github/authenticating-to-github/authorizing-a-personal-access-token-for-use-with-saml-single-sign-on)."{% endif %} diff --git a/data/reusables/community/interaction-limits-duration.md b/data/reusables/community/interaction-limits-duration.md index fb858accd8..1d3cd5b791 100644 --- a/data/reusables/community/interaction-limits-duration.md +++ b/data/reusables/community/interaction-limits-duration.md @@ -1 +1 @@ -When you enable an interaction limit, you can choose a duration for the limit: 24 hours, 3 days, 1 week, 1 month, or 6 months. \ No newline at end of file +When you enable an interaction limit, you can choose a duration for the limit: 24 hours, 3 days, 1 week, 1 month, or 6 months. diff --git a/data/reusables/community/interaction-limits-restrictions.md b/data/reusables/community/interaction-limits-restrictions.md index 1be2648d16..3ea065f191 100644 --- a/data/reusables/community/interaction-limits-restrictions.md +++ b/data/reusables/community/interaction-limits-restrictions.md @@ -1 +1 @@ -Enabling an interaction limit for a repository restricts certain users from commenting, opening issues, creating pull requests, reacting with emojis, editing existing comments, and editing titles of issues and pull requests. \ No newline at end of file +Enabling an interaction limit for a repository restricts certain users from commenting, opening issues, creating pull requests, reacting with emojis, editing existing comments, and editing titles of issues and pull requests. diff --git a/data/reusables/community/issue-forms-beta.md b/data/reusables/community/issue-forms-beta.md index afccdff8d2..8582253f26 100644 --- a/data/reusables/community/issue-forms-beta.md +++ b/data/reusables/community/issue-forms-beta.md @@ -2,4 +2,4 @@ **Note:** Issue forms are currently in beta and subject to change. -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/community/issue-forms-sample.md b/data/reusables/community/issue-forms-sample.md index 0fff9df883..61c52e2cec 100644 --- a/data/reusables/community/issue-forms-sample.md +++ b/data/reusables/community/issue-forms-sample.md @@ -61,4 +61,4 @@ body: options: - label: I agree to follow this project's Code of Conduct required: true -``` \ No newline at end of file +``` diff --git a/data/reusables/community/set-interaction-limit.md b/data/reusables/community/set-interaction-limit.md index 468a068f70..0d3d3f9eec 100644 --- a/data/reusables/community/set-interaction-limit.md +++ b/data/reusables/community/set-interaction-limit.md @@ -1 +1 @@ -5. Under "Temporary interaction limits", to the right of the type of interaction limit you want to set, use the **Enable** drop-down menu, then click the duration you want for your interaction limit. \ No newline at end of file +5. Under "Temporary interaction limits", to the right of the type of interaction limit you want to set, use the **Enable** drop-down menu, then click the duration you want for your interaction limit. diff --git a/data/reusables/community/types-of-interaction-limits.md b/data/reusables/community/types-of-interaction-limits.md index 67967a2fa2..bca898f27f 100644 --- a/data/reusables/community/types-of-interaction-limits.md +++ b/data/reusables/community/types-of-interaction-limits.md @@ -1,4 +1,4 @@ There are three types of interaction limits. - **Limit to existing users**: Limits activity for users with accounts that are less than 24 hours old who do not have prior contributions and are not collaborators. - **Limit to prior contributors**: Limits activity for users who have not previously contributed to the default branch of the repository and are not collaborators. - - **Limit to repository collaborators**: Limits activity for users who do not have write access to the repository. \ No newline at end of file + - **Limit to repository collaborators**: Limits activity for users who do not have write access to the repository. diff --git a/data/reusables/dependabot/dependabot-secrets-button.md b/data/reusables/dependabot/dependabot-secrets-button.md index 1e46dd9f8a..9d749bc01e 100644 --- a/data/reusables/dependabot/dependabot-secrets-button.md +++ b/data/reusables/dependabot/dependabot-secrets-button.md @@ -1,2 +1,2 @@ 1. In the sidebar, click **{% data variables.product.prodname_dependabot %}**. - ![{% data variables.product.prodname_dependabot %} secrets sidebar option](/assets/images/help/dependabot/dependabot-secrets.png) \ No newline at end of file + ![{% data variables.product.prodname_dependabot %} secrets sidebar option](/assets/images/help/dependabot/dependabot-secrets.png) diff --git a/data/reusables/dependabot/pull-request-introduction.md b/data/reusables/dependabot/pull-request-introduction.md index 86b8dd0cf3..088ba36d3c 100644 --- a/data/reusables/dependabot/pull-request-introduction.md +++ b/data/reusables/dependabot/pull-request-introduction.md @@ -1 +1 @@ -{% data variables.product.prodname_dependabot %} raises pull requests to update dependencies. Depending on how your repository is configured, {% data variables.product.prodname_dependabot %} may raise pull requests for version updates and/or for security updates. You manage these pull requests in the same way as any other pull request, but there are also some extra commands available. For information about enabling {% data variables.product.prodname_dependabot %} dependency updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)" and "[Enabling and disabling version updates](/github/administering-a-repository/enabling-and-disabling-version-updates)." \ No newline at end of file +{% data variables.product.prodname_dependabot %} raises pull requests to update dependencies. Depending on how your repository is configured, {% data variables.product.prodname_dependabot %} may raise pull requests for version updates and/or for security updates. You manage these pull requests in the same way as any other pull request, but there are also some extra commands available. For information about enabling {% data variables.product.prodname_dependabot %} dependency updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)" and "[Enabling and disabling version updates](/github/administering-a-repository/enabling-and-disabling-version-updates)." diff --git a/data/reusables/desktop/click-changed-files-header.md b/data/reusables/desktop/click-changed-files-header.md index ddd2e675db..b398bcebdd 100644 --- a/data/reusables/desktop/click-changed-files-header.md +++ b/data/reusables/desktop/click-changed-files-header.md @@ -10,4 +10,4 @@ ![The changed files header](/assets/images/help/desktop/windows-changed-file-header.png) - {% endwindows %} \ No newline at end of file + {% endwindows %} diff --git a/data/reusables/desktop/click-clone.md b/data/reusables/desktop/click-clone.md index d291246ebf..0614075eba 100644 --- a/data/reusables/desktop/click-clone.md +++ b/data/reusables/desktop/click-clone.md @@ -11,4 +11,4 @@ ![The clone button](/assets/images/help/desktop/clone-button-win.png) {% endwindows %} - \ No newline at end of file + diff --git a/data/reusables/desktop/click-stash-all-changes.md b/data/reusables/desktop/click-stash-all-changes.md index deab24f201..4be53e7b8d 100644 --- a/data/reusables/desktop/click-stash-all-changes.md +++ b/data/reusables/desktop/click-stash-all-changes.md @@ -10,4 +10,4 @@ ![The Stash all changes menu item](/assets/images/help/desktop/windows-stash-all-changes.png) - {% endwindows %} \ No newline at end of file + {% endwindows %} diff --git a/data/reusables/desktop/click-stashed-changes.md b/data/reusables/desktop/click-stashed-changes.md index b2c82378c4..ed70c070d1 100644 --- a/data/reusables/desktop/click-stashed-changes.md +++ b/data/reusables/desktop/click-stashed-changes.md @@ -1,2 +1,2 @@ 1. In the left sidebar, click **Stashed Changes**. - ![Stashed changes option](/assets/images/help/desktop/stashed-changes.png) \ No newline at end of file + ![Stashed changes option](/assets/images/help/desktop/stashed-changes.png) diff --git a/data/reusables/desktop/cloning-repository-list.md b/data/reusables/desktop/cloning-repository-list.md index 925f336eca..42a9c5a993 100644 --- a/data/reusables/desktop/cloning-repository-list.md +++ b/data/reusables/desktop/cloning-repository-list.md @@ -11,4 +11,4 @@ ![Clone a repository list](/assets/images/help/desktop/clone-a-repository-list-win.png) - {% endwindows %} \ No newline at end of file + {% endwindows %} diff --git a/data/reusables/desktop/delete-tag.md b/data/reusables/desktop/delete-tag.md index 1bdc2b2653..a697b4a6e6 100644 --- a/data/reusables/desktop/delete-tag.md +++ b/data/reusables/desktop/delete-tag.md @@ -3,4 +3,4 @@ - If a commit has only one tag, click **Delete Tag TAG NAME**. ![Select the delete tag menu item](/assets/images/help/desktop/select-delete-tag.png) - If a commit has multiple tags, hover over **Delete Tag...** and then click the tag that you want to delete. - ![Hover over the delete tag menu](/assets/images/help/desktop/delete-tag-multiple.png) \ No newline at end of file + ![Hover over the delete tag menu](/assets/images/help/desktop/delete-tag-multiple.png) diff --git a/data/reusables/desktop/fork-type-prompt.md b/data/reusables/desktop/fork-type-prompt.md index 1067dab748..7ec027e978 100644 --- a/data/reusables/desktop/fork-type-prompt.md +++ b/data/reusables/desktop/fork-type-prompt.md @@ -39,4 +39,4 @@ ![The continue button](/assets/images/help/desktop/windows-forking-continue.png) {% endwindows %} - \ No newline at end of file + diff --git a/data/reusables/desktop/navigate-to-stashed-changes.md b/data/reusables/desktop/navigate-to-stashed-changes.md index 9980422ed5..bce91c2386 100644 --- a/data/reusables/desktop/navigate-to-stashed-changes.md +++ b/data/reusables/desktop/navigate-to-stashed-changes.md @@ -1,2 +1,2 @@ 1. If you are not already on the branch where the changes are stashed, click {% octicon "git-branch" aria-label="The branch icon" %} **Current Branch**, then click the branch with stashed changes. - ![List of branches in the repository](/assets/images/help/desktop/click-branch-in-drop-down-mac.png) \ No newline at end of file + ![List of branches in the repository](/assets/images/help/desktop/click-branch-in-drop-down-mac.png) diff --git a/data/reusables/desktop/open-repository-settings.md b/data/reusables/desktop/open-repository-settings.md index 5e298edc85..a4a5e58960 100644 --- a/data/reusables/desktop/open-repository-settings.md +++ b/data/reusables/desktop/open-repository-settings.md @@ -11,4 +11,4 @@ ![Repository settings menu option in the Windows app](/assets/images/help/desktop/windows-repository-settings.png) {% endwindows %} - \ No newline at end of file + diff --git a/data/reusables/desktop/select-fork-behavior.md b/data/reusables/desktop/select-fork-behavior.md index 05785064e3..51cfecc74c 100644 --- a/data/reusables/desktop/select-fork-behavior.md +++ b/data/reusables/desktop/select-fork-behavior.md @@ -25,4 +25,4 @@ ![The save button in the Fork Behavior menu](/assets/images/help/desktop/windows-fork-behavior-save.png) {% endwindows %} - \ No newline at end of file + diff --git a/data/reusables/developer-site/pull_request_forked_repos_link.md b/data/reusables/developer-site/pull_request_forked_repos_link.md index 02f3e532ce..985f5e30ac 100644 --- a/data/reusables/developer-site/pull_request_forked_repos_link.md +++ b/data/reusables/developer-site/pull_request_forked_repos_link.md @@ -10,7 +10,7 @@ When you create a pull request from a forked repository to the base repository, Workflows don't run on forked repositories by default. You must enable GitHub Actions in the **Actions** tab of the forked repository. -{% if currentVersion == "free-pro-team@latest"%} +{% ifversion fpt %} When a first-time contributor submits a pull request to a public repository, a maintainer with write access must approve running workflows on the pull request. For more information, see "[Approving workflow runs from public forks](/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." {% endif %} diff --git a/data/reusables/discussions/you-can-label-discussions.md b/data/reusables/discussions/you-can-label-discussions.md index 961d4bd56c..e50759556c 100644 --- a/data/reusables/discussions/you-can-label-discussions.md +++ b/data/reusables/discussions/you-can-label-discussions.md @@ -1 +1 @@ -To organize discussions more granularly, you can apply labels. For example, you can use labels to indicate the status of a discussion to make triaging more efficient. Each repository has one shared set of labels for issues, pull requests, and discussions. For more information, see "[Managing labels](/github/managing-your-work-on-github/managing-labels)." \ No newline at end of file +To organize discussions more granularly, you can apply labels. For example, you can use labels to indicate the status of a discussion to make triaging more efficient. Each repository has one shared set of labels for issues, pull requests, and discussions. For more information, see "[Managing labels](/github/managing-your-work-on-github/managing-labels)." diff --git a/data/reusables/discussions/you-can-use-discussions.md b/data/reusables/discussions/you-can-use-discussions.md index 27c1ba7cb2..32fc3d682c 100644 --- a/data/reusables/discussions/you-can-use-discussions.md +++ b/data/reusables/discussions/you-can-use-discussions.md @@ -1 +1 @@ -You can use discussions to ask and answer questions, share information, make announcements, and conduct or participate in conversations about a project. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." \ No newline at end of file +You can use discussions to ask and answer questions, share information, make announcements, and conduct or participate in conversations about a project. For more information, see "[About discussions](/discussions/collaborating-with-your-community-using-discussions/about-discussions)." diff --git a/data/reusables/discussions/you-cannot-convert-a-discussion.md b/data/reusables/discussions/you-cannot-convert-a-discussion.md index 9e9b687b67..1ad3c3d759 100644 --- a/data/reusables/discussions/you-cannot-convert-a-discussion.md +++ b/data/reusables/discussions/you-cannot-convert-a-discussion.md @@ -1 +1 @@ -You cannot convert a discussion to an issue. \ No newline at end of file +You cannot convert a discussion to an issue. diff --git a/data/reusables/dotcom_billing/choose_org_plan.md b/data/reusables/dotcom_billing/choose_org_plan.md index 3795b2bddd..30fe7b473f 100644 --- a/data/reusables/dotcom_billing/choose_org_plan.md +++ b/data/reusables/dotcom_billing/choose_org_plan.md @@ -1,2 +1,2 @@ 1. Under "Compare plans", you can compare the features of each plan. Depending on your current plan and what plan you have chosen, click either **Upgrade to Team** or **Upgrade to Enterprise**. -![Compare plans and upgrade](/assets/images/help/billing/settings-compare-and-upgrade-plans.png) \ No newline at end of file +![Compare plans and upgrade](/assets/images/help/billing/settings-compare-and-upgrade-plans.png) diff --git a/data/reusables/enterprise-accounts/access-enterprise.md b/data/reusables/enterprise-accounts/access-enterprise.md index a84682fa0f..711d75e910 100644 --- a/data/reusables/enterprise-accounts/access-enterprise.md +++ b/data/reusables/enterprise-accounts/access-enterprise.md @@ -1,12 +1,12 @@ -{% if currentVersion == "free-pro-team@latest" %}1. In the top-right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your enterprises**. +{% ifversion fpt %}1. In the top-right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your enterprises**. !["Your enterprises" in drop-down menu for profile photo on {% data variables.product.product_name %}](/assets/images/help/enterprises/your-enterprises.png) 1. In the list of enterprises, click the enterprise you want to view. ![Name of an enterprise in list of your enterprises](/assets/images/help/enterprises/your-enterprises-list.png) -{% elsif currentVersion ver_lt "enterprise-server@2.22" %}1. Navigate to your enterprise account by visiting {% raw %}https://HOSTNAME/enterprises/ENTERPRISE-NAME{% endraw %}, replacing `HOSTNAME` with your instance's hostname and `ENTERPRISE-NAME` with your enterprise account's name. +{% elsif ghes < 2.22 %}1. Navigate to your enterprise account by visiting {% raw %}https://HOSTNAME/enterprises/ENTERPRISE-NAME{% endraw %}, replacing `HOSTNAME` with your instance's hostname and `ENTERPRISE-NAME` with your enterprise account's name. -{% elsif enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}1. In the top-right corner of {% data variables.product.product_name %}, click your profile photo, then click **Enterprise settings**. +{% elsif ghes or ghae %}1. In the top-right corner of {% data variables.product.product_name %}, click your profile photo, then click **Enterprise settings**. !["Enterprise settings" in drop-down menu for profile photo on {% data variables.product.product_name %}](/assets/images/enterprise/settings/enterprise-settings.png) {% endif %} diff --git a/data/reusables/enterprise-accounts/actions-runners-tab.md b/data/reusables/enterprise-accounts/actions-runners-tab.md index d174e7ab96..19b2de94c1 100644 --- a/data/reusables/enterprise-accounts/actions-runners-tab.md +++ b/data/reusables/enterprise-accounts/actions-runners-tab.md @@ -1 +1 @@ -1. Click the {% if currentVersion == "free-pro-team@latest" %}**Runners**{% else %}**Self-hosted runners**{% endif %} tab. +1. Click the {% ifversion fpt %}**Runners**{% else %}**Self-hosted runners**{% endif %} tab. diff --git a/data/reusables/enterprise-accounts/approved-domains-beta-note.md b/data/reusables/enterprise-accounts/approved-domains-beta-note.md index 6b7ba3162e..7bf0aceb5f 100644 --- a/data/reusables/enterprise-accounts/approved-domains-beta-note.md +++ b/data/reusables/enterprise-accounts/approved-domains-beta-note.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghes > 3.1 %} {% note %} diff --git a/data/reusables/enterprise-accounts/billing-microsoft-ea-overview.md b/data/reusables/enterprise-accounts/billing-microsoft-ea-overview.md index 63fa9473e7..cccbf3efa8 100644 --- a/data/reusables/enterprise-accounts/billing-microsoft-ea-overview.md +++ b/data/reusables/enterprise-accounts/billing-microsoft-ea-overview.md @@ -1 +1 @@ -If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for {% data variables.product.prodname_actions %} and {% data variables.product.prodname_registry %} usage beyond the amounts including with your account. \ No newline at end of file +If you purchased {% data variables.product.prodname_enterprise %} through a Microsoft Enterprise Agreement, you can connect your Azure Subscription ID to your enterprise account to enable and pay for {% data variables.product.prodname_actions %} and {% data variables.product.prodname_registry %} usage beyond the amounts including with your account. diff --git a/data/reusables/enterprise-accounts/enterprise-administrators.md b/data/reusables/enterprise-accounts/enterprise-administrators.md index b4d889bf00..e15d603622 100644 --- a/data/reusables/enterprise-accounts/enterprise-administrators.md +++ b/data/reusables/enterprise-accounts/enterprise-administrators.md @@ -1 +1 @@ -{% if enterpriseServerVersions contains currentVersion or currentVersion == "free-pro-team@latest" %}Currently, there are two administrative roles available in enterprises: enterprise owners, who can access and manage all settings across the enterprise, and billing managers, who can access and manage only the enterprise's billing settings. {% endif %}Enterprise owners can {% if enterpriseServerVersions contains currentVersion or currentVersion == "free-pro-team@latest" %}also {% endif %} see all of the members and outside collaborators for every organization owned by the enterprise. +{% ifversion ghes or fpt %}Currently, there are two administrative roles available in enterprises: enterprise owners, who can access and manage all settings across the enterprise, and billing managers, who can access and manage only the enterprise's billing settings. {% endif %}Enterprise owners can {% ifversion ghes or fpt %}also {% endif %} see all of the members and outside collaborators for every organization owned by the enterprise. diff --git a/data/reusables/enterprise-accounts/license-tab.md b/data/reusables/enterprise-accounts/license-tab.md index d565258140..19a6082621 100644 --- a/data/reusables/enterprise-accounts/license-tab.md +++ b/data/reusables/enterprise-accounts/license-tab.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. In the left sidebar, click **Enterprise licensing**. !["Enterprise licensing" tab in the enterprise account settings sidebar](/assets/images/help/enterprises/enterprise-licensing-tab.png) diff --git a/data/reusables/enterprise-accounts/options-tab.md b/data/reusables/enterprise-accounts/options-tab.md index 572d7f72ad..bbc81f044c 100644 --- a/data/reusables/enterprise-accounts/options-tab.md +++ b/data/reusables/enterprise-accounts/options-tab.md @@ -1,2 +1,2 @@ -1. Under {% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} {% octicon "law" aria-label="The law icon" %} **Policies**{% else %}"{% octicon "gear" aria-label="The Settings gear" %} Settings"{% endif %}, click **Options**. +1. Under {% ifversion ghes > 2.21 or ghae %} {% octicon "law" aria-label="The law icon" %} **Policies**{% else %}"{% octicon "gear" aria-label="The Settings gear" %} Settings"{% endif %}, click **Options**. ![Options tab in the enterprise account settings sidebar](/assets/images/enterprise/business-accounts/settings-options-tab.png) diff --git a/data/reusables/enterprise-accounts/pages-tab.md b/data/reusables/enterprise-accounts/pages-tab.md index cbefd2fecc..789de67eff 100644 --- a/data/reusables/enterprise-accounts/pages-tab.md +++ b/data/reusables/enterprise-accounts/pages-tab.md @@ -1,2 +1,2 @@ 1. Under "{% octicon "law" aria-label="The law icon" %} Policies", click **Pages**. - ![Pages tab in the enterprise sidebar](/assets/images/enterprise/business-accounts/pages-tab.png) \ No newline at end of file + ![Pages tab in the enterprise sidebar](/assets/images/enterprise/business-accounts/pages-tab.png) diff --git a/data/reusables/enterprise-accounts/security-tab.md b/data/reusables/enterprise-accounts/security-tab.md index 404c95ce34..021adcca4a 100644 --- a/data/reusables/enterprise-accounts/security-tab.md +++ b/data/reusables/enterprise-accounts/security-tab.md @@ -1,2 +1,2 @@ 1. In the left sidebar, click **Security**. - {% if currentVersion == "github-ae@latest" %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-security-tab.png){% endif %} + {% ifversion ghae %}![Security tab in the enterprise account settings sidebar](/assets/images/enterprise/github-ae/enterprise-account-settings-security-tab.png){% else %}![Security tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/enterprise-account-settings-security-tab.png){% endif %} diff --git a/data/reusables/enterprise-accounts/support-entitlements.md b/data/reusables/enterprise-accounts/support-entitlements.md index 2f5f85a79f..592f8d62e3 100644 --- a/data/reusables/enterprise-accounts/support-entitlements.md +++ b/data/reusables/enterprise-accounts/support-entitlements.md @@ -1 +1 @@ -To open, view, and comment on support tickets associated with an enterprise account, you must have support entitlements for the account. Enterprise owners and billing managers automatically have a support entitlement, and enterprise owners can add support entitlements to enterprise members. For more information, see "[Managing support entitlements for your enterprise](/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." \ No newline at end of file +To open, view, and comment on support tickets associated with an enterprise account, you must have support entitlements for the account. Enterprise owners and billing managers automatically have a support entitlement, and enterprise owners can add support entitlements to enterprise members. For more information, see "[Managing support entitlements for your enterprise](/github/setting-up-and-managing-your-enterprise/managing-users-in-your-enterprise/managing-support-entitlements-for-your-enterprise)." diff --git a/data/reusables/enterprise-accounts/verified-domains-tab.md b/data/reusables/enterprise-accounts/verified-domains-tab.md index 276a1be3a8..1684bb299e 100644 --- a/data/reusables/enterprise-accounts/verified-domains-tab.md +++ b/data/reusables/enterprise-accounts/verified-domains-tab.md @@ -1,2 +1,2 @@ 1. Under "Settings", click **Verified & approved domains**. - !["Verified & approved domains" tab](/assets/images/help/enterprises/verified-domains-tab.png) \ No newline at end of file + !["Verified & approved domains" tab](/assets/images/help/enterprises/verified-domains-tab.png) diff --git a/data/reusables/enterprise-managed/about-billing.md b/data/reusables/enterprise-managed/about-billing.md index 9e7ed843b2..2b7559529d 100644 --- a/data/reusables/enterprise-managed/about-billing.md +++ b/data/reusables/enterprise-managed/about-billing.md @@ -1 +1 @@ -You will receive a monthly bill for {% data variables.product.prodname_ghe_managed %}, with charges that are calculated per licensed user per day. \ No newline at end of file +You will receive a monthly bill for {% data variables.product.prodname_ghe_managed %}, with charges that are calculated per licensed user per day. diff --git a/data/reusables/enterprise/rate_limit.md b/data/reusables/enterprise/rate_limit.md index 22b12abd04..74a3372af2 100644 --- a/data/reusables/enterprise/rate_limit.md +++ b/data/reusables/enterprise/rate_limit.md @@ -1,3 +1,3 @@ -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} Note that the limits mentioned above are the default rate limits for {% data variables.product.product_name %}. Contact your site administrator to confirm if rate limits are enabled and how they are configured. {% endif %} diff --git a/data/reusables/enterprise_enterprise_support/submit-support-ticket-first-section.md b/data/reusables/enterprise_enterprise_support/submit-support-ticket-first-section.md index 27e5a4d28a..1a778b40d3 100644 --- a/data/reusables/enterprise_enterprise_support/submit-support-ticket-first-section.md +++ b/data/reusables/enterprise_enterprise_support/submit-support-ticket-first-section.md @@ -7,14 +7,14 @@ - Steps to reproduce the issue - Any special circumstances surrounding the discovery of the issue (for example, the first occurrence or occurrence after a specific event, frequency of occurrence, business impact of the problem, and suggested urgency) - Exact wording of error messages -1. From the {% data variables.product.prodname_enterprise %} Product drop-down menu, select {% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_ghe_cloud %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %}. +1. From the {% data variables.product.prodname_enterprise %} Product drop-down menu, select {% ifversion fpt %}{% data variables.product.prodname_ghe_cloud %}{% else %}{% data variables.product.prodname_ghe_server %}{% endif %}. ![Priority drop-down menu](/assets/images/enterprise/support/support-ticket-ghe-product.png) -1. From the "Priority" drop-down menu, select the appropriate urgency. For more information, see "[Assigning a priority to a support ticket]{% if currentVersion == "free-pro-team@latest" %}(/articles/about-github-premium-support-for-github-enterprise-cloud#assigning-a-priority-to-a-support-ticket){% else %}(/enterprise/admin/guides/enterprise-support/about-github-enterprise-support#assigning-a-priority-to-a-support-ticket){% endif %}." +1. From the "Priority" drop-down menu, select the appropriate urgency. For more information, see "[Assigning a priority to a support ticket]{% ifversion fpt %}(/articles/about-github-premium-support-for-github-enterprise-cloud#assigning-a-priority-to-a-support-ticket){% else %}(/enterprise/admin/guides/enterprise-support/about-github-enterprise-support#assigning-a-priority-to-a-support-ticket){% endif %}." ![Priority drop-down menu](/assets/images/enterprise/support/support-ticket-priority.png) - - Choose **{% data variables.product.support_ticket_priority_urgent %}** to report {% if currentVersion == "free-pro-team@latest" %}critical system failure{% else %}fatal system failures, outages impacting critical system operations, security incidents, and expired licenses{% endif %}. - - Choose **{% data variables.product.support_ticket_priority_high %}** to report issues impacting business operations, including {% if currentVersion == "free-pro-team@latest" %}removing sensitive data (commits, issues, pull requests, uploaded attachments) from your own accounts and organization restorations{% else %}system performance issues{% endif %}, or to report critical bugs. - - Choose **{% data variables.product.support_ticket_priority_normal %}** to {% if currentVersion == "free-pro-team@latest" %}request account recovery or spam unflagging, report user login issues{% else %}make technical requests like configuration changes and third-party integrations{% endif %}, and to report non-critical bugs. - - Choose **{% data variables.product.support_ticket_priority_low %}** to ask general questions and submit requests for new features, purchases, training, or health checks.{% if enterpriseServerVersions contains currentVersion %} + - Choose **{% data variables.product.support_ticket_priority_urgent %}** to report {% ifversion fpt %}critical system failure{% else %}fatal system failures, outages impacting critical system operations, security incidents, and expired licenses{% endif %}. + - Choose **{% data variables.product.support_ticket_priority_high %}** to report issues impacting business operations, including {% ifversion fpt %}removing sensitive data (commits, issues, pull requests, uploaded attachments) from your own accounts and organization restorations{% else %}system performance issues{% endif %}, or to report critical bugs. + - Choose **{% data variables.product.support_ticket_priority_normal %}** to {% ifversion fpt %}request account recovery or spam unflagging, report user login issues{% else %}make technical requests like configuration changes and third-party integrations{% endif %}, and to report non-critical bugs. + - Choose **{% data variables.product.support_ticket_priority_low %}** to ask general questions and submit requests for new features, purchases, training, or health checks.{% ifversion ghes %} 1. From the "{% data variables.product.prodname_enterprise %} Series" drop-down menu, select the version of {% data variables.product.prodname_ghe_server %} you're using. ![{% data variables.product.prodname_enterprise %} Series drop-down menu](/assets/images/enterprise/support/support-ticket-ghes-series.png) {% endif %} diff --git a/data/reusables/enterprise_enterprise_support/submit-support-ticket-second-section.md b/data/reusables/enterprise_enterprise_support/submit-support-ticket-second-section.md index aff7f808da..71a31a6fa9 100644 --- a/data/reusables/enterprise_enterprise_support/submit-support-ticket-second-section.md +++ b/data/reusables/enterprise_enterprise_support/submit-support-ticket-second-section.md @@ -1,4 +1,4 @@ 1. Click **Submit**. -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} If you chose not to include diagnostics with your support ticket, you can share diagnostic information with {% data variables.product.prodname_enterprise %} Support after submitting your support request. For more information, see "[Providing data to {% data variables.product.prodname_dotcom %} Support](/enterprise/admin/guides/enterprise-support/providing-data-to-github-support)."{% endif %} diff --git a/data/reusables/enterprise_installation/disable-github-pages-warning.md b/data/reusables/enterprise_installation/disable-github-pages-warning.md index ecac6ccacb..c0a3e04976 100644 --- a/data/reusables/enterprise_installation/disable-github-pages-warning.md +++ b/data/reusables/enterprise_installation/disable-github-pages-warning.md @@ -1,7 +1,7 @@ -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% warning %} **Warning:** If subdomain isolation is disabled, we recommend also disabling {% data variables.product.prodname_pages %} on your enterprise. There will be no way to isolate user-supplied {% data variables.product.prodname_pages %} content from the rest of your enterprise's data. For more information, see "[Configuring {% data variables.product.prodname_pages %} for your enterprise](/enterprise/admin/guides/installation/configuring-github-pages-for-your-enterprise/)." {% endwarning %} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/enterprise_installation/hardware-considerations-all-platforms.md b/data/reusables/enterprise_installation/hardware-considerations-all-platforms.md index 3fe36e69b0..38363243c6 100644 --- a/data/reusables/enterprise_installation/hardware-considerations-all-platforms.md +++ b/data/reusables/enterprise_installation/hardware-considerations-all-platforms.md @@ -1,4 +1,4 @@ -- [Minimum requirements](#minimum-requirements){% if currentVersion == "enterprise-server@2.22" %} +- [Minimum requirements](#minimum-requirements){% ifversion ghes = 2.22 %} - [Beta features in {% data variables.product.prodname_ghe_server %} 2.22](#beta-features-in-github-enterprise-server-222){% endif %} - [Storage](#storage) - [CPU and memory](#cpu-and-memory) @@ -15,9 +15,9 @@ We recommend a high-performance SSD with high input/output operations per second Your instance requires a persistent data disk separate from the root disk. For more information, see "[System overview](/enterprise/admin/guides/installation/system-overview)." -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} -To configure{% if currentVersion == "enterprise-server@2.22" %} the beta of{% endif %} {% data variables.product.prodname_actions %}, you must provide external blob storage. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server##external-storage-requirements)." +To configure{% ifversion ghes = 2.22 %} the beta of{% endif %} {% data variables.product.prodname_actions %}, you must provide external blob storage. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server##external-storage-requirements)." {% endif %} @@ -27,9 +27,9 @@ You can resize your instance's root disk by building a new instance or using an The CPU and memory resources that {% data variables.product.prodname_ghe_server %} requires depend on the levels of activity for users, automations, and integrations. -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} -If you {% if currentVersion == "enterprise-server@2.22" %}enabled the beta of{% else %}plan to enable{% endif %} {% data variables.product.prodname_actions %} for the users of your {% data variables.product.prodname_ghe_server %} instance, you may need to provision additional CPU and memory resources for your instance. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-considerations)." +If you {% ifversion ghes = 2.22 %}enabled the beta of{% else %}plan to enable{% endif %} {% data variables.product.prodname_actions %} for the users of your {% data variables.product.prodname_ghe_server %} instance, you may need to provision additional CPU and memory resources for your instance. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-considerations)." {% endif %} diff --git a/data/reusables/enterprise_installation/hardware-rec-table.md b/data/reusables/enterprise_installation/hardware-rec-table.md index 702d8847c8..5e6365d832 100644 --- a/data/reusables/enterprise_installation/hardware-rec-table.md +++ b/data/reusables/enterprise_installation/hardware-rec-table.md @@ -1,4 +1,4 @@ -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} {% note %} @@ -8,7 +8,7 @@ {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} | User licenses | vCPUs | Memory | Attached storage | Root storage | | :- | -: | -: | -: | -: | @@ -22,15 +22,15 @@ | User licenses | vCPUs | Memory | Attached storage | Root storage | | :- | -: | -: | -: | -: | -| Trial, demo, or 10 light users | 2{% if currentVersion == "enterprise-server@2.22" %}
or [**4**](#beta-features-in-github-enterprise-server-222){% endif %} | 16 GB{% if currentVersion == "enterprise-server@2.22" %}
or [**32 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 100 GB{% if currentVersion == "enterprise-server@2.22" %}
or [**150 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 200 GB | -| 10 to 3,000 | 4{% if currentVersion == "enterprise-server@2.22" %}
or [**8**](#beta-features-in-github-enterprise-server-222){% endif %} | 32 GB{% if currentVersion == "enterprise-server@2.22" %}
or [**48 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 250 GB{% if currentVersion == "enterprise-server@2.22" %}
or [**300 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 200 GB | -| 3,000 to 5000 | 8{% if currentVersion == "enterprise-server@2.22" %}
or [**12**](#beta-features-in-github-enterprise-server-222){% endif %} | 64 GB | 500 GB | 200 GB | -| 5,000 to 8000 | 12{% if currentVersion == "enterprise-server@2.22" %}
or [**16**](#beta-features-in-github-enterprise-server-222){% endif %} | 96 GB | 750 GB | 200 GB | -| 8,000 to 10,000+ | 16{% if currentVersion == "enterprise-server@2.22" %}
or [**20**](#beta-features-in-github-enterprise-server-222){% endif %} | 128 GB{% if currentVersion == "enterprise-server@2.22" %}
or [**160 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 1000 GB | 200 GB | +| Trial, demo, or 10 light users | 2{% ifversion ghes = 2.22 %}
or [**4**](#beta-features-in-github-enterprise-server-222){% endif %} | 16 GB{% ifversion ghes = 2.22 %}
or [**32 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 100 GB{% ifversion ghes = 2.22 %}
or [**150 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 200 GB | +| 10 to 3,000 | 4{% ifversion ghes = 2.22 %}
or [**8**](#beta-features-in-github-enterprise-server-222){% endif %} | 32 GB{% ifversion ghes = 2.22 %}
or [**48 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 250 GB{% ifversion ghes = 2.22 %}
or [**300 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 200 GB | +| 3,000 to 5000 | 8{% ifversion ghes = 2.22 %}
or [**12**](#beta-features-in-github-enterprise-server-222){% endif %} | 64 GB | 500 GB | 200 GB | +| 5,000 to 8000 | 12{% ifversion ghes = 2.22 %}
or [**16**](#beta-features-in-github-enterprise-server-222){% endif %} | 96 GB | 750 GB | 200 GB | +| 8,000 to 10,000+ | 16{% ifversion ghes = 2.22 %}
or [**20**](#beta-features-in-github-enterprise-server-222){% endif %} | 128 GB{% ifversion ghes = 2.22 %}
or [**160 GB**](#beta-features-in-github-enterprise-server-222){% endif %} | 1000 GB | 200 GB | {% endif %} -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} If you plan to enable {% data variables.product.prodname_actions %} for the users of your instance, review the requirements for hardware, external storage, and runners in "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server)." @@ -38,7 +38,7 @@ If you plan to enable {% data variables.product.prodname_actions %} for the user {% data reusables.enterprise_installation.about-adjusting-resources %} -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} ### Beta features in {% data variables.product.prodname_ghe_server %} 2.22 diff --git a/data/reusables/enterprise_installation/image-urls-viewable-warning.md b/data/reusables/enterprise_installation/image-urls-viewable-warning.md index 2a26ad6d64..9d3ec6f6c8 100644 --- a/data/reusables/enterprise_installation/image-urls-viewable-warning.md +++ b/data/reusables/enterprise_installation/image-urls-viewable-warning.md @@ -1,5 +1,5 @@ {% warning %} -**Warning:** If you add an image attachment to a pull request or issue comment, anyone can view the anonymized image URL without authentication{% if enterpriseServerVersions contains currentVersion %}, even if the pull request is in a private repository, or if private mode is enabled. To prevent unauthorized access to the images, ensure that you restrict network access to the systems that serve the images, including {% data variables.product.product_location %}{% endif %}.{% if currentVersion == "github-ae@latest" %} To prevent unauthorized access to image URLs on {% data variables.product.product_name %}, consider restricting network traffic to your enterprise. For more information, see "[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)."{% endif %} +**Warning:** If you add an image attachment to a pull request or issue comment, anyone can view the anonymized image URL without authentication{% ifversion ghes %}, even if the pull request is in a private repository, or if private mode is enabled. To prevent unauthorized access to the images, ensure that you restrict network access to the systems that serve the images, including {% data variables.product.product_location %}{% endif %}.{% ifversion ghae %} To prevent unauthorized access to image URLs on {% data variables.product.product_name %}, consider restricting network traffic to your enterprise. For more information, see "[Restricting network traffic to your enterprise](/admin/configuration/restricting-network-traffic-to-your-enterprise)."{% endif %} {% endwarning %} diff --git a/data/reusables/enterprise_installation/replica-limit.md b/data/reusables/enterprise_installation/replica-limit.md index 651ca9a206..031cf2dbad 100644 --- a/data/reusables/enterprise_installation/replica-limit.md +++ b/data/reusables/enterprise_installation/replica-limit.md @@ -1,4 +1,4 @@ -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} {% note %} **Note:** There is a maximum of 8 high availability replicas (both passive and active/geo replicas) allowed for {% data variables.product.product_name %}. diff --git a/data/reusables/enterprise_installation/upgrade-hardware-requirements.md b/data/reusables/enterprise_installation/upgrade-hardware-requirements.md index 5eba1919ae..227eca8845 100644 --- a/data/reusables/enterprise_installation/upgrade-hardware-requirements.md +++ b/data/reusables/enterprise_installation/upgrade-hardware-requirements.md @@ -1,4 +1,4 @@ -{% if currentVersion ver_gt "enterprise-server@2.20" and currentVersion ver_lt "enterprise-server@3.2" %} +{% ifversion ghes < 3.2 %} ### About minimum requirements for {% data variables.product.prodname_ghe_server %} 3.0 and later @@ -14,7 +14,7 @@ Increased requirements for {% data variables.product.prodname_ghe_server %} 3.0 | 5,000 to 8000 | **16**
_Up from 12_ | 96 GB | 750 GB | 200 GB | | 8,000 to 10,000+ | **20**
_Up from 16_ | **160 GB**
_Up from 128 GB_ | 1000 GB | 200 GB | -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} For more information about hardware requirements for {% data variables.product.prodname_actions %}, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.prodname_ghe_server %}](/admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server#review-hardware-considerations)." diff --git a/data/reusables/enterprise_installation/when-9418-necessary.md b/data/reusables/enterprise_installation/when-9418-necessary.md index 7eed264bd2..9a33472bf0 100644 --- a/data/reusables/enterprise_installation/when-9418-necessary.md +++ b/data/reusables/enterprise_installation/when-9418-necessary.md @@ -1 +1 @@ -If you have enabled private mode on your instance, then opening this port is only required if you also enabled anonymous Git read access. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)." \ No newline at end of file +If you have enabled private mode on your instance, then opening this port is only required if you also enabled anonymous Git read access. For more information, see "[Enforcing repository management policies in your enterprise](/admin/policies/enforcing-repository-management-policies-in-your-enterprise#configuring-anonymous-git-read-access)." diff --git a/data/reusables/enterprise_management_console/advanced-security-license.md b/data/reusables/enterprise_management_console/advanced-security-license.md index a999a5edfc..fb013b6036 100644 --- a/data/reusables/enterprise_management_console/advanced-security-license.md +++ b/data/reusables/enterprise_management_console/advanced-security-license.md @@ -1 +1 @@ -If you can't see **{% data variables.product.prodname_advanced_security %}** in the sidebar, it means that your license doesn't include support for {% data variables.product.prodname_advanced_security %} features, including {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}. The {% data variables.product.prodname_advanced_security %} license gives you and your users access to features that help you make your repositories and code more secure. {% if currentVersion ver_gt "enterprise-server@2.22" %}For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/about-github-advanced-security)" or contact {% data variables.contact.contact_enterprise_sales %}.{% endif %} +If you can't see **{% data variables.product.prodname_advanced_security %}** in the sidebar, it means that your license doesn't include support for {% data variables.product.prodname_advanced_security %} features, including {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_secret_scanning %}. The {% data variables.product.prodname_advanced_security %} license gives you and your users access to features that help you make your repositories and code more secure. {% ifversion ghes > 2.22 %}For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/about-github-advanced-security)" or contact {% data variables.contact.contact_enterprise_sales %}.{% endif %} diff --git a/data/reusables/enterprise_site_admin_settings/about-ssh-access.md b/data/reusables/enterprise_site_admin_settings/about-ssh-access.md index 4e1057532c..ea3ae2b61f 100644 --- a/data/reusables/enterprise_site_admin_settings/about-ssh-access.md +++ b/data/reusables/enterprise_site_admin_settings/about-ssh-access.md @@ -1 +1 @@ -SSH access allows you to run the {% data variables.product.product_name %} command line utilities to troubleshoot, run backups, and configure replication. \ No newline at end of file +SSH access allows you to run the {% data variables.product.product_name %} command line utilities to troubleshoot, run backups, and configure replication. diff --git a/data/reusables/enterprise_site_admin_settings/about-the-management-console.md b/data/reusables/enterprise_site_admin_settings/about-the-management-console.md index 8c622226c6..e0659fee37 100644 --- a/data/reusables/enterprise_site_admin_settings/about-the-management-console.md +++ b/data/reusables/enterprise_site_admin_settings/about-the-management-console.md @@ -1 +1 @@ -You can use the {% data variables.enterprise.management_console %} to manage virtual appliance settings such as the domain, authentication, and SSL. \ No newline at end of file +You can use the {% data variables.enterprise.management_console %} to manage virtual appliance settings such as the domain, authentication, and SSL. diff --git a/data/reusables/enterprise_site_admin_settings/about-the-site-admin-dashboard.md b/data/reusables/enterprise_site_admin_settings/about-the-site-admin-dashboard.md index bab0827c40..31c34efe2c 100644 --- a/data/reusables/enterprise_site_admin_settings/about-the-site-admin-dashboard.md +++ b/data/reusables/enterprise_site_admin_settings/about-the-site-admin-dashboard.md @@ -1 +1 @@ -You can use the site admin dashboard to manage users, organizations, and repositories in your enterprise directly in {% data variables.product.product_name %}. \ No newline at end of file +You can use the site admin dashboard to manage users, organizations, and repositories in your enterprise directly in {% data variables.product.product_name %}. diff --git a/data/reusables/enterprise_site_admin_settings/business.md b/data/reusables/enterprise_site_admin_settings/business.md index 83944acdce..b3fe7c3048 100644 --- a/data/reusables/enterprise_site_admin_settings/business.md +++ b/data/reusables/enterprise_site_admin_settings/business.md @@ -1,2 +1,2 @@ -1. In the left sidebar, click **Enterprise{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} overview{% endif %}**. - ![Enterprise{% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} overview{% endif %} tab in the Site admin settings](/assets/images/enterprise/site-admin-settings/enterprise-tab.png) +1. In the left sidebar, click **Enterprise{% ifversion ghes > 2.21 or ghae %} overview{% endif %}**. + ![Enterprise{% ifversion ghes > 2.21 or ghae %} overview{% endif %} tab in the Site admin settings](/assets/images/enterprise/site-admin-settings/enterprise-tab.png) diff --git a/data/reusables/enterprise_site_admin_settings/message-preview-save.md b/data/reusables/enterprise_site_admin_settings/message-preview-save.md index 0d02ca5729..d5021f07c6 100644 --- a/data/reusables/enterprise_site_admin_settings/message-preview-save.md +++ b/data/reusables/enterprise_site_admin_settings/message-preview-save.md @@ -1,4 +1,4 @@ 1. Optionally, to preview your message, click **Preview**. ![Preview message button](/assets/images/enterprise/site-admin-settings/message-preview-button.png) 1. Click **Save changes**. - ![Save changes button](/assets/images/enterprise/site-admin-settings/message-save-changes-button.png) \ No newline at end of file + ![Save changes button](/assets/images/enterprise/site-admin-settings/message-save-changes-button.png) diff --git a/data/reusables/enterprise_user_management/ldap-sync-nested-teams.md b/data/reusables/enterprise_user_management/ldap-sync-nested-teams.md index 5d88c18636..3883c61f72 100644 --- a/data/reusables/enterprise_user_management/ldap-sync-nested-teams.md +++ b/data/reusables/enterprise_user_management/ldap-sync-nested-teams.md @@ -1,3 +1,3 @@ -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} As part of its optimization configuration, LDAP Sync will not transfer your nested team structure. To create child and parent team relationships, you must manually recreate the nested team structure and sync it with the corresponding LDAP group. For more information, see "[Creating teams](/enterprise/{{ currentVersion }}/admin/guides/user-management/creating-teams/#creating-teams-with-ldap-sync-enabled)" -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/feature-preview/feature-preview-setting.md b/data/reusables/feature-preview/feature-preview-setting.md index c14959bda9..0f10ee08c8 100644 --- a/data/reusables/feature-preview/feature-preview-setting.md +++ b/data/reusables/feature-preview/feature-preview-setting.md @@ -1,2 +1,2 @@ 1. In the upper-right corner of any page, click your profile photo, then click **Feature preview**. - ![Feature preview button](/assets/images/help/settings/feature-preview-button.png) \ No newline at end of file + ![Feature preview button](/assets/images/help/settings/feature-preview-button.png) diff --git a/data/reusables/files/add-file.md b/data/reusables/files/add-file.md index 9bf99b47f2..318cd50ca7 100644 --- a/data/reusables/files/add-file.md +++ b/data/reusables/files/add-file.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} 1. Above the list of files, click **Create new file**. !["Create new file" button](/assets/images/help/repository/create_new_file.png) {% else %} diff --git a/data/reusables/files/choose-commit-email.md b/data/reusables/files/choose-commit-email.md index d92bbe1813..4ab9fb2743 100644 --- a/data/reusables/files/choose-commit-email.md +++ b/data/reusables/files/choose-commit-email.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. If you have more than one email address associated with your {% data variables.product.product_name %} account, click the email address drop-down menu and select the email address to use as the Git author email address. Only verified email addresses appear in this drop-down menu. If you enabled email address privacy, then `@users.noreply.github.com` is the default commit author email address. For more information, see "[Setting your commit email address](/articles/setting-your-commit-email-address)." ![Choose commit email addresses](/assets/images/help/repository/choose-commit-email-address.png) {% endif %} diff --git a/data/reusables/files/commit-author-email-options.md b/data/reusables/files/commit-author-email-options.md index 08de0767ac..d3ff98afeb 100644 --- a/data/reusables/files/commit-author-email-options.md +++ b/data/reusables/files/commit-author-email-options.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you haven't enabled email address privacy, you can choose which verified email address to author changes with when you edit, delete, or create files or merge a pull request on {% data variables.product.product_name %}. If you enabled email address privacy, then the commit author email address cannot be changed and is `@users.noreply.github.com` by default. {% endif %} diff --git a/data/reusables/form-schema/attributes-intro.md b/data/reusables/form-schema/attributes-intro.md index d78fba4985..f38fd4f581 100644 --- a/data/reusables/form-schema/attributes-intro.md +++ b/data/reusables/form-schema/attributes-intro.md @@ -1 +1 @@ -For the value of the `attributes` key, you can set the following keys. \ No newline at end of file +For the value of the `attributes` key, you can set the following keys. diff --git a/data/reusables/form-schema/id-must-be-unique.md b/data/reusables/form-schema/id-must-be-unique.md index a1a8beb324..e3ee169503 100644 --- a/data/reusables/form-schema/id-must-be-unique.md +++ b/data/reusables/form-schema/id-must-be-unique.md @@ -1 +1 @@ -Can only use alpha-numeric characters, `-`, and `_`. Must be unique in the form definition. \ No newline at end of file +Can only use alpha-numeric characters, `-`, and `_`. Must be unique in the form definition. diff --git a/data/reusables/form-schema/options-syntax.md b/data/reusables/form-schema/options-syntax.md index 4fd879df52..0f9f70e7b0 100644 --- a/data/reusables/form-schema/options-syntax.md +++ b/data/reusables/form-schema/options-syntax.md @@ -2,4 +2,4 @@ For each value in the `options` array, you can set the following keys. | Key | Description | Required | Type | Default | Options | | --- | ----------- | -------- | ---- | ------- | ------- | -| `label` | The identifier for the option, which is displayed in the form. Markdown is supported for bold or italic text formatting, and hyperlinks. | Required | String | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | \ No newline at end of file +| `label` | The identifier for the option, which is displayed in the form. Markdown is supported for bold or italic text formatting, and hyperlinks. | Required | String | {% octicon "dash" aria-label="The dash icon" %} | {% octicon "dash" aria-label="The dash icon" %} | diff --git a/data/reusables/form-schema/required-key.md b/data/reusables/form-schema/required-key.md index 1c2ad6475e..ac51643433 100644 --- a/data/reusables/form-schema/required-key.md +++ b/data/reusables/form-schema/required-key.md @@ -1 +1 @@ -| `required` | Prevents form submission until element is completed. | Optional | Boolean | false | {% octicon "dash" aria-label="The dash icon" %} | \ No newline at end of file +| `required` | Prevents form submission until element is completed. | Optional | Boolean | false | {% octicon "dash" aria-label="The dash icon" %} | diff --git a/data/reusables/form-schema/validations-intro.md b/data/reusables/form-schema/validations-intro.md index e20d494700..13b69e0f0a 100644 --- a/data/reusables/form-schema/validations-intro.md +++ b/data/reusables/form-schema/validations-intro.md @@ -1 +1 @@ -For the value of the `validations` key, you can set the following keys. \ No newline at end of file +For the value of the `validations` key, you can set the following keys. diff --git a/data/reusables/gated-features/actions.md b/data/reusables/gated-features/actions.md index bafbe8fae9..20abd3588b 100644 --- a/data/reusables/gated-features/actions.md +++ b/data/reusables/gated-features/actions.md @@ -1 +1 @@ -{% data reusables.gated-features.actions-shared %} {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +{% data reusables.gated-features.actions-shared %} {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gated-features/auto-merge.md b/data/reusables/gated-features/auto-merge.md index 4f05ac43bd..0956ec742e 100644 --- a/data/reusables/gated-features/auto-merge.md +++ b/data/reusables/gated-features/auto-merge.md @@ -1 +1 @@ -{% if currentVersion == "github-ae@latest" %}Auto-merge for pull requests is available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}, {% else %}Auto-merge for pull requests is available {% endif %} in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %}. {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +{% ifversion ghae %}Auto-merge for pull requests is available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}, {% else %}Auto-merge for pull requests is available {% endif %} in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %}. {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gated-features/autolinks.md b/data/reusables/gated-features/autolinks.md index d545d6a5b4..3226765f6d 100644 --- a/data/reusables/gated-features/autolinks.md +++ b/data/reusables/gated-features/autolinks.md @@ -1 +1 @@ -Autolinks are available in repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% if currentVersion == "github-ae@latest" %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}. {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +Autolinks are available in repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}. {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gated-features/code-owners.md b/data/reusables/gated-features/code-owners.md index 3dc4547af8..0c59e50a7f 100644 --- a/data/reusables/gated-features/code-owners.md +++ b/data/reusables/gated-features/code-owners.md @@ -1 +1 @@ -You can define code owners in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% if currentVersion == "github-ae@latest" %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}. {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +You can define code owners in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}. {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gated-features/code-review-assignment.md b/data/reusables/gated-features/code-review-assignment.md index fb8808fc4e..54941c9a54 100644 --- a/data/reusables/gated-features/code-review-assignment.md +++ b/data/reusables/gated-features/code-review-assignment.md @@ -1 +1 @@ -Code review assignment is available with {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} 2.20+,{% if currentVersion == "github-ae@latest" %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_cloud %}. For more information, see "[GitHub's products](/articles/githubs-products)." +Code review assignment is available with {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} 2.20+,{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_cloud %}. For more information, see "[GitHub's products](/articles/githubs-products)." diff --git a/data/reusables/gated-features/code-scanning.md b/data/reusables/gated-features/code-scanning.md index 3786dad893..607b5d21b6 100644 --- a/data/reusables/gated-features/code-scanning.md +++ b/data/reusables/gated-features/code-scanning.md @@ -1,6 +1,6 @@ -{% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_code_scanning_capc %} is available for all public repositories, and for private repositories owned by organizations where {% data variables.product.prodname_GH_advanced_security %} is enabled. -{%- elsif currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}{% data variables.product.prodname_code_scanning_capc %} is available for organization-owned repositories where {% data variables.product.prodname_GH_advanced_security %} is enabled. -{%- elsif currentVersion == "github-ae@latest" %} +{% ifversion fpt %}{% data variables.product.prodname_code_scanning_capc %} is available for all public repositories, and for private repositories owned by organizations where {% data variables.product.prodname_GH_advanced_security %} is enabled. +{%- elsif ghes > 3.0 or ghae-next %}{% data variables.product.prodname_code_scanning_capc %} is available for organization-owned repositories where {% data variables.product.prodname_GH_advanced_security %} is enabled. +{%- elsif ghae %} {% data variables.product.prodname_code_scanning_capc %} is available as part of {% data variables.product.prodname_GH_advanced_security %}, which is free during the beta release. {%- else %} {% data variables.product.prodname_code_scanning_capc %} is available if you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} {% data reusables.advanced-security.more-info-ghas %} diff --git a/data/reusables/gated-features/display-names.md b/data/reusables/gated-features/display-names.md index c7c249338a..b8987027ca 100644 --- a/data/reusables/gated-features/display-names.md +++ b/data/reusables/gated-features/display-names.md @@ -1 +1 @@ -Allowing members to see comment authors' profile names is available with {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} 2.18+,{% if currentVersion == "github-ae@latest" %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_cloud %}. For more information, see "[GitHub's products](/articles/githubs-products)." +Allowing members to see comment authors' profile names is available with {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} 2.18+,{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_cloud %}. For more information, see "[GitHub's products](/articles/githubs-products)." diff --git a/data/reusables/gated-features/draft-prs.md b/data/reusables/gated-features/draft-prs.md index 9c53c6d6c0..52452e1c53 100644 --- a/data/reusables/gated-features/draft-prs.md +++ b/data/reusables/gated-features/draft-prs.md @@ -1 +1 @@ -Draft pull requests are available in public repositories with {% data variables.product.prodname_free_team %} for organizations and legacy per-repository billing plans, and in public and private repositories with {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} 2.17+,{% if currentVersion == "github-ae@latest" %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_cloud %}. {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +Draft pull requests are available in public repositories with {% data variables.product.prodname_free_team %} for organizations and legacy per-repository billing plans, and in public and private repositories with {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} 2.17+,{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_cloud %}. {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gated-features/enterprise-accounts.md b/data/reusables/gated-features/enterprise-accounts.md index e4c5549a8c..3b0fe0b721 100644 --- a/data/reusables/gated-features/enterprise-accounts.md +++ b/data/reusables/gated-features/enterprise-accounts.md @@ -1 +1 @@ -Enterprise accounts are available with {% data variables.product.prodname_ghe_cloud %}{% if currentVersion == "github-ae@latest" %}, {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}. {% if currentVersion == "free-pro-team@latest" %}For more information, see "[About enterprise accounts](/articles/about-enterprise-accounts)."{% endif %} +Enterprise accounts are available with {% data variables.product.prodname_ghe_cloud %}{% ifversion ghae %}, {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}. {% ifversion fpt %}For more information, see "[About enterprise accounts](/articles/about-enterprise-accounts)."{% endif %} diff --git a/data/reusables/gated-features/environments.md b/data/reusables/gated-features/environments.md index 916fe9c1d3..6de168a553 100644 --- a/data/reusables/gated-features/environments.md +++ b/data/reusables/gated-features/environments.md @@ -1 +1 @@ -{% data reusables.gated-features.actions-shared %} Environments, environment protection rules, and environment secrets are available in public repositories for all products and in private repositories for {% data variables.product.prodname_enterprise %}. {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +{% data reusables.gated-features.actions-shared %} Environments, environment protection rules, and environment secrets are available in public repositories for all products and in private repositories for {% data variables.product.prodname_enterprise %}. {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gated-features/ghas.md b/data/reusables/gated-features/ghas.md index 166bbffcbe..94c19836e6 100644 --- a/data/reusables/gated-features/ghas.md +++ b/data/reusables/gated-features/ghas.md @@ -1 +1 @@ -{% data variables.product.prodname_GH_advanced_security %} licenses are available for enterprise accounts on {% data variables.product.prodname_ghe_cloud %}{% if currentVersion == "github-ae@latest" %}, {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}.{% if currentVersion == "free-pro-team@latest" %} {% data variables.product.prodname_GH_advanced_security %} is also included in all public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %} For more information, see "[About GitHub's products](/github/getting-started-with-github/githubs-products)." \ No newline at end of file +{% data variables.product.prodname_GH_advanced_security %} licenses are available for enterprise accounts on {% data variables.product.prodname_ghe_cloud %}{% ifversion ghae %}, {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}.{% ifversion fpt %} {% data variables.product.prodname_GH_advanced_security %} is also included in all public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %} For more information, see "[About GitHub's products](/github/getting-started-with-github/githubs-products)." diff --git a/data/reusables/gated-features/github-insights.md b/data/reusables/gated-features/github-insights.md index fb6b9703b2..f99859ae15 100644 --- a/data/reusables/gated-features/github-insights.md +++ b/data/reusables/gated-features/github-insights.md @@ -1 +1 @@ -{% data variables.product.prodname_insights %} is available with {% data variables.product.prodname_ghe_one %}. For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)." \ No newline at end of file +{% data variables.product.prodname_insights %} is available with {% data variables.product.prodname_ghe_one %}. For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/githubs-products)." diff --git a/data/reusables/gated-features/internal-repos.md b/data/reusables/gated-features/internal-repos.md index 8100ff30df..cb8b37a584 100644 --- a/data/reusables/gated-features/internal-repos.md +++ b/data/reusables/gated-features/internal-repos.md @@ -1 +1 @@ -Internal repositories are available with {% data variables.product.prodname_ghe_cloud %}{% if currentVersion == "github-ae@latest" %}, {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %} 2.20+. For more information, see "GitHub's products." +Internal repositories are available with {% data variables.product.prodname_ghe_cloud %}{% ifversion ghae %}, {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %} 2.20+. For more information, see "GitHub's products." diff --git a/data/reusables/gated-features/more-info-org-products.md b/data/reusables/gated-features/more-info-org-products.md index 323025b41e..fb5f436ae7 100644 --- a/data/reusables/gated-features/more-info-org-products.md +++ b/data/reusables/gated-features/more-info-org-products.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)."{% endif %} +{% ifversion fpt %}For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)."{% endif %} diff --git a/data/reusables/gated-features/more-info.md b/data/reusables/gated-features/more-info.md index 323025b41e..fb5f436ae7 100644 --- a/data/reusables/gated-features/more-info.md +++ b/data/reusables/gated-features/more-info.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)."{% endif %} +{% ifversion fpt %}For more information, see "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)."{% endif %} diff --git a/data/reusables/gated-features/okta-team-sync.md b/data/reusables/gated-features/okta-team-sync.md index 632b0a2d3a..e7f101153a 100644 --- a/data/reusables/gated-features/okta-team-sync.md +++ b/data/reusables/gated-features/okta-team-sync.md @@ -1,4 +1,4 @@ -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} {% note %} diff --git a/data/reusables/gated-features/packages.md b/data/reusables/gated-features/packages.md index fb878358bb..f1ac972fd3 100644 --- a/data/reusables/gated-features/packages.md +++ b/data/reusables/gated-features/packages.md @@ -1,4 +1,4 @@ {% data variables.product.prodname_registry %} is available with {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %}, and {% data variables.product.prodname_ghe_managed %}. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %}
{% data variables.product.prodname_registry %} is not available for private repositories owned by accounts using legacy per-repository plans. Also, accounts using legacy per-repository plans cannot access the {% data variables.product.prodname_container_registry %} since these accounts are billed by repository. {% data reusables.gated-features.more-info %} {% endif %} diff --git a/data/reusables/gated-features/pages.md b/data/reusables/gated-features/pages.md index 31caf392d2..f615da140f 100644 --- a/data/reusables/gated-features/pages.md +++ b/data/reusables/gated-features/pages.md @@ -1 +1 @@ -{% if currentVersion == "github-ae@latest" %}{% data variables.product.prodname_pages %} is available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}. {% endif %}{% data variables.product.prodname_pages %} is available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %}. {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +{% ifversion ghae %}{% data variables.product.prodname_pages %} is available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}. {% endif %}{% data variables.product.prodname_pages %} is available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %}. {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gated-features/protected-branches.md b/data/reusables/gated-features/protected-branches.md index ffae769bab..ebe68b94cd 100644 --- a/data/reusables/gated-features/protected-branches.md +++ b/data/reusables/gated-features/protected-branches.md @@ -1 +1 @@ -{% if currentVersion == "github-ae@latest" %}Protected branches are available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}, {% else%}Protected branches are available {% endif %}in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %}. {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +{% ifversion ghae %}Protected branches are available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}, {% else%}Protected branches are available {% endif %}in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %}. {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gated-features/repository-insights.md b/data/reusables/gated-features/repository-insights.md index 71016e9f96..b8d4b5b1d2 100644 --- a/data/reusables/gated-features/repository-insights.md +++ b/data/reusables/gated-features/repository-insights.md @@ -1 +1 @@ -This repository insights graph is available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% if currentVersion == "github-ae@latest" %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}.{% if currentVersion == "free-pro-team@latest" %} For more information, see "[About repository graphs](/articles/about-repository-graphs)" and "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)."{% endif %} +This repository insights graph is available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %},{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %}.{% ifversion fpt %} For more information, see "[About repository graphs](/articles/about-repository-graphs)" and "[{% data variables.product.prodname_dotcom %}'s products](/articles/github-s-products)."{% endif %} diff --git a/data/reusables/gated-features/saml-sso.md b/data/reusables/gated-features/saml-sso.md index bad5e99d72..db4f28fd6b 100644 --- a/data/reusables/gated-features/saml-sso.md +++ b/data/reusables/gated-features/saml-sso.md @@ -1 +1 @@ -SAML single sign-on is available with {% data variables.product.prodname_ghe_cloud %}{% if currentVersion == "github-ae@latest" %} and {% data variables.product.prodname_ghe_managed %}{% endif %}. For more information, see "[GitHub's products](/articles/githubs-products)." +SAML single sign-on is available with {% data variables.product.prodname_ghe_cloud %}{% ifversion ghae %} and {% data variables.product.prodname_ghe_managed %}{% endif %}. For more information, see "[GitHub's products](/articles/githubs-products)." diff --git a/data/reusables/gated-features/secret-scanning.md b/data/reusables/gated-features/secret-scanning.md index 8ae85ccf2f..7b62f797be 100644 --- a/data/reusables/gated-features/secret-scanning.md +++ b/data/reusables/gated-features/secret-scanning.md @@ -1,6 +1,6 @@ -{% if currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_secret_scanning_caps %} is available for all public repositories, and for private repositories owned by organizations where {% data variables.product.prodname_GH_advanced_security %} is enabled. -{%- elsif currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}{% data variables.product.prodname_secret_scanning_caps %} is available for organization-owned repositories where {% data variables.product.prodname_GH_advanced_security %} is enabled. -{%- elsif currentVersion == "github-ae@latest" %} +{% ifversion fpt %}{% data variables.product.prodname_secret_scanning_caps %} is available for all public repositories, and for private repositories owned by organizations where {% data variables.product.prodname_GH_advanced_security %} is enabled. +{%- elsif ghes > 3.0 or ghae-next %}{% data variables.product.prodname_secret_scanning_caps %} is available for organization-owned repositories where {% data variables.product.prodname_GH_advanced_security %} is enabled. +{%- elsif ghae %} {% data variables.product.prodname_secret_scanning_caps %} is available as part of {% data variables.product.prodname_GH_advanced_security %}, which is free during the beta release. {%- else %} -{% data variables.product.prodname_secret_scanning_caps %} is available if you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} {% data reusables.advanced-security.more-info-ghas %} \ No newline at end of file +{% data variables.product.prodname_secret_scanning_caps %} is available if you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} {% data reusables.advanced-security.more-info-ghas %} diff --git a/data/reusables/gated-features/security-center.md b/data/reusables/gated-features/security-center.md index 3006b19baa..353b2e857e 100644 --- a/data/reusables/gated-features/security-center.md +++ b/data/reusables/gated-features/security-center.md @@ -1,4 +1,4 @@ -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} The security overview for your organization is available if you have a license for {% data variables.product.prodname_GH_advanced_security %}, which is free during the beta release. {% else %} The security overview for your organization is available if you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} {% data reusables.advanced-security.more-info-ghas %} diff --git a/data/reusables/gated-features/ssh-certificate-authorities.md b/data/reusables/gated-features/ssh-certificate-authorities.md index 80098d6efa..8a80da053e 100644 --- a/data/reusables/gated-features/ssh-certificate-authorities.md +++ b/data/reusables/gated-features/ssh-certificate-authorities.md @@ -1 +1 @@ -Support for SSH certificate authorities is available with {% data variables.product.prodname_ghe_cloud %}{% if currentVersion == "github-ae@latest" %}, {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %} 2.19+. For more information, see "[GitHub's products](/articles/githubs-products)." +Support for SSH certificate authorities is available with {% data variables.product.prodname_ghe_cloud %}{% ifversion ghae %}, {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_server %} 2.19+. For more information, see "[GitHub's products](/articles/githubs-products)." diff --git a/data/reusables/gated-features/team-synchronization.md b/data/reusables/gated-features/team-synchronization.md index 0851c08049..25f01dfb41 100644 --- a/data/reusables/gated-features/team-synchronization.md +++ b/data/reusables/gated-features/team-synchronization.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}Team synchronization is available for organizations and enterprise accounts using {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info-org-products %}{% elsif currentVersion == "github-ae@latest" %}Synchronization of teams with SCIM groups is available for organizations using {% data variables.product.prodname_ghe_managed %}. For more information, see "[GitHub's products](/github/getting-started-with-github/githubs-products)."{% endif %} +{% ifversion fpt %}Team synchronization is available for organizations and enterprise accounts using {% data variables.product.prodname_ghe_cloud %}. {% data reusables.gated-features.more-info-org-products %}{% elsif ghae %}Synchronization of teams with SCIM groups is available for organizations using {% data variables.product.prodname_ghe_managed %}. For more information, see "[GitHub's products](/github/getting-started-with-github/githubs-products)."{% endif %} diff --git a/data/reusables/gated-features/wikis.md b/data/reusables/gated-features/wikis.md index d7611dc363..683ac66d51 100644 --- a/data/reusables/gated-features/wikis.md +++ b/data/reusables/gated-features/wikis.md @@ -1 +1 @@ -{% if currentVersion == "github-ae@latest" %}Wikis are available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}.{% endif %} Wikis are available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}. {% if currentVersion == "free-pro-team@latest" %}{% data reusables.gated-features.more-info %}{% endif %} +{% ifversion ghae %}Wikis are available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}.{% endif %} Wikis are available in public repositories with {% data variables.product.prodname_free_user %} and {% data variables.product.prodname_free_team %} for organizations, and in public and private repositories with {% data variables.product.prodname_pro %}, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}. {% ifversion fpt %}{% data reusables.gated-features.more-info %}{% endif %} diff --git a/data/reusables/gist/anonymous-gists-cannot-be-deleted.md b/data/reusables/gist/anonymous-gists-cannot-be-deleted.md index 3d6ce66752..331f4fe843 100644 --- a/data/reusables/gist/anonymous-gists-cannot-be-deleted.md +++ b/data/reusables/gist/anonymous-gists-cannot-be-deleted.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} {% warning %} **Warning:** Anonymous gists cannot be deleted from the web browser. To have an anonymous gist deleted, contact {% data variables.contact.contact_support %}. Please provide the URL of the gist you wish to delete. diff --git a/data/reusables/gist/cannot-convert-public-gists-to-secret.md b/data/reusables/gist/cannot-convert-public-gists-to-secret.md index 535fa5cd9d..cfa1d6ff51 100644 --- a/data/reusables/gist/cannot-convert-public-gists-to-secret.md +++ b/data/reusables/gist/cannot-convert-public-gists-to-secret.md @@ -1 +1 @@ -After creating a gist, you cannot convert it from {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} to secret. +After creating a gist, you cannot convert it from {% ifversion ghae %}internal{% else %}public{% endif %} to secret. diff --git a/data/reusables/github-actions/artifact-log-retention-statement.md b/data/reusables/github-actions/artifact-log-retention-statement.md index badcea5006..57eaa29e2b 100644 --- a/data/reusables/github-actions/artifact-log-retention-statement.md +++ b/data/reusables/github-actions/artifact-log-retention-statement.md @@ -1,2 +1,2 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and this retention period can be customized. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy)".{% endif %} -{% if currentVersion == "enterprise-server@2.22" %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %} +{% ifversion fpt or ghes > 2.22 or ghae %} By default, {% data variables.product.product_name %} stores build logs and artifacts for 90 days, and this retention period can be customized. For more information, see "[Usage limits, billing, and administration](/actions/reference/usage-limits-billing-and-administration#artifact-and-log-retention-policy)".{% endif %} +{% ifversion ghes = 2.22 %} {% data variables.product.product_name %} stores full build logs and artifacts for 90 days.{% endif %} diff --git a/data/reusables/github-actions/change-retention-period-for-artifacts-logs.md b/data/reusables/github-actions/change-retention-period-for-artifacts-logs.md index 19398bca6a..daa2b9df62 100644 --- a/data/reusables/github-actions/change-retention-period-for-artifacts-logs.md +++ b/data/reusables/github-actions/change-retention-period-for-artifacts-logs.md @@ -1,2 +1,2 @@ 1. Under **Artifact and log retention duration**, enter a new value. -1. Click **Save** to apply the change. \ No newline at end of file +1. Click **Save** to apply the change. diff --git a/data/reusables/github-actions/disabling-github-actions.md b/data/reusables/github-actions/disabling-github-actions.md index 0481ab8bab..9a13703cf8 100644 --- a/data/reusables/github-actions/disabling-github-actions.md +++ b/data/reusables/github-actions/disabling-github-actions.md @@ -1 +1 @@ -By default, {% if currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}after {% data variables.product.prodname_actions %} is enabled on {% data variables.product.product_location %}, it{% elsif currentVersion == "free-pro-team@latest" %}{% data variables.product.prodname_actions %}{% endif %} is enabled on all repositories and organizations. You can choose to disable {% data variables.product.prodname_actions %} or limit them to private actions only, which means that people can only use actions that exist in your repository. +By default, {% ifversion ghes > 2.21 or ghae %}after {% data variables.product.prodname_actions %} is enabled on {% data variables.product.product_location %}, it{% elsif fpt %}{% data variables.product.prodname_actions %}{% endif %} is enabled on all repositories and organizations. You can choose to disable {% data variables.product.prodname_actions %} or limit them to private actions only, which means that people can only use actions that exist in your repository. diff --git a/data/reusables/github-actions/forked-write-permission.md b/data/reusables/github-actions/forked-write-permission.md index 3fe9804246..ecf77e3a35 100644 --- a/data/reusables/github-actions/forked-write-permission.md +++ b/data/reusables/github-actions/forked-write-permission.md @@ -1 +1 @@ -You can use the `permissions` key to add and remove read permissions for forked repositories, but typically you can't grant write access. The exception to this behavior is where an admin user has selected the **Send write tokens to workflows from pull requests** option in the {% data variables.product.prodname_actions %} settings. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository#enabling-workflows-for-private-repository-forks)." \ No newline at end of file +You can use the `permissions` key to add and remove read permissions for forked repositories, but typically you can't grant write access. The exception to this behavior is where an admin user has selected the **Send write tokens to workflows from pull requests** option in the {% data variables.product.prodname_actions %} settings. For more information, see "[Disabling or limiting {% data variables.product.prodname_actions %} for a repository](/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository#enabling-workflows-for-private-repository-forks)." diff --git a/data/reusables/github-actions/github-token-available-permissions.md b/data/reusables/github-actions/github-token-available-permissions.md index 7e331c7601..46de44c86f 100644 --- a/data/reusables/github-actions/github-token-available-permissions.md +++ b/data/reusables/github-actions/github-token-available-permissions.md @@ -20,4 +20,4 @@ You can use the following syntax to define read or write access for all of the a ```yaml permissions: read-all|write-all -``` \ No newline at end of file +``` diff --git a/data/reusables/github-actions/github-token-permissions.md b/data/reusables/github-actions/github-token-permissions.md index 88604df1dc..98593b0cb6 100644 --- a/data/reusables/github-actions/github-token-permissions.md +++ b/data/reusables/github-actions/github-token-permissions.md @@ -1 +1 @@ -The `GITHUB_TOKEN` secret is set to an access token for the repository each time a job in a workflow begins. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}You should set the permissions for this access token in the workflow file to grant read access for the `contents` scope and write access for the `packages` scope. {% else %}It has read and write permissions for packages in the repository where the workflow runs. {% endif %}For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." \ No newline at end of file +The `GITHUB_TOKEN` secret is set to an access token for the repository each time a job in a workflow begins. {% ifversion fpt or ghes > 3.1 or ghae-next %}You should set the permissions for this access token in the workflow file to grant read access for the `contents` scope and write access for the `packages` scope. {% else %}It has read and write permissions for packages in the repository where the workflow runs. {% endif %}For more information, see "[Authenticating with the GITHUB_TOKEN](/actions/configuring-and-managing-workflows/authenticating-with-the-github_token)." diff --git a/data/reusables/github-actions/ip-allow-list-self-hosted-runners.md b/data/reusables/github-actions/ip-allow-list-self-hosted-runners.md index f24c38c911..e149d24273 100644 --- a/data/reusables/github-actions/ip-allow-list-self-hosted-runners.md +++ b/data/reusables/github-actions/ip-allow-list-self-hosted-runners.md @@ -1,4 +1,4 @@ -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} To allow your {% data variables.actions.hosted_runner %}s to communicate with {% data variables.product.prodname_dotcom %}, add the IP address or IP address range of your {% data variables.actions.hosted_runner %}s to the IP allow list. For more information, see "[Adding an allowed IP address](#adding-an-allowed-ip-address)." {% else %} {% warning %} diff --git a/data/reusables/github-actions/publish-to-packages-workflow-step.md b/data/reusables/github-actions/publish-to-packages-workflow-step.md index c5a1bf2f45..75e13b3341 100644 --- a/data/reusables/github-actions/publish-to-packages-workflow-step.md +++ b/data/reusables/github-actions/publish-to-packages-workflow-step.md @@ -1 +1 @@ -Runs the `mvn --batch-mode deploy` command to publish to {% data variables.product.prodname_registry %}. The `GITHUB_TOKEN` environment variable will be set with the contents of the `GITHUB_TOKEN` secret. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %}The `permissions` key specifies the access granted to the `GITHUB_TOKEN`.{% endif %} +Runs the `mvn --batch-mode deploy` command to publish to {% data variables.product.prodname_registry %}. The `GITHUB_TOKEN` environment variable will be set with the contents of the `GITHUB_TOKEN` secret. {% ifversion fpt or ghes > 3.1 or ghae-next %}The `permissions` key specifies the access granted to the `GITHUB_TOKEN`.{% endif %} diff --git a/data/reusables/github-actions/self-hosted-runner-configure-runner-group-access.md b/data/reusables/github-actions/self-hosted-runner-configure-runner-group-access.md index a17aeed52f..f12f7ae58e 100644 --- a/data/reusables/github-actions/self-hosted-runner-configure-runner-group-access.md +++ b/data/reusables/github-actions/self-hosted-runner-configure-runner-group-access.md @@ -1,4 +1,4 @@ -1. In the {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %} section of the settings page, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} next to the runner group you'd like to configure, then click **Edit name and [organization|repository] access**. +1. In the {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %} section of the settings page, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} next to the runner group you'd like to configure, then click **Edit name and [organization|repository] access**. ![Manage repository permissions](/assets/images/help/settings/actions-runner-manage-permissions.png) 1. Modify your policy options, or change the runner group name. diff --git a/data/reusables/github-actions/self-hosted-runner-list.md b/data/reusables/github-actions/self-hosted-runner-list.md index a5658ff109..6edf2cb3f9 100644 --- a/data/reusables/github-actions/self-hosted-runner-list.md +++ b/data/reusables/github-actions/self-hosted-runner-list.md @@ -1 +1 @@ - 1. Locate the list of runners under {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %}. + 1. Locate the list of runners under {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %}. diff --git a/data/reusables/github-actions/self-hosted-runner-management-permissions-required.md b/data/reusables/github-actions/self-hosted-runner-management-permissions-required.md index bb97717160..3d2c105867 100644 --- a/data/reusables/github-actions/self-hosted-runner-management-permissions-required.md +++ b/data/reusables/github-actions/self-hosted-runner-management-permissions-required.md @@ -1,9 +1,9 @@ -A self-hosted runner can be located in either your repository, organization, or {% if currentVersion == "free-pro-team@latest" %}enterprise account settings on {% data variables.product.prodname_dotcom %}{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} enterprise settings on {% data variables.product.product_location %}{% endif %}. To manage a self-hosted runner, you must have the following permissions, depending on where the self-hosted runner was added: +A self-hosted runner can be located in either your repository, organization, or {% ifversion fpt %}enterprise account settings on {% data variables.product.prodname_dotcom %}{% elsif ghes > 2.21 or ghae %} enterprise settings on {% data variables.product.product_location %}{% endif %}. To manage a self-hosted runner, you must have the following permissions, depending on where the self-hosted runner was added: - **User repository**: You must be the repository owner. - **Organization**: You must be an organization owner. - **Organization repository**: You must be an organization owner, or have admin access to the repository. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} - **Enterprise account**: You must be an enterprise owner. -{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% elsif ghes > 2.21 or ghae %} - **Enterprise**: You must be a {% data variables.product.prodname_enterprise %} site administrator. {% endif %} diff --git a/data/reusables/github-actions/self-hosted-runner-navigate-to-repo-org-enterprise.md b/data/reusables/github-actions/self-hosted-runner-navigate-to-repo-org-enterprise.md index 697fb5020b..24e3e211ae 100644 --- a/data/reusables/github-actions/self-hosted-runner-navigate-to-repo-org-enterprise.md +++ b/data/reusables/github-actions/self-hosted-runner-navigate-to-repo-org-enterprise.md @@ -1,10 +1,10 @@ 1. Navigate to where your self-hosted runner is registered: * **In an organization or repository**: navigate to the main page and click {% octicon "gear" aria-label="The Settings gear" %} **Settings**. - * {% if currentVersion == "free-pro-team@latest" %}**If using an enterprise account**: navigate to your enterprise account by visiting `https://github.com/enterprises/ENTERPRISE-NAME`, replacing `ENTERPRISE-NAME` with your enterprise account's name.{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}**If using an enterprise-level runner**: + * {% ifversion fpt %}**If using an enterprise account**: navigate to your enterprise account by visiting `https://github.com/enterprises/ENTERPRISE-NAME`, replacing `ENTERPRISE-NAME` with your enterprise account's name.{% elsif ghes > 2.21 or ghae %}**If using an enterprise-level runner**: 1. In the upper-right corner of any page, click {% octicon "rocket" aria-label="The rocket ship" %}. 1. In the left sidebar, click **Enterprise overview**. 1. {% endif %} In the enterprise sidebar, {% octicon "law" aria-label="The law icon" %} **Policies**. 1. Navigate to the {% data variables.product.prodname_actions %} settings: - * **In an organization or repository**: Click **Actions** in the left sidebar{% if currentVersion == "free-pro-team@latest" %}, then click **Runners**{% endif %}. - * {% if currentVersion == "free-pro-team@latest" %}**If using an enterprise account**:{% elsif enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}**If using an enterprise-level runner**:{% endif %} Click **Actions** under "{% octicon "law" aria-label="The law icon" %} Policies"{% if currentVersion == "free-pro-team@latest" %}, then click the **Runners** tab{% endif %}. + * **In an organization or repository**: Click **Actions** in the left sidebar{% ifversion fpt %}, then click **Runners**{% endif %}. + * {% ifversion fpt %}**If using an enterprise account**:{% elsif ghes > 2.21 or ghae %}**If using an enterprise-level runner**:{% endif %} Click **Actions** under "{% octicon "law" aria-label="The law icon" %} Policies"{% ifversion fpt %}, then click the **Runners** tab{% endif %}. diff --git a/data/reusables/github-actions/self-hosted-runner-removing-a-runner.md b/data/reusables/github-actions/self-hosted-runner-removing-a-runner.md index 33066b967c..44f3b792d0 100644 --- a/data/reusables/github-actions/self-hosted-runner-removing-a-runner.md +++ b/data/reusables/github-actions/self-hosted-runner-removing-a-runner.md @@ -1,4 +1,4 @@ -1. Under {% if currentVersion == "free-pro-team@latest" %}"Runners"{% else %}"Self-hosted runners"{% endif %}, locate the runner in the list. If your runner is in a group, click {% octicon "chevron-down" aria-label="The downwards chevron" %} to expand the list. +1. Under {% ifversion fpt %}"Runners"{% else %}"Self-hosted runners"{% endif %}, locate the runner in the list. If your runner is in a group, click {% octicon "chevron-down" aria-label="The downwards chevron" %} to expand the list. 1. Click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %} next to the runner you want to remove, then click **Remove**. ![Removing a self-hosted runner setting](/assets/images/help/settings/actions-runner-remove.png) diff --git a/data/reusables/github-actions/settings-sidebar-actions-runners.md b/data/reusables/github-actions/settings-sidebar-actions-runners.md index 58e56cf8d6..cf1a5ba36f 100644 --- a/data/reusables/github-actions/settings-sidebar-actions-runners.md +++ b/data/reusables/github-actions/settings-sidebar-actions-runners.md @@ -1 +1 @@ -1. In the left sidebar, click **Actions**{% if currentVersion == "free-pro-team@latest" %}, then click **Runners**{% endif %}. +1. In the left sidebar, click **Actions**{% ifversion fpt %}, then click **Runners**{% endif %}. diff --git a/data/reusables/github-actions/usage-workflow-queue-limits.md b/data/reusables/github-actions/usage-workflow-queue-limits.md index fead0ecd34..c1c1d77e8f 100644 --- a/data/reusables/github-actions/usage-workflow-queue-limits.md +++ b/data/reusables/github-actions/usage-workflow-queue-limits.md @@ -1 +1 @@ -- **Workflow run queue** - No more than 100 workflow runs can be queued in a 10 second interval per repository. If a workflow run reaches this limit, the workflow run is terminated and fails to complete. \ No newline at end of file +- **Workflow run queue** - No more than 100 workflow runs can be queued in a 10 second interval per repository. If a workflow run reaches this limit, the workflow run is terminated and fails to complete. diff --git a/data/reusables/github-actions/workflow-permissions-modifying.md b/data/reusables/github-actions/workflow-permissions-modifying.md index 14ee1f9279..c90fffac7f 100644 --- a/data/reusables/github-actions/workflow-permissions-modifying.md +++ b/data/reusables/github-actions/workflow-permissions-modifying.md @@ -1 +1 @@ -Anyone with write access to a repository can modify the permissions granted to the `GITHUB_TOKEN`, adding or removing access as required, by editing the `permissions` key in the workflow file. For more information, see [`permissions`](/actions/reference/workflow-syntax-for-github-actions#permissions). \ No newline at end of file +Anyone with write access to a repository can modify the permissions granted to the `GITHUB_TOKEN`, adding or removing access as required, by editing the `permissions` key in the workflow file. For more information, see [`permissions`](/actions/reference/workflow-syntax-for-github-actions#permissions). diff --git a/data/reusables/github-ae/about-billing.md b/data/reusables/github-ae/about-billing.md index 9e7ed843b2..2b7559529d 100644 --- a/data/reusables/github-ae/about-billing.md +++ b/data/reusables/github-ae/about-billing.md @@ -1 +1 @@ -You will receive a monthly bill for {% data variables.product.prodname_ghe_managed %}, with charges that are calculated per licensed user per day. \ No newline at end of file +You will receive a monthly bill for {% data variables.product.prodname_ghe_managed %}, with charges that are calculated per licensed user per day. diff --git a/data/reusables/github-insights/enterprise-api-url.md b/data/reusables/github-insights/enterprise-api-url.md index 061c6b351b..50d287ab8f 100644 --- a/data/reusables/github-insights/enterprise-api-url.md +++ b/data/reusables/github-insights/enterprise-api-url.md @@ -1,2 +1,2 @@ -1. Under "{% data variables.product.prodname_dotcom %} API URL", type {% if currentVersion == "free-pro-team@latest" %}https://api.github.com{% else %}the URL you use to access {% data variables.product.product_name %}{% endif %}. +1. Under "{% data variables.product.prodname_dotcom %} API URL", type {% ifversion fpt %}https://api.github.com{% else %}the URL you use to access {% data variables.product.product_name %}{% endif %}. ![{% data variables.product.prodname_enterprise %} API URL field](/assets/images/help/insights/enterprise-api-url.png) diff --git a/data/reusables/gpg/private-email.md b/data/reusables/gpg/private-email.md index 14d4c64969..e93a1e448a 100644 --- a/data/reusables/gpg/private-email.md +++ b/data/reusables/gpg/private-email.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} To keep your email address private, use your {% data variables.product.product_name %}-provided `no-reply` email address. {% endif %} diff --git a/data/reusables/identity-and-permissions/vigilant-mode-beta-note.md b/data/reusables/identity-and-permissions/vigilant-mode-beta-note.md index bb9ea14675..3d5fad46cf 100644 --- a/data/reusables/identity-and-permissions/vigilant-mode-beta-note.md +++ b/data/reusables/identity-and-permissions/vigilant-mode-beta-note.md @@ -2,4 +2,4 @@ **Note:** Vigilant mode is currently in beta and subject to change. -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/large_files/can-include-lfs-objects-archives.md b/data/reusables/large_files/can-include-lfs-objects-archives.md index b059527140..f5349707cd 100644 --- a/data/reusables/large_files/can-include-lfs-objects-archives.md +++ b/data/reusables/large_files/can-include-lfs-objects-archives.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} You can choose whether {% data variables.large_files.product_name_short %} objects are included in source code archives, such as ZIP files and tarballs, that {% data variables.product.product_name %} creates for your repository. For more information, see "[Managing {% data variables.large_files.product_name_short %} objects in archives of your repository](/github/administering-a-repository/managing-git-lfs-objects-in-archives-of-your-repository)." {% endif %} diff --git a/data/reusables/large_files/storage_assets_location.md b/data/reusables/large_files/storage_assets_location.md index e80c727c0b..391d35a2f9 100644 --- a/data/reusables/large_files/storage_assets_location.md +++ b/data/reusables/large_files/storage_assets_location.md @@ -1,3 +1,3 @@ -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} By default, the {% data variables.large_files.product_name_long %} client stores large assets on the same server that hosts the Git repository. When {% data variables.large_files.product_name_short %} is enabled on {% data variables.product.product_location %}, large assets are stored on the data partition in `/data/user/storage`. -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/mobile/push-notifications-on-ghes.md b/data/reusables/mobile/push-notifications-on-ghes.md index 954c32fc7b..c53ecdb107 100644 --- a/data/reusables/mobile/push-notifications-on-ghes.md +++ b/data/reusables/mobile/push-notifications-on-ghes.md @@ -1 +1 @@ -{% data variables.product.prodname_ghe_server %} uses background fetch to support push notifications without sending your information to a third-party service, so you may experience a delay in receiving push notifications. \ No newline at end of file +{% data variables.product.prodname_ghe_server %} uses background fetch to support push notifications without sending your information to a third-party service, so you may experience a delay in receiving push notifications. diff --git a/data/reusables/notifications-v2/custom-notification-types.md b/data/reusables/notifications-v2/custom-notification-types.md index e5d59aceea..c8c8e76c75 100644 --- a/data/reusables/notifications-v2/custom-notification-types.md +++ b/data/reusables/notifications-v2/custom-notification-types.md @@ -1,2 +1,2 @@ -{%- if currentVersion == "free-pro-team@latest" %}issues, pulls requests, releases, security alerts, or discussions{% endif %} -{%- if currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %}issues, pull requests, releases, or discussions{% endif %} +{%- ifversion fpt %}issues, pulls requests, releases, security alerts, or discussions{% endif %} +{%- ifversion ghes > 3.0 or ghae-next %}issues, pull requests, releases, or discussions{% endif %} diff --git a/data/reusables/notifications-v2/email-notification-caveats.md b/data/reusables/notifications-v2/email-notification-caveats.md index 0aaa0858e9..370fdb84ea 100644 --- a/data/reusables/notifications-v2/email-notification-caveats.md +++ b/data/reusables/notifications-v2/email-notification-caveats.md @@ -1,5 +1,5 @@ You'll only receive notification emails if you've chosen to receive email notifications in your notification settings. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% data reusables.user_settings.verify-org-approved-email-domain %} {% endif %} diff --git a/data/reusables/notifications/outbound_email_tip.md b/data/reusables/notifications/outbound_email_tip.md index ccc9630593..9c7e66a4ee 100644 --- a/data/reusables/notifications/outbound_email_tip.md +++ b/data/reusables/notifications/outbound_email_tip.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} {% note %} **Note**: You'll only receive email notifications if outbound email support is enabled on {% data variables.product.product_location %}. For more information, contact your site administrator. diff --git a/data/reusables/notifications/shared_state.md b/data/reusables/notifications/shared_state.md index d6b53f6675..b4200510fd 100644 --- a/data/reusables/notifications/shared_state.md +++ b/data/reusables/notifications/shared_state.md @@ -1,5 +1,5 @@ {% tip %} -**Tip:** If you receive both web and email notifications, you can automatically sync the read or unread status of the notification so that web notifications are automatically marked as read once you've read the corresponding email notification. To enable this sync, your email client must be able to view images from {% if currentVersion == "free-pro-team@latest" %}`notifications@github.com`{% else %}the `no-reply` email address {% if currentVersion == "github-ae@latest" %}for your {% data variables.product.product_name %} hostname{% elsif enterpriseServerVersions contains currentVersion %}for {% data variables.product.product_location %}, which your site administrator configures{% endif %}{% endif %}. +**Tip:** If you receive both web and email notifications, you can automatically sync the read or unread status of the notification so that web notifications are automatically marked as read once you've read the corresponding email notification. To enable this sync, your email client must be able to view images from {% ifversion fpt %}`notifications@github.com`{% else %}the `no-reply` email address {% ifversion ghae %}for your {% data variables.product.product_name %} hostname{% elsif ghes %}for {% data variables.product.product_location %}, which your site administrator configures{% endif %}{% endif %}. {% endtip %} diff --git a/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization.md b/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization.md index 69c86bba5e..c209cc5d02 100644 --- a/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization.md +++ b/data/reusables/notifications/vulnerable-dependency-notification-delivery-method-customization.md @@ -1,5 +1,5 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can choose the delivery method and frequency of notifications about {% data variables.product.prodname_dependabot_alerts %} on repositories that you are watching or where you have subscribed to notifications for security alerts. {% else %} -You can choose the delivery method for notifications about {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} on repositories that you are watching, as well as the frequency at which the notifications are sent to you. +You can choose the delivery method for notifications about {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} on repositories that you are watching, as well as the frequency at which the notifications are sent to you. {% endif %} diff --git a/data/reusables/notifications/vulnerable-dependency-notification-options.md b/data/reusables/notifications/vulnerable-dependency-notification-options.md index 8bd3744ea0..c1237a43c9 100644 --- a/data/reusables/notifications/vulnerable-dependency-notification-options.md +++ b/data/reusables/notifications/vulnerable-dependency-notification-options.md @@ -1,5 +1,5 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} -{% if currentVersion == "free-pro-team@latest"%}By default, you will receive notifications:{% endif %}{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@3.1" %}By default, if your site administrator has configured email for notifications on your instance, you will receive {% data variables.product.prodname_dependabot_alerts %}:{% endif %} +{% ifversion fpt or ghes > 3.1 %} +{% ifversion fpt %}By default, you will receive notifications:{% endif %}{% ifversion ghes > 3.1 %}By default, if your site administrator has configured email for notifications on your instance, you will receive {% data variables.product.prodname_dependabot_alerts %}:{% endif %} - by email, an email is sent when {% data variables.product.prodname_dependabot %} is enabled for a repository, when a new manifest file is committed to the repository, and when a new vulnerability with a critical or high severity is found (**Email each time a vulnerability is found** option). - in the user interface, a warning is shown in your repository's file and code views if there are any vulnerable dependencies (**UI alerts** option). @@ -20,17 +20,17 @@ You can customize the way you are notified about {% data variables.product.prodname_dependabot_alerts %}. For example, you can receive a weekly digest email summarizing alerts for up to 10 of your repositories using the **Email a digest summary of vulnerabilities** and **Weekly security email digest** options. {% endif %} -{% if currentVersion == "enterprise-server@2.22" or currentVersion == "enterprise-server@3.0" or currentVersion == "enterprise-server@3.1" %} +{% ifversion ghes = 2.22 or ghes = 3.0 or ghes = 3.1 %} By default, if your site administrator has configured email for notifications on your instance, you will receive {% data variables.product.prodname_dependabot_alerts %}: -- by email, an email is sent every time a vulnerability {% if currentVersion ver_gt "enterprise-server@2.23" %}with a critical or high severity {% endif %}is found (**Email each time a vulnerability is found** option) +- by email, an email is sent every time a vulnerability {% ifversion ghes > 3.0 %}with a critical or high severity {% endif %}is found (**Email each time a vulnerability is found** option) - in the user interface, a warning is shown in your repository's file and code views if there are any vulnerable dependencies (**UI alerts** option) - on the command line, warnings are displayed as callbacks when you push to repositories with any vulnerable dependencies (**Command Line** option) -- in your inbox, as web notifications {% if currentVersion ver_gt "enterprise-server@2.23" %}for new vulnerabilities with a critical or high severity {% endif %}(**Web** option) +- in your inbox, as web notifications {% ifversion ghes > 3.0 %}for new vulnerabilities with a critical or high severity {% endif %}(**Web** option) You can customize the way you are notified about {% data variables.product.prodname_dependabot_alerts %}. For example, you can receive a weekly digest email summarizing alerts for up to 10 of your repositories using the **Email a digest summary of vulnerabilities** and **Weekly security email digest** options. {% endif %} -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} By default, if your site administrator has configured email for notifications on your instance, you will receive security alerts: - by email, an email is sent every time a vulnerability is found (**Email each time a vulnerability is found** option) - in the user interface, as warnings in your repository's file and code views (**UI alerts** option) diff --git a/data/reusables/organizations/add-dns-txt-record.md b/data/reusables/organizations/add-dns-txt-record.md index 521dc35263..22b33c2bd6 100644 --- a/data/reusables/organizations/add-dns-txt-record.md +++ b/data/reusables/organizations/add-dns-txt-record.md @@ -1,2 +1,2 @@ 1. Follow the instructions under **Add a DNS TXT record** to create a DNS TXT record with your domain hosting service. - ![Instructions to create a DNS txt record](/assets/images/help/organizations/create-dns-txt-record-instructions.png) \ No newline at end of file + ![Instructions to create a DNS txt record](/assets/images/help/organizations/create-dns-txt-record-instructions.png) diff --git a/data/reusables/organizations/add-domain.md b/data/reusables/organizations/add-domain.md index 9f0b45e444..e2b8a9b2e1 100644 --- a/data/reusables/organizations/add-domain.md +++ b/data/reusables/organizations/add-domain.md @@ -1,2 +1,2 @@ 1. In the domain field, type the domain you'd like to verify, then click **Add domain**. - ![Add a domain field](/assets/images/help/organizations/add-domain-field.png) \ No newline at end of file + ![Add a domain field](/assets/images/help/organizations/add-domain-field.png) diff --git a/data/reusables/organizations/cancel_org_invite.md b/data/reusables/organizations/cancel_org_invite.md index 4b034cd539..5e99af9565 100644 --- a/data/reusables/organizations/cancel_org_invite.md +++ b/data/reusables/organizations/cancel_org_invite.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can [edit or cancel an invitation](/articles/canceling-or-editing-an-invitation-to-join-your-organization) any time before the user accepts. {% endif %} diff --git a/data/reusables/organizations/choose-to-restore-privileges.md b/data/reusables/organizations/choose-to-restore-privileges.md index 54828e3a76..7c0ab787e2 100644 --- a/data/reusables/organizations/choose-to-restore-privileges.md +++ b/data/reusables/organizations/choose-to-restore-privileges.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %}1. If the person you're inviting was an organization member within the last three months, choose whether to restore their privileges or start fresh, then click **Invite and reinstate** or **Invite and start fresh**. +{% ifversion fpt %}1. If the person you're inviting was an organization member within the last three months, choose whether to restore their privileges or start fresh, then click **Invite and reinstate** or **Invite and start fresh**. ![Choose whether to restore privileges](/assets/images/help/organizations/choose_whether_to_restore_org_member_info.png){% else %} 1. If the person you're adding was an organization member within the last three months, choose whether to restore their privileges or start fresh, then click **Add and reinstate** or **Add and start fresh**. ![Choose whether to restore privileges](/assets/images/help/organizations/choose_whether_to_restore_org_member_info_ghe.png){% endif %} diff --git a/data/reusables/organizations/choose-user-role-send-invitation.md b/data/reusables/organizations/choose-user-role-send-invitation.md index 69fb91b60c..74459ff737 100644 --- a/data/reusables/organizations/choose-user-role-send-invitation.md +++ b/data/reusables/organizations/choose-user-role-send-invitation.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %}1. If the person you're inviting has never been a member of the organization or if you cleared their privileges, choose a role for the user and optionally add them to some teams, then click **Send invitation**. +{% ifversion fpt %}1. If the person you're inviting has never been a member of the organization or if you cleared their privileges, choose a role for the user and optionally add them to some teams, then click **Send invitation**. ![Role and team options and send invitation button](/assets/images/help/organizations/add-role-send-invitation.png){% else %} 1. If the person you're inviting has never been a member of the organization or if you cleared their privileges, choose a role for the user, and optionally add them to some teams, then click **Add member**. ![Role and team options and add member button](/assets/images/help/organizations/add-role-add-member.png){% else %} diff --git a/data/reusables/organizations/continue-verifying-domain.md b/data/reusables/organizations/continue-verifying-domain.md index e58126afc0..9da0027b4c 100644 --- a/data/reusables/organizations/continue-verifying-domain.md +++ b/data/reusables/organizations/continue-verifying-domain.md @@ -1,4 +1,4 @@ 9. To the right of the domain that's pending verification, click {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}, then click **Continue verifying**. ![Continue verifying domain button](/assets/images/help/organizations/continue-verifying-domain.png) 10. Click **Verify**. -![Verify button](/assets/images/help/organizations/verify-domain-final-button.png) \ No newline at end of file +![Verify button](/assets/images/help/organizations/verify-domain-final-button.png) diff --git a/data/reusables/organizations/filter-security-overview.md b/data/reusables/organizations/filter-security-overview.md index 2b94e5f9f8..fd2e9f2a7d 100644 --- a/data/reusables/organizations/filter-security-overview.md +++ b/data/reusables/organizations/filter-security-overview.md @@ -1,2 +1,2 @@ 1. Optionally, filter the list of alerts. You can click multiple filters in the drop-down filter menus to narrow your search. You can also type search qualifiers in the **Search repositories** field. For more information about the available qualifiers, see "[Filtering the list of alerts](#filtering-the-list-of-alerts)." - ![The drop-down filter menus and Search repositories field in the security overview](/assets/images/help/organizations/security-overview-filter-alerts.png) \ No newline at end of file + ![The drop-down filter menus and Search repositories field in the security overview](/assets/images/help/organizations/security-overview-filter-alerts.png) diff --git a/data/reusables/organizations/internal-repos-enterprise.md b/data/reusables/organizations/internal-repos-enterprise.md index 6a6510a4db..56325061ae 100644 --- a/data/reusables/organizations/internal-repos-enterprise.md +++ b/data/reusables/organizations/internal-repos-enterprise.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** Internal repositories are available for organizations that are part of an enterprise account. For more information, see "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility)." diff --git a/data/reusables/organizations/invite_member_from_people_tab.md b/data/reusables/organizations/invite_member_from_people_tab.md index 06096ac127..ddec309fd2 100644 --- a/data/reusables/organizations/invite_member_from_people_tab.md +++ b/data/reusables/organizations/invite_member_from_people_tab.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %}1. On the People tab, click **Invite member**. +{% ifversion fpt %}1. On the People tab, click **Invite member**. ![Invite member button](/assets/images/help/organizations/people-tab-invite-member.png){% else %} 1. On the People tab, click **Add member**. ![Add member button](/assets/images/help/organizations/people-tab-invite-member-ghe.png){% endif %} diff --git a/data/reusables/organizations/invite_to_org.md b/data/reusables/organizations/invite_to_org.md index dd528442c2..2b3871721d 100644 --- a/data/reusables/organizations/invite_to_org.md +++ b/data/reusables/organizations/invite_to_org.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %}1. Type the username, full name, or email address of the person you want to invite and click **Invite**. +{% ifversion fpt %}1. Type the username, full name, or email address of the person you want to invite and click **Invite**. ![Invite member form](/assets/images/help/organizations/org-invite-modal.png){% else %} 1. Type the username, full name, or email address of the person you want to add and click **Invite**. ![Invite member form](/assets/images/help/organizations/org-invite-modal.png){% endif %} diff --git a/data/reusables/organizations/invite_to_team.md b/data/reusables/organizations/invite_to_team.md index 3b4e91247a..6dc3030bf8 100644 --- a/data/reusables/organizations/invite_to_team.md +++ b/data/reusables/organizations/invite_to_team.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. Add an organization member to the team or invite a non-member to join a team: - If the person you want to add is already a member of your organization, type their username and click **Enter**. The user will immediately be added to the team. - If the person you want to add is not member of your organization, type their username or email address and click **Enter**. The user will receive an email invitation to join your organization and will be added to the team once they accept the invitation.{% else %} diff --git a/data/reusables/organizations/oauth_app_access.md b/data/reusables/organizations/oauth_app_access.md index 1192379478..b705d8a458 100644 --- a/data/reusables/organizations/oauth_app_access.md +++ b/data/reusables/organizations/oauth_app_access.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. In the Settings sidebar, click **Third-party access**. ![{% data variables.product.prodname_oauth_app %} access tab in the left sidebar](/assets/images/help/settings/settings-sidebar-third-party-access.png) {% endif %} diff --git a/data/reusables/organizations/oauth_app_restrictions_default.md b/data/reusables/organizations/oauth_app_restrictions_default.md index 7eefcf9033..1fd7d50bcf 100644 --- a/data/reusables/organizations/oauth_app_restrictions_default.md +++ b/data/reusables/organizations/oauth_app_restrictions_default.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}When you create a new organization, {% data variables.product.prodname_oauth_app %} access restrictions are enabled by default. Organization owners can [disable {% data variables.product.prodname_oauth_app %} access restrictions](/articles/disabling-oauth-app-access-restrictions-for-your-organization) at any time.{% endif %} +{% ifversion fpt %}When you create a new organization, {% data variables.product.prodname_oauth_app %} access restrictions are enabled by default. Organization owners can [disable {% data variables.product.prodname_oauth_app %} access restrictions](/articles/disabling-oauth-app-access-restrictions-for-your-organization) at any time.{% endif %} diff --git a/data/reusables/organizations/organizations_include.md b/data/reusables/organizations/organizations_include.md index 766b2394dc..3cdad3f096 100644 --- a/data/reusables/organizations/organizations_include.md +++ b/data/reusables/organizations/organizations_include.md @@ -1,9 +1,9 @@ Organizations include: -{% if currentVersion == "free-pro-team@latest" %}- A free option, {% data variables.product.prodname_free_team %}, with unlimited collaborators on unlimited public repositories with full features and unlimited private repositories with limited features. +{% ifversion fpt %}- A free option, {% data variables.product.prodname_free_team %}, with unlimited collaborators on unlimited public repositories with full features and unlimited private repositories with limited features. - The option to upgrade to {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %} for additional features, including sophisticated user authentication and management, and escalated support options. {% data reusables.gated-features.more-info %}{% endif %} - Unlimited membership with a variety of roles that grant [different levels of access to the organization and its data](/articles/permission-levels-for-an-organization) - The ability to give members [a range of access permissions to your organization's repositories](/articles/repository-permission-levels-for-an-organization) -- [Nested teams that reflect your company or group's structure](/articles/about-teams) with cascading access permissions and mentions{% if currentVersion != "github-ae@latest" %} +- [Nested teams that reflect your company or group's structure](/articles/about-teams) with cascading access permissions and mentions{% ifversion not ghae %} - The ability for organization owners to view members' [two-factor authentication (2FA) status](/articles/about-two-factor-authentication) - The option to [require all organization members to use two-factor authentication](/articles/requiring-two-factor-authentication-in-your-organization){% endif %} -{% if currentVersion == "free-pro-team@latest" %}- The option to purchase a license for {% data variables.product.prodname_GH_advanced_security %} and use the features on private repositories. {% data reusables.advanced-security.more-info-ghas %}{% endif %} +{% ifversion fpt %}- The option to purchase a license for {% data variables.product.prodname_GH_advanced_security %} and use the features on private repositories. {% data reusables.advanced-security.more-info-ghas %}{% endif %} diff --git a/data/reusables/organizations/outside-collaborators-use-seats.md b/data/reusables/organizations/outside-collaborators-use-seats.md index e35f268ad8..014e747ead 100644 --- a/data/reusables/organizations/outside-collaborators-use-seats.md +++ b/data/reusables/organizations/outside-collaborators-use-seats.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}Adding an outside collaborator to a private repository will use one of your organization's paid licenses. For more information, see "[About per-user pricing](/articles/about-per-user-pricing/)."{% endif %} +{% ifversion fpt %}Adding an outside collaborator to a private repository will use one of your organization's paid licenses. For more information, see "[About per-user pricing](/articles/about-per-user-pricing/)."{% endif %} diff --git a/data/reusables/organizations/restrict-email-notifications.md b/data/reusables/organizations/restrict-email-notifications.md index 28887fa67c..1719dfeb36 100644 --- a/data/reusables/organizations/restrict-email-notifications.md +++ b/data/reusables/organizations/restrict-email-notifications.md @@ -1,2 +1,2 @@ 1. Under "Enforcement preferences", select **Restrict email notifications to domain email**. - ![Checkbox to restrict email notifications to verified domain emails](/assets/images/help/organizations/restrict-email-notifications-to-domain.png) \ No newline at end of file + ![Checkbox to restrict email notifications to verified domain emails](/assets/images/help/organizations/restrict-email-notifications-to-domain.png) diff --git a/data/reusables/organizations/security-overview.md b/data/reusables/organizations/security-overview.md index d0d8d02156..2f367e4535 100644 --- a/data/reusables/organizations/security-overview.md +++ b/data/reusables/organizations/security-overview.md @@ -1,2 +1,2 @@ 1. Under your organization name, click {% octicon "shield" aria-label="The Security shield" %} **Security**. -![Organization security button](/assets/images/help/organizations/organization-security-tab.png) \ No newline at end of file +![Organization security button](/assets/images/help/organizations/organization-security-tab.png) diff --git a/data/reusables/organizations/security.md b/data/reusables/organizations/security.md index a29659283c..a8577247e7 100644 --- a/data/reusables/organizations/security.md +++ b/data/reusables/organizations/security.md @@ -1,6 +1,6 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 2.21 or ghae %} 1. In the left sidebar, click **Organization security**. {% else %} 1. In the left sidebar, click **Security**. {% endif %} - ![Organization security settings](/assets/images/help/organizations/org-security-settings-tab.png) \ No newline at end of file + ![Organization security settings](/assets/images/help/organizations/org-security-settings-tab.png) diff --git a/data/reusables/organizations/send-invitation.md b/data/reusables/organizations/send-invitation.md index f1b7420e05..c2bfc336b3 100644 --- a/data/reusables/organizations/send-invitation.md +++ b/data/reusables/organizations/send-invitation.md @@ -1 +1 @@ -1. Click {% if currentVersion == "free-pro-team@latest" %}**Send invitation**{% else %}**Add member**{% endif %}. +1. Click {% ifversion fpt %}**Send invitation**{% else %}**Add member**{% endif %}. diff --git a/data/reusables/organizations/team-synchronization.md b/data/reusables/organizations/team-synchronization.md index 94743620fb..e088d9bccf 100644 --- a/data/reusables/organizations/team-synchronization.md +++ b/data/reusables/organizations/team-synchronization.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghae %} You can use team synchronization to automatically add and remove organization members to teams through an identity provider. For more information, see "[Synchronizing a team with an identity provider group](/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group)." {% endif %} diff --git a/data/reusables/organizations/team_maintainers_can.md b/data/reusables/organizations/team_maintainers_can.md index 8c68c29077..eadd061373 100644 --- a/data/reusables/organizations/team_maintainers_can.md +++ b/data/reusables/organizations/team_maintainers_can.md @@ -10,6 +10,6 @@ Members with team maintainer permissions can: - [Add organization members to the team](/articles/adding-organization-members-to-a-team) - [Remove organization members from the team](/articles/removing-organization-members-from-a-team) - [Promote an existing team member to team maintainer](/articles/giving-team-maintainer-permissions-to-an-organization-member) -- Remove the team's access to repositories{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} -- [Manage code review assignment for the team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team){% endif %}{% if currentVersion == "free-pro-team@latest" %} +- Remove the team's access to repositories{% ifversion fpt or ghes or ghae %} +- [Manage code review assignment for the team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team){% endif %}{% ifversion fpt %} - [Manage scheduled reminders for pull requests](/github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests){% endif %} diff --git a/data/reusables/organizations/verified-domains-details.md b/data/reusables/organizations/verified-domains-details.md index da065f8dd0..fb3549b4aa 100644 --- a/data/reusables/organizations/verified-domains-details.md +++ b/data/reusables/organizations/verified-domains-details.md @@ -1 +1 @@ -To display a "Verified" badge, the website and email information shown on an organization's profile must match the verified domain or domains. If the website and email address shown on your organization's profile are hosted on different domains, you must verify both domains. If the website and email address use variants of the same domain, you must verify both variants. For example, if the profile shows the website `www.example.com` and the email address `info@example.com`, you would need to verify both `www.example.com` and `example.com`. \ No newline at end of file +To display a "Verified" badge, the website and email information shown on an organization's profile must match the verified domain or domains. If the website and email address shown on your organization's profile are hosted on different domains, you must verify both domains. If the website and email address use variants of the same domain, you must verify both variants. For example, if the profile shows the website `www.example.com` and the email address `info@example.com`, you would need to verify both `www.example.com` and `example.com`. diff --git a/data/reusables/package_registry/about-packaging-and-actions.md b/data/reusables/package_registry/about-packaging-and-actions.md index 4021bde585..114804e615 100644 --- a/data/reusables/package_registry/about-packaging-and-actions.md +++ b/data/reusables/package_registry/about-packaging-and-actions.md @@ -8,7 +8,7 @@ For example, a continuous integration workflow for a Java project may run `mvn p Now, when reviewing a pull request, you'll be able to look at the workflow run and download the artifact that was produced. -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion fpt or ghes > 3.0 or ghae %} ![Download artifact drop-down menu](/assets/images/help/repository/artifact-drop-down-updated.png) {% else %} ![Download artifact drop-down menu](/assets/images/help/repository/artifact-drop-down.png) diff --git a/data/reusables/package_registry/admins-can-configure-package-types.md b/data/reusables/package_registry/admins-can-configure-package-types.md index 23e237356b..ec51b73780 100644 --- a/data/reusables/package_registry/admins-can-configure-package-types.md +++ b/data/reusables/package_registry/admins-can-configure-package-types.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} {% note %} **Note:** This package type may not be available for your instance, because site administrators can enable or disable each supported package type. For more information, see "[Configuring packages support for your enterprise](/enterprise/admin/packages/configuring-packages-support-for-your-enterprise)." diff --git a/data/reusables/package_registry/authenticate-packages-github-token.md b/data/reusables/package_registry/authenticate-packages-github-token.md index a02c0f89d8..0fe4ab27d6 100644 --- a/data/reusables/package_registry/authenticate-packages-github-token.md +++ b/data/reusables/package_registry/authenticate-packages-github-token.md @@ -1 +1 @@ -For more information about `GITHUB_TOKEN` used in {% data variables.product.prodname_actions %} workflows, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." \ No newline at end of file +For more information about `GITHUB_TOKEN` used in {% data variables.product.prodname_actions %} workflows, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow)." diff --git a/data/reusables/package_registry/authenticate-packages.md b/data/reusables/package_registry/authenticate-packages.md index 5abadfbc3d..2deda31fd1 100644 --- a/data/reusables/package_registry/authenticate-packages.md +++ b/data/reusables/package_registry/authenticate-packages.md @@ -4,4 +4,4 @@ You can use a personal access token (PAT) to authenticate to {% data variables.p To authenticate to a {% data variables.product.prodname_registry %} registry within a {% data variables.product.prodname_actions %} workflow, you can use: - `GITHUB_TOKEN` to publish packages associated with the workflow repository. -- a PAT to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). \ No newline at end of file +- a PAT to install packages associated with other private repositories (which `GITHUB_TOKEN` can't access). diff --git a/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md b/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md index 29410d7644..117bd9cfaa 100644 --- a/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md +++ b/data/reusables/package_registry/authenticate_with_pat_for_container_registry.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} To authenticate to the {% data variables.product.prodname_container_registry %} within a {% data variables.product.prodname_actions %} workflow, use the `GITHUB_TOKEN` for the best security and experience. If your workflow is using a personal access token (PAT) to authenticate to `ghcr.io`, then we highly recommend you update your workflow to use the `GITHUB_TOKEN`. diff --git a/data/reusables/package_registry/checksum-maven-plugin.md b/data/reusables/package_registry/checksum-maven-plugin.md index b89ac62089..4908f46dc1 100644 --- a/data/reusables/package_registry/checksum-maven-plugin.md +++ b/data/reusables/package_registry/checksum-maven-plugin.md @@ -1,4 +1,4 @@ -{%- if currentVersion == "github-ae@latest" %} +{%- ifversion ghae %} 1. In the `plugins` element of the *pom.xml* file, add the [checksum-maven-plugin](http://checksum-maven-plugin.nicoulaj.net/index.html) plugin, and configure the plugin to send at least SHA-256 checksums. ```xml diff --git a/data/reusables/package_registry/create-npmrc-owner-step.md b/data/reusables/package_registry/create-npmrc-owner-step.md index 54ad4fdbb4..f8f4a5b20c 100644 --- a/data/reusables/package_registry/create-npmrc-owner-step.md +++ b/data/reusables/package_registry/create-npmrc-owner-step.md @@ -1,6 +1,6 @@ 2. In the same directory as your `package.json` file, create or edit an `.npmrc` file to include a line specifying {% data variables.product.prodname_registry %} URL and the account owner. Replace `OWNER` with the name of the user or organization account that owns the repository containing your project. -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} ```shell @OWNER:registry=https://npm.pkg.github.com ``` diff --git a/data/reusables/package_registry/docker_registry_deprecation_status.md b/data/reusables/package_registry/docker_registry_deprecation_status.md index dc348578f8..b773a2e011 100644 --- a/data/reusables/package_registry/docker_registry_deprecation_status.md +++ b/data/reusables/package_registry/docker_registry_deprecation_status.md @@ -1,5 +1,5 @@ {% warning %} -**Note:** The {% data variables.product.prodname_registry %} Docker registry {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} will be superseded in a future {% data variables.product.product_name %} release with the {% data variables.product.prodname_container_registry %}, which offers improved container support.{% elsif currentVersion == "free-pro-team@latest" %} is superseded by the {% data variables.product.prodname_container_registry %}, which offers improved container support. {% endif %} {% if currentVersion == "free-pro-team@latest" %} For more information, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)." {% endif %} +**Note:** The {% data variables.product.prodname_registry %} Docker registry {% ifversion ghes or ghae %} will be superseded in a future {% data variables.product.product_name %} release with the {% data variables.product.prodname_container_registry %}, which offers improved container support.{% elsif fpt %} is superseded by the {% data variables.product.prodname_container_registry %}, which offers improved container support. {% endif %} {% ifversion fpt %} For more information, see "[Migrating to the {% data variables.product.prodname_container_registry %} from the Docker registry](/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry)." {% endif %} {% endwarning %} diff --git a/data/reusables/package_registry/enable-enterprise-github-packages.md b/data/reusables/package_registry/enable-enterprise-github-packages.md index f2002a1fcb..7dea9e81dc 100644 --- a/data/reusables/package_registry/enable-enterprise-github-packages.md +++ b/data/reusables/package_registry/enable-enterprise-github-packages.md @@ -1,4 +1,4 @@ -{% if currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} 1. Under "GitHub Packages", select **Enable GitHub Packages**. ![Checkbox to enable GitHub Packages from Enterprise Management Console menu](/assets/images/help/package-registry/enable-github-packages.png) {% endif %} diff --git a/data/reusables/package_registry/packages-cluster-support.md b/data/reusables/package_registry/packages-cluster-support.md index cb1e4bbb4e..ee3080d08b 100644 --- a/data/reusables/package_registry/packages-cluster-support.md +++ b/data/reusables/package_registry/packages-cluster-support.md @@ -1,4 +1,4 @@ -{% if currentVersion ver_gt "enterprise-server@2.21" %} +{% ifversion ghes > 2.21 %} {% note %} **Note:** {% data variables.product.prodname_registry %} on {% data variables.product.product_name %} does not currently support clustering. diff --git a/data/reusables/package_registry/packages-from-code-tab.md b/data/reusables/package_registry/packages-from-code-tab.md index 17f4c4b7e3..4559b7ca2c 100644 --- a/data/reusables/package_registry/packages-from-code-tab.md +++ b/data/reusables/package_registry/packages-from-code-tab.md @@ -1,5 +1,5 @@ 1. To the right of the list of files, click **Packages**. - {% if currentVersion == "free-pro-team@latest" %} + {% ifversion fpt %} ![Packages link on repo overview page](/assets/images/help/package-registry/packages-link.png) {% else %} ![Packages link on repo overview page](/assets/images/help/package-registry/packages-from-repo.png) diff --git a/data/reusables/package_registry/packages-ghae-release-stage.md b/data/reusables/package_registry/packages-ghae-release-stage.md index 1fa479c335..a5c3b1e42c 100644 --- a/data/reusables/package_registry/packages-ghae-release-stage.md +++ b/data/reusables/package_registry/packages-ghae-release-stage.md @@ -1,4 +1,4 @@ -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} {% note %} **Note:** {% data variables.product.prodname_registry %} is currently in beta for {% data variables.product.prodname_ghe_managed %}. diff --git a/data/reusables/package_registry/packages-ghes-release-stage.md b/data/reusables/package_registry/packages-ghes-release-stage.md index 3d3510d9b8..a37754bd14 100644 --- a/data/reusables/package_registry/packages-ghes-release-stage.md +++ b/data/reusables/package_registry/packages-ghes-release-stage.md @@ -1,4 +1,4 @@ -{% if currentVersion == "enterprise-server@2.22" %} +{% ifversion ghes = 2.22 %} {% note %} **Note:** {% data variables.product.prodname_registry %} is currently in beta for {% data variables.product.prodname_ghe_server %} 2.22. To join the beta for {% data variables.product.product_location %}, use the [sign-up form](https://resources.github.com/beta-signup/). diff --git a/data/reusables/package_registry/public-or-private-packages.md b/data/reusables/package_registry/public-or-private-packages.md index 2838a57470..378e2409ac 100644 --- a/data/reusables/package_registry/public-or-private-packages.md +++ b/data/reusables/package_registry/public-or-private-packages.md @@ -1 +1 @@ -You can publish packages in {% if currentVersion == "github-ae@latest" %}an internal{% else %}a public{% endif %} repository ({% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} packages) to share with {% if currentVersion == "free-pro-team@latest" %}all of {% data variables.product.prodname_dotcom %}{% else %}everyone on your enterprise{% endif %}, or in a private repository (private packages) to share with collaborators or an organization. +You can publish packages in {% ifversion ghae %}an internal{% else %}a public{% endif %} repository ({% ifversion ghae %}internal{% else %}public{% endif %} packages) to share with {% ifversion fpt %}all of {% data variables.product.prodname_dotcom %}{% else %}everyone on your enterprise{% endif %}, or in a private repository (private packages) to share with collaborators or an organization. diff --git a/data/reusables/package_registry/publish-docker-image.md b/data/reusables/package_registry/publish-docker-image.md index 9a3ad84e20..2a98eea76a 100644 --- a/data/reusables/package_registry/publish-docker-image.md +++ b/data/reusables/package_registry/publish-docker-image.md @@ -47,4 +47,4 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} ``` -{% endraw %} \ No newline at end of file +{% endraw %} diff --git a/data/reusables/package_registry/visibility-and-access-permissions.md b/data/reusables/package_registry/visibility-and-access-permissions.md index f8836c1cc5..97f5b83505 100644 --- a/data/reusables/package_registry/visibility-and-access-permissions.md +++ b/data/reusables/package_registry/visibility-and-access-permissions.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you have admin permissions to a container image, you can set the access permissions for the container image to private or public. Public images allow anonymous access and can be pulled without authentication or signing in via the CLI. As an admin, you can also grant access permissions for a container image that are separate from the permissions you've set at the organization and repository levels. diff --git a/data/reusables/pages/admin-must-push.md b/data/reusables/pages/admin-must-push.md index 50633bf3dc..fbe91a1fad 100644 --- a/data/reusables/pages/admin-must-push.md +++ b/data/reusables/pages/admin-must-push.md @@ -1,5 +1,5 @@ {% tip %} -**Note**: If your site{% if currentVersion ver_lt "enterprise-server@2.23" %}'s source files are located in the default publishing source—`master` for user and organization sites or `gh-pages` for project sites—but your site{% endif %} has not published automatically, make sure someone with admin permissions and a verified email address has pushed to the publishing source. +**Note**: If your site{% ifversion ghes < 3.0 %}'s source files are located in the default publishing source—`master` for user and organization sites or `gh-pages` for project sites—but your site{% endif %} has not published automatically, make sure someone with admin permissions and a verified email address has pushed to the publishing source. {% endtip %} diff --git a/data/reusables/pages/best-with-supported-themes.md b/data/reusables/pages/best-with-supported-themes.md index 50539af8e7..3e8c720bb7 100644 --- a/data/reusables/pages/best-with-supported-themes.md +++ b/data/reusables/pages/best-with-supported-themes.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} These instructions work best with themes that are officially supported by {% data variables.product.prodname_pages %}. For a complete list of supported themes, see "[Supported themes](https://pages.github.com/themes/)" on the {% data variables.product.prodname_pages %} site. {% endif %} diff --git a/data/reusables/pages/build-failure-email-server.md b/data/reusables/pages/build-failure-email-server.md index 9899c8d657..45955fd205 100644 --- a/data/reusables/pages/build-failure-email-server.md +++ b/data/reusables/pages/build-failure-email-server.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +{% ifversion ghes or ghae %} {% tip %} You will only receive an email if outbound email support is enabled on {% data variables.product.product_location %}. For more information, contact your site administrator. diff --git a/data/reusables/pages/choose-visibility.md b/data/reusables/pages/choose-visibility.md index 464776a288..8d120e5c66 100644 --- a/data/reusables/pages/choose-visibility.md +++ b/data/reusables/pages/choose-visibility.md @@ -1,2 +1,2 @@ 1. Optionally, if you're publishing a project site from a private or internal repository owned by an organization using {% data variables.product.prodname_ghe_cloud %}, choose the visibility for your site. Under "{% data variables.product.prodname_pages %}", select the **{% data variables.product.prodname_pages %} visibility** drop-down menu, then click a visibility. For more information, see "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)". - ![Drop-down to select visibility for your site](/assets/images/help/pages/public-or-private-visibility.png) \ No newline at end of file + ![Drop-down to select visibility for your site](/assets/images/help/pages/public-or-private-visibility.png) diff --git a/data/reusables/pages/decide-publishing-source.md b/data/reusables/pages/decide-publishing-source.md index 59211352bc..71f416f6cd 100644 --- a/data/reusables/pages/decide-publishing-source.md +++ b/data/reusables/pages/decide-publishing-source.md @@ -1 +1 @@ -1. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}Decide{% else %}If you're creating a project site, decide{% endif %} which publishing source you want to use. {% if currentVersion ver_lt "enterprise-server@2.23" %}If you're creating a user or organization site, you must store your site's source code on the `master` branch.{% endif %} For more information, see "[About {% data variables.product.prodname_pages %}](/articles/about-github-pages#publishing-sources-for-github-pages-sites)." +1. {% ifversion fpt or ghes > 2.22 or ghae %}Decide{% else %}If you're creating a project site, decide{% endif %} which publishing source you want to use. {% ifversion ghes < 3.0 %}If you're creating a user or organization site, you must store your site's source code on the `master` branch.{% endif %} For more information, see "[About {% data variables.product.prodname_pages %}](/articles/about-github-pages#publishing-sources-for-github-pages-sites)." diff --git a/data/reusables/pages/new-or-existing-repo.md b/data/reusables/pages/new-or-existing-repo.md index 0448df67ab..2dbac12a4f 100644 --- a/data/reusables/pages/new-or-existing-repo.md +++ b/data/reusables/pages/new-or-existing-repo.md @@ -1,5 +1,5 @@ -If your site is an independent project, you can create a new repository to store your site's source code. If your site is associated with an existing project, you can add the source code {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}to that project's repository, in a `/docs` folder on the default branch or on a different branch.{% else %}for your site to a `gh-pages` branch or a `docs` folder on the `master` branch in that project's repository.{% endif %} For example, if you're creating a site to publish documentation for a project that's already on {% data variables.product.product_name %}, you may want to store the source code for the site in the same repository as the project. +If your site is an independent project, you can create a new repository to store your site's source code. If your site is associated with an existing project, you can add the source code {% ifversion fpt or ghes > 2.22 or ghae %}to that project's repository, in a `/docs` folder on the default branch or on a different branch.{% else %}for your site to a `gh-pages` branch or a `docs` folder on the `master` branch in that project's repository.{% endif %} For example, if you're creating a site to publish documentation for a project that's already on {% data variables.product.product_name %}, you may want to store the source code for the site in the same repository as the project. -{% if currentVersion == "free-pro-team@latest" %}If the account that owns the repository uses {% data variables.product.prodname_free_user %} or {% data variables.product.prodname_free_team %} for organizations, the repository must be public.{% endif %} +{% ifversion fpt %}If the account that owns the repository uses {% data variables.product.prodname_free_user %} or {% data variables.product.prodname_free_team %} for organizations, the repository must be public.{% endif %} If you want to create a site in an existing repository, skip to the "[Creating your site](#creating-your-site)" section. diff --git a/data/reusables/pages/org-owners-can-restrict-pages-creation.md b/data/reusables/pages/org-owners-can-restrict-pages-creation.md index 26d5ca7f58..00aad16459 100644 --- a/data/reusables/pages/org-owners-can-restrict-pages-creation.md +++ b/data/reusables/pages/org-owners-can-restrict-pages-creation.md @@ -1,7 +1,7 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} {% note %} **Note:** Organization owners can restrict the publication of {% data variables.product.prodname_pages %} sites from repositories owned by the organization. For more information, see "[Managing the publication of {% data variables.product.prodname_pages %} sites](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)." {% endnote %} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/pages/private_pages_are_public_warning.md b/data/reusables/pages/private_pages_are_public_warning.md index e8de190b64..2e8d568bd6 100644 --- a/data/reusables/pages/private_pages_are_public_warning.md +++ b/data/reusables/pages/private_pages_are_public_warning.md @@ -1,5 +1,5 @@ {% warning %} -**Warning**: {% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %}If your site administrator has enabled Public Pages, {% endif %}{% data variables.product.prodname_pages %} sites are publicly available on the internet{% if currentVersion == "free-pro-team@latest" %} by default{% endif %}, even if the repository for the site is private or internal.{% if currentVersion == "free-pro-team@latest" %} {% data reusables.pages.about-private-publishing %} Otherwise, if{% else %} If{% endif %} you have sensitive data in your site's repository, you may want to remove the data before publishing. For more information, see{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} "[Configuring {% data variables.product.prodname_pages %} for your enterprise](/admin/configuration/configuring-github-pages-for-your-enterprise#enabling-public-sites-for-github-pages)" and{% endif %} "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility){% if currentVersion == "free-pro-team@latest" %}" and "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)."{% else %}."{% endif %} +**Warning**: {% ifversion ghes or ghae %}If your site administrator has enabled Public Pages, {% endif %}{% data variables.product.prodname_pages %} sites are publicly available on the internet{% ifversion fpt %} by default{% endif %}, even if the repository for the site is private or internal.{% ifversion fpt %} {% data reusables.pages.about-private-publishing %} Otherwise, if{% else %} If{% endif %} you have sensitive data in your site's repository, you may want to remove the data before publishing. For more information, see{% ifversion ghes or ghae %} "[Configuring {% data variables.product.prodname_pages %} for your enterprise](/admin/configuration/configuring-github-pages-for-your-enterprise#enabling-public-sites-for-github-pages)" and{% endif %} "[About repository visibility](/github/creating-cloning-and-archiving-repositories/about-repository-visibility){% ifversion fpt %}" and "[Changing the visibility of your {% data variables.product.prodname_pages %} site](/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)."{% else %}."{% endif %} {% endwarning %} diff --git a/data/reusables/pages/sidebar-pages.md b/data/reusables/pages/sidebar-pages.md index ee091cff7a..6891d189cd 100644 --- a/data/reusables/pages/sidebar-pages.md +++ b/data/reusables/pages/sidebar-pages.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" %} +{% ifversion fpt or ghes > 3.1 %} 1. In the left sidebar, click **Pages**. ![Page tab in the left-hand sidebar](/assets/images/help/pages/pages-tab.png) {% endif %} diff --git a/data/reusables/pages/twenty-minutes-to-publish.md b/data/reusables/pages/twenty-minutes-to-publish.md index 3e7a2fd5a4..6a499d411a 100644 --- a/data/reusables/pages/twenty-minutes-to-publish.md +++ b/data/reusables/pages/twenty-minutes-to-publish.md @@ -1 +1 @@ -**Note:** It can take up to 20 minutes for changes to your site to publish after you push the changes to {% data variables.product.product_name %}. If your don't see your changes reflected in your browser after an hour, see "[About Jekyll build errors for {% data variables.product.prodname_pages %} sites](/articles/about-jekyll-build-errors-for-github-pages-sites)." \ No newline at end of file +**Note:** It can take up to 20 minutes for changes to your site to publish after you push the changes to {% data variables.product.product_name %}. If your don't see your changes reflected in your browser after an hour, see "[About Jekyll build errors for {% data variables.product.prodname_pages %} sites](/articles/about-jekyll-build-errors-for-github-pages-sites)." diff --git a/data/reusables/pages/update_your_dns_settings.md b/data/reusables/pages/update_your_dns_settings.md index 6bb9bacc45..056b9f6140 100644 --- a/data/reusables/pages/update_your_dns_settings.md +++ b/data/reusables/pages/update_your_dns_settings.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}1. If there's a custom domain enabled for your site, to avoid a domain takeover, update your DNS settings. For more information, see "[Configuring a custom domain for your {% data variables.product.prodname_pages %} site](/pages/configuring-a-custom-domain-for-your-github-pages-site)."{% endif %} +{% ifversion fpt %}1. If there's a custom domain enabled for your site, to avoid a domain takeover, update your DNS settings. For more information, see "[Configuring a custom domain for your {% data variables.product.prodname_pages %} site](/pages/configuring-a-custom-domain-for-your-github-pages-site)."{% endif %} diff --git a/data/reusables/policies/abuse.md b/data/reusables/policies/abuse.md index 78c56e096b..d09f191a7f 100644 --- a/data/reusables/policies/abuse.md +++ b/data/reusables/policies/abuse.md @@ -1 +1 @@ -{% data variables.product.prodname_dotcom %} does not tolerate abuse.{% if currentVersion == "free-pro-team@latest" %} For more information on {% data variables.product.prodname_dotcom %}'s policies, see our [Terms of Service](/articles/github-terms-of-service) and [Community Guidelines](/articles/github-community-guidelines).{% endif %} +{% data variables.product.prodname_dotcom %} does not tolerate abuse.{% ifversion fpt %} For more information on {% data variables.product.prodname_dotcom %}'s policies, see our [Terms of Service](/articles/github-terms-of-service) and [Community Guidelines](/articles/github-community-guidelines).{% endif %} diff --git a/data/reusables/pre-release-program/expiring-user-access-tokens.md b/data/reusables/pre-release-program/expiring-user-access-tokens.md index 9e17f7adbe..7bd5c93313 100644 --- a/data/reusables/pre-release-program/expiring-user-access-tokens.md +++ b/data/reusables/pre-release-program/expiring-user-access-tokens.md @@ -1,11 +1,11 @@ -{% if currentVersion ver_gt "enterprise-server@2.21" and currentVersion ver_lt "enterprise-server@3.1" %} +{% ifversion ghes > 2.21 and ghes < 3.1 %} {% note %} **Note:** Expiring user tokens are currently part of the user-to-server token expiration beta and subject to change. To opt-in to the user-to-server token expiration beta feature, see "[Activating optional features for apps](/developers/apps/activating-optional-features-for-apps)." For more information, see "[Expiring user-to-server access tokens for GitHub Apps](https://developer.github.com/changes/2020-04-30-expiring-user-to-server-access-tokens-for-github-apps)." {% endnote %} -{% elsif currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% elsif fpt or ghes > 3.0 or ghae %} {% note %} diff --git a/data/reusables/pre-release-program/machine-man-preview.md b/data/reusables/pre-release-program/machine-man-preview.md index 82549b4331..844b01f320 100644 --- a/data/reusables/pre-release-program/machine-man-preview.md +++ b/data/reusables/pre-release-program/machine-man-preview.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} {% note %} **Note:** To access the API with your GitHub App, you must provide a custom [media type](/rest/overview/media-types) in the `Accept` Header for your requests. diff --git a/data/reusables/pre-release-program/sailor-v-preview.md b/data/reusables/pre-release-program/sailor-v-preview.md index ac0d210355..99b2f3cef7 100644 --- a/data/reusables/pre-release-program/sailor-v-preview.md +++ b/data/reusables/pre-release-program/sailor-v-preview.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} {% note %} **Note:** You can now use the REST API to add a reason when you lock an issue, and you will see lock reasons in responses that include issues or pull requests. You will also see lock reasons in `locked` events. This feature is currently available for developers to preview. See the [blog post](https://developer.github.com/changes/2018-01-10-lock-reason-api-preview) for full details. To access this feature, you must provide a custom [media type](/rest/overview/media-types) in the `Accept` header: diff --git a/data/reusables/profile/access_org.md b/data/reusables/profile/access_org.md index 25ef56842e..e2b69d602a 100644 --- a/data/reusables/profile/access_org.md +++ b/data/reusables/profile/access_org.md @@ -1,5 +1,5 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %}1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your organizations**. +{% ifversion fpt or ghae or ghes > 2.21 %}1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your organizations**. ![Your organizations in the profile menu](/assets/images/help/profile/your-organizations.png){% else %}1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your profile**. ![Profile photo](/assets/images/enterprise/settings/top_right_avatar.png) 2. On the left side of your profile page, under "Organizations", click the icon for your organization. - ![organization icons](/assets/images/help/profile/profile_orgs_box.png){% endif %} \ No newline at end of file + ![organization icons](/assets/images/help/profile/profile_orgs_box.png){% endif %} diff --git a/data/reusables/profile/access_profile.md b/data/reusables/profile/access_profile.md index 6698e9bbb1..98b5aa4d45 100644 --- a/data/reusables/profile/access_profile.md +++ b/data/reusables/profile/access_profile.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %}1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your profile**. +{% ifversion fpt %}1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your profile**. ![Profile photo](/assets/images/help/profile/top_right_avatar.png){% else %} 1. In the top right corner of {% data variables.product.product_name %}, click your profile photo, then click **Your profile**. ![Profile photo](/assets/images/enterprise/settings/top_right_avatar.png){% endif %} diff --git a/data/reusables/profile/org_settings.md b/data/reusables/profile/org_settings.md index 78c2fd6770..bb88a7b314 100644 --- a/data/reusables/profile/org_settings.md +++ b/data/reusables/profile/org_settings.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %}2. Next to the organization, click **Settings**. +{% ifversion fpt or ghae or ghes > 2.21 %}2. Next to the organization, click **Settings**. ![The settings button](/assets/images/help/organizations/settings-button.png){% else %}2. Under your organization name, click {% octicon "gear" aria-label="The Settings gear icon" %} **Settings**. - ![The settings button](/assets/images/help/organizations/organization-settings-tab.png){% endif %} \ No newline at end of file + ![The settings button](/assets/images/help/organizations/organization-settings-tab.png){% endif %} diff --git a/data/reusables/project-management/choose-visibility.md b/data/reusables/project-management/choose-visibility.md index dfc07f56a6..6cae019afa 100644 --- a/data/reusables/project-management/choose-visibility.md +++ b/data/reusables/project-management/choose-visibility.md @@ -1,2 +1,2 @@ -1. Under "Visibility", choose to make your project board {% if currentVersion == "github-ae@latest" %}internal{% else %}public{% endif %} or private. For more information, see "[Changing project board visibility](/github/managing-your-work-on-github/changing-project-board-visibility)." - ![Radio buttons to choose project board visibility]{% if currentVersion == "github-ae@latest" %}(/assets/images/help/projects/visibility-radio-buttons-ae.png){% else %}(/assets/images/help/projects/visibility-radio-buttons.png){% endif %} +1. Under "Visibility", choose to make your project board {% ifversion ghae %}internal{% else %}public{% endif %} or private. For more information, see "[Changing project board visibility](/github/managing-your-work-on-github/changing-project-board-visibility)." + ![Radio buttons to choose project board visibility]{% ifversion ghae %}(/assets/images/help/projects/visibility-radio-buttons-ae.png){% else %}(/assets/images/help/projects/visibility-radio-buttons.png){% endif %} diff --git a/data/reusables/project-management/copy-project-boards.md b/data/reusables/project-management/copy-project-boards.md index 6e48164844..84e3fde683 100644 --- a/data/reusables/project-management/copy-project-boards.md +++ b/data/reusables/project-management/copy-project-boards.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can also copy a project board to reuse its customizations for similar projects. For more information, see "[Copying a project board](/articles/copying-a-project-board)." {% endif %} diff --git a/data/reusables/project-management/project-board-visibility.md b/data/reusables/project-management/project-board-visibility.md index c9091f06bf..1d0cd5b712 100644 --- a/data/reusables/project-management/project-board-visibility.md +++ b/data/reusables/project-management/project-board-visibility.md @@ -1 +1 @@ -By default, your project board is private and only visible to people with read, write, or admin permissions to the project board. {% if currentVersion == "github-ae@latest" %}An internal{% else %}A public{% endif %} project board is visible to {% if currentVersion == "github-ae@latest" %}any enterprise members{% else %}anyone{% endif %} with the project board's URL. +By default, your project board is private and only visible to people with read, write, or admin permissions to the project board. {% ifversion ghae %}An internal{% else %}A public{% endif %} project board is visible to {% ifversion ghae %}any enterprise members{% else %}anyone{% endif %} with the project board's URL. diff --git a/data/reusables/projects/api-beta.md b/data/reusables/projects/api-beta.md index 64c4384b9b..256358b798 100644 --- a/data/reusables/projects/api-beta.md +++ b/data/reusables/projects/api-beta.md @@ -2,4 +2,4 @@ **Note:** To access the projects (beta) API, you must pass the following header in addition to being part of the limited beta: `GraphQL-Features: projects_next_graphql`. -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/projects/open-command-palette.md b/data/reusables/projects/open-command-palette.md index ce296bd55f..63055aafea 100644 --- a/data/reusables/projects/open-command-palette.md +++ b/data/reusables/projects/open-command-palette.md @@ -1 +1 @@ -Enter `cmd + k` (Mac) or `ctrl + k` (Windows/Linux) to open the command palette. \ No newline at end of file +Enter `cmd + k` (Mac) or `ctrl + k` (Windows/Linux) to open the command palette. diff --git a/data/reusables/projects/project_boards_old.md b/data/reusables/projects/project_boards_old.md index d7ad328548..7b01dd23aa 100644 --- a/data/reusables/projects/project_boards_old.md +++ b/data/reusables/projects/project_boards_old.md @@ -1,8 +1,8 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note:** Projects (beta), the all-new projects experience, is now available. For more information about projects (beta), see "[About projects (beta)](/issues/trying-out-the-new-projects-experience/about-projects)." {% endnote %} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/pull_requests/close-issues-using-keywords.md b/data/reusables/pull_requests/close-issues-using-keywords.md index 041d949ef2..b169a4b03a 100644 --- a/data/reusables/pull_requests/close-issues-using-keywords.md +++ b/data/reusables/pull_requests/close-issues-using-keywords.md @@ -1 +1 @@ -You can link a pull request to an issue to{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} show that a fix is in progress and to{% endif %} automatically close the issue when someone merges the pull request. For more information, see "[Linking a pull request to an issue](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue)." +You can link a pull request to an issue to{% ifversion fpt or ghes or ghae %} show that a fix is in progress and to{% endif %} automatically close the issue when someone merges the pull request. For more information, see "[Linking a pull request to an issue](/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue)." diff --git a/data/reusables/pull_requests/collect-co-author-commit-git-config-info.md b/data/reusables/pull_requests/collect-co-author-commit-git-config-info.md index b832ddb27e..115e930870 100644 --- a/data/reusables/pull_requests/collect-co-author-commit-git-config-info.md +++ b/data/reusables/pull_requests/collect-co-author-commit-git-config-info.md @@ -1 +1 @@ -1. Collect the name and email address for each co-author.{% if currentVersion == "free-pro-team@latest" %} If a person chooses to keep their email address private, you should use their {% data variables.product.product_name %}-provided `no-reply` email to protect their privacy.{% endif %} +1. Collect the name and email address for each co-author.{% ifversion fpt %} If a person chooses to keep their email address private, you should use their {% data variables.product.product_name %}-provided `no-reply` email to protect their privacy.{% endif %} diff --git a/data/reusables/pull_requests/perms-to-open-pull-request.md b/data/reusables/pull_requests/perms-to-open-pull-request.md index fb02373ebb..11c96e3416 100644 --- a/data/reusables/pull_requests/perms-to-open-pull-request.md +++ b/data/reusables/pull_requests/perms-to-open-pull-request.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} diff --git a/data/reusables/pull_requests/pull_request_merges_and_contributions.md b/data/reusables/pull_requests/pull_request_merges_and_contributions.md index bab06a961b..b7a733bb36 100644 --- a/data/reusables/pull_requests/pull_request_merges_and_contributions.md +++ b/data/reusables/pull_requests/pull_request_merges_and_contributions.md @@ -1,6 +1,6 @@ {% note %} -**Notes:**{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +**Notes:**{% ifversion ghes or ghae %} - To appear on your profile contributions graph, co-authored commits must meet the same criteria as commits with one author.{% endif %} - When rebasing commits, the original authors of the commit and the person who rebased the commits, whether on the command line or on {% data variables.product.product_location %}, receive contribution credit. diff --git a/data/reusables/pull_requests/resolving-conversations.md b/data/reusables/pull_requests/resolving-conversations.md index 6c2734b45a..769b10b677 100644 --- a/data/reusables/pull_requests/resolving-conversations.md +++ b/data/reusables/pull_requests/resolving-conversations.md @@ -12,7 +12,7 @@ The entire conversation will be collapsed and marked as resolved, making it easi If the suggestion in a comment is out of your pull request's scope, you can open a new issue that tracks the feedback and links back to the original comment. For more information, see "[Opening an issue from a comment](/github/managing-your-work-on-github/opening-an-issue-from-a-comment)." -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@issue-4382" %} +{% ifversion fpt or ghes > 3.1 or ghae-issue-4382 %} #### Discovering and navigating conversations You can discover and navigate to all the conversations in your pull request using the **Conversations** menu that's shown at the top of the **Files Changed** tab. diff --git a/data/reusables/pull_requests/you-can-auto-merge.md b/data/reusables/pull_requests/you-can-auto-merge.md index 917e7d9452..e995a0c74c 100644 --- a/data/reusables/pull_requests/you-can-auto-merge.md +++ b/data/reusables/pull_requests/you-can-auto-merge.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghae or ghes > 3.0 %} You can configure a pull request to merge automatically when all merge requirements are met. For more information, see "[Automatically merging a pull request](/github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request)." {% endif %} diff --git a/data/reusables/repositories/about-internal-repos.md b/data/reusables/repositories/about-internal-repos.md index 61358584cd..7083abb5ac 100644 --- a/data/reusables/repositories/about-internal-repos.md +++ b/data/reusables/repositories/about-internal-repos.md @@ -1 +1 @@ -You can use internal repositories to practice "innersource" within your enterprise. Members of your enterprise can collaborate using open source methodologies without sharing proprietary information publicly{% if enterpriseServerVersions contains currentVersion %}, even with private mode disabled{% endif %}. +You can use internal repositories to practice "innersource" within your enterprise. Members of your enterprise can collaborate using open source methodologies without sharing proprietary information publicly{% ifversion ghes %}, even with private mode disabled{% endif %}. diff --git a/data/reusables/repositories/blocked-passwords.md b/data/reusables/repositories/blocked-passwords.md index ca8a2fe113..06d45f1c6d 100644 --- a/data/reusables/repositories/blocked-passwords.md +++ b/data/reusables/repositories/blocked-passwords.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} When you type a password to sign in, create an account, or change your password, {% data variables.product.product_name %} will check if the password you entered is considered weak according to datasets like HaveIBeenPwned. The password may be identified as weak even if you have never used that password before. {% data variables.product.product_name %} only inspects the password at the time you type it, and never stores the password you entered in plaintext. For more information, see [HaveIBeenPwned](https://haveibeenpwned.com/). diff --git a/data/reusables/repositories/changed-files.md b/data/reusables/repositories/changed-files.md index 81dd595aad..df816c5d7d 100644 --- a/data/reusables/repositories/changed-files.md +++ b/data/reusables/repositories/changed-files.md @@ -1,4 +1,4 @@ 1. On the pull request, click {% octicon "diff" aria-label="The file diff icon" %} **Files changed**. -{% if currentVersion ver_lt "enterprise-server@3.0" %} +{% ifversion ghes < 3.0 %} ![Pull Request Files changed tab](/assets/images/enterprise/2.22/pull-request-tabs-changed-files.png){% else %} ![Pull Request Files changed tab](/assets/images/help/pull_requests/pull-request-tabs-changed-files.png){% endif %} diff --git a/data/reusables/repositories/copy-clone-url.md b/data/reusables/repositories/copy-clone-url.md index 938c416090..755776186c 100644 --- a/data/reusables/repositories/copy-clone-url.md +++ b/data/reusables/repositories/copy-clone-url.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} 1. Under the repository name, click **Clone or download**. ![Clone or download button](/assets/images/help/repository/clone-repo-clone-url-button.png) 2. To clone the repository using HTTPS, under "Clone with HTTPS", click {% octicon "clippy" aria-label="The clipboard icon" %}. @@ -7,8 +7,8 @@ To clone the repository using an SSH key, including a certificate issued by your {% else %} 1. Above the list of files, click {% octicon "download" aria-label="The download icon" %} **Code**. !["Code" button](/assets/images/help/repository/code-button.png) -1. To clone the repository using HTTPS, under "Clone with HTTPS", click {% octicon "clippy" aria-label="The clipboard icon" %}. To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click **Use SSH**, then click {% octicon "clippy" aria-label="The clipboard icon" %}.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} To clone a repository using {% data variables.product.prodname_cli %}, click **Use {% data variables.product.prodname_cli %}**, then click {% octicon "clippy" aria-label="The clipboard icon" %}.{% endif %} +1. To clone the repository using HTTPS, under "Clone with HTTPS", click {% octicon "clippy" aria-label="The clipboard icon" %}. To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click **Use SSH**, then click {% octicon "clippy" aria-label="The clipboard icon" %}.{% ifversion fpt or ghes > 2.22 or ghae %} To clone a repository using {% data variables.product.prodname_cli %}, click **Use {% data variables.product.prodname_cli %}**, then click {% octicon "clippy" aria-label="The clipboard icon" %}.{% endif %} ![The clipboard icon for copying the URL to clone a repository](/assets/images/help/repository/https-url-clone.png) - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} + {% ifversion fpt or ghes or ghae %} ![The clipboard icon for copying the URL to clone a repository with GitHub CLI](/assets/images/help/repository/https-url-clone-cli.png){% endif %} {% endif %} diff --git a/data/reusables/repositories/create-repo.md b/data/reusables/repositories/create-repo.md index 98222369c4..3e8dd33f69 100644 --- a/data/reusables/repositories/create-repo.md +++ b/data/reusables/repositories/create-repo.md @@ -1,2 +1,2 @@ -1. Click **Create repository**.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %} +1. Click **Create repository**.{% ifversion fpt or ghes > 2.21 or ghae %} ![Button to create repository](/assets/images/help/repository/create-repository-button.png){% endif %} diff --git a/data/reusables/repositories/default-issue-templates.md b/data/reusables/repositories/default-issue-templates.md index 9cd20e8109..cd6b330587 100644 --- a/data/reusables/repositories/default-issue-templates.md +++ b/data/reusables/repositories/default-issue-templates.md @@ -1,2 +1,2 @@ -You can create default issue templates{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} and a default configuration file for issue templates{% endif %} for your organization{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} or user account{% endif %}. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." +You can create default issue templates{% ifversion fpt or ghes or ghae %} and a default configuration file for issue templates{% endif %} for your organization{% ifversion fpt or ghes or ghae %} or user account{% endif %}. For more information, see "[Creating a default community health file](/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)." diff --git a/data/reusables/repositories/deleted_forks_from_private_repositories_warning.md b/data/reusables/repositories/deleted_forks_from_private_repositories_warning.md index 3dc1d84355..ddbf49a527 100644 --- a/data/reusables/repositories/deleted_forks_from_private_repositories_warning.md +++ b/data/reusables/repositories/deleted_forks_from_private_repositories_warning.md @@ -2,10 +2,10 @@ **Warning:** -- If you remove a person’s access to a private repository, any of their forks of that private repository are deleted. Local clones of the private repository are retained. If a team's access to a private repository is revoked or a team with access to a private repository is deleted, and team members do not have access to the repository through another team, private forks of the repository will be deleted.{% if enterpriseServerVersions contains currentVersion %} +- If you remove a person’s access to a private repository, any of their forks of that private repository are deleted. Local clones of the private repository are retained. If a team's access to a private repository is revoked or a team with access to a private repository is deleted, and team members do not have access to the repository through another team, private forks of the repository will be deleted.{% ifversion ghes %} - When [LDAP Sync is enabled](/enterprise/admin/authentication/using-ldap#enabling-ldap-sync), if you remove a person from a repository, they will lose access but their forks will not be deleted. If the person is added to a team with access to the original organization repository within three months, their access to the forks will be automatically restored on the next sync.{% endif %} - You are responsible for ensuring that people who have lost access to a repository delete any confidential information or intellectual property. -- People with admin permissions to a private{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} or internal{% endif %} repository can disallow forking of that repository, and organization owners can disallow forking of any private{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} or internal{% endif %} repository in an organization. For more information, see "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization)" and "[Managing the forking policy for your repository](/github/administering-a-repository/managing-the-forking-policy-for-your-repository)." +- People with admin permissions to a private{% ifversion fpt or ghes or ghae %} or internal{% endif %} repository can disallow forking of that repository, and organization owners can disallow forking of any private{% ifversion fpt or ghes or ghae %} or internal{% endif %} repository in an organization. For more information, see "[Managing the forking policy for your organization](/organizations/managing-organization-settings/managing-the-forking-policy-for-your-organization)" and "[Managing the forking policy for your repository](/github/administering-a-repository/managing-the-forking-policy-for-your-repository)." {% endwarning %} diff --git a/data/reusables/repositories/dependency-review.md b/data/reusables/repositories/dependency-review.md index 0d33834eec..5112d45693 100644 --- a/data/reusables/repositories/dependency-review.md +++ b/data/reusables/repositories/dependency-review.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Additionally, {% data variables.product.prodname_dotcom %} can review any dependencies added, updated, or removed in a pull request made against the default branch of a repository, and flag any changes that would introduce a vulnerability into your project. This allows you to spot and deal with vulnerable dependencies before, rather than after, they reach your codebase. For more information, see "[Reviewing dependency changes in a pull request](/github/collaborating-with-issues-and-pull-requests/reviewing-dependency-changes-in-a-pull-request)." -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/repositories/enable-security-alerts.md b/data/reusables/repositories/enable-security-alerts.md index 1f1c4cd5fc..fed9aaa5fb 100644 --- a/data/reusables/repositories/enable-security-alerts.md +++ b/data/reusables/repositories/enable-security-alerts.md @@ -1,3 +1,3 @@ -{% if enterpriseServerVersions contains currentVersion %} -Your site administrator must enable {% if currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies for {% data variables.product.product_location %} before you can use this feature. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)." +{% ifversion ghes %} +Your site administrator must enable {% ifversion ghes > 2.21 %}{% data variables.product.prodname_dependabot %}{% else %}security{% endif %} alerts for vulnerable dependencies for {% data variables.product.product_location %} before you can use this feature. For more information, see "[Enabling alerts for vulnerable dependencies on {% data variables.product.prodname_ghe_server %}](/enterprise/{{ currentVersion }}/admin/configuration/enabling-alerts-for-vulnerable-dependencies-on-github-enterprise-server)." {% endif %} diff --git a/data/reusables/repositories/internal-repo-default.md b/data/reusables/repositories/internal-repo-default.md index 8dfd17d8f5..e59bbac89e 100644 --- a/data/reusables/repositories/internal-repo-default.md +++ b/data/reusables/repositories/internal-repo-default.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Internal repositories are the default setting for all new repositories created in an organization owned by an enterprise account. {% endif %} diff --git a/data/reusables/repositories/navigate-to-job-superlinter.md b/data/reusables/repositories/navigate-to-job-superlinter.md index 29a8d2e6f6..d38db581b9 100644 --- a/data/reusables/repositories/navigate-to-job-superlinter.md +++ b/data/reusables/repositories/navigate-to-job-superlinter.md @@ -1,7 +1,7 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion fpt or ghes > 3.0 %} 1. Under **Jobs** or in the visualization graph, click the job you want to see. ![Lint code base job](/assets/images/help/repository/superlinter-lint-code-base-job-updated.png) -{% elsif currentVersion ver_gt "enterprise-server@2.22" %} +{% elsif ghes > 2.22 %} 1. In the left sidebar, click the job you want to see. ![Lint code base job](/assets/images/help/repository/superlinter-lint-code-base-job.png) {% else %} diff --git a/data/reusables/repositories/navigate-to-workflow-superlinter.md b/data/reusables/repositories/navigate-to-workflow-superlinter.md index eded8bd015..e1ee9e8178 100644 --- a/data/reusables/repositories/navigate-to-workflow-superlinter.md +++ b/data/reusables/repositories/navigate-to-workflow-superlinter.md @@ -1,2 +1,2 @@ 1. In the left sidebar, click the workflow you want to see. - ![Workflow list in left sidebar](/assets/images/help/repository/superlinter-workflow-sidebar.png) \ No newline at end of file + ![Workflow list in left sidebar](/assets/images/help/repository/superlinter-workflow-sidebar.png) diff --git a/data/reusables/repositories/new-pull-request.md b/data/reusables/repositories/new-pull-request.md index e463aa28b8..7648e5e003 100644 --- a/data/reusables/repositories/new-pull-request.md +++ b/data/reusables/repositories/new-pull-request.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} 1. To the right of the Branch menu, click **New pull request**. !["Pull request" link above list of files](/assets/images/help/pull_requests/pull-request-start-review-button.png) {% else %} diff --git a/data/reusables/repositories/open-with-github-desktop.md b/data/reusables/repositories/open-with-github-desktop.md index e938fb80ae..15537a889a 100644 --- a/data/reusables/repositories/open-with-github-desktop.md +++ b/data/reusables/repositories/open-with-github-desktop.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} 1. Under your repository name, click **Clone or download**. ![Clone or download button](/assets/images/help/repository/clone-repo-clone-url-button.png) 1. Click **Open in Desktop** to clone the repository and open it in {% data variables.product.prodname_desktop %}. diff --git a/data/reusables/repositories/releases.md b/data/reusables/repositories/releases.md index 10d311037f..7c6e0dd922 100644 --- a/data/reusables/repositories/releases.md +++ b/data/reusables/repositories/releases.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_lt "enterprise-server@2.22" %} +{% ifversion ghes < 2.22 %} 1. Under your repository name, click **Releases**. ![Releases tab](/assets/images/help/releases/release-link.png) diff --git a/data/reusables/repositories/repo-size-limit.md b/data/reusables/repositories/repo-size-limit.md index 5e74e4ed95..b068676702 100644 --- a/data/reusables/repositories/repo-size-limit.md +++ b/data/reusables/repositories/repo-size-limit.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} Repositories and individual files are subject to size limits. For more information, see "[What is my disk quota?](/articles/what-is-my-disk-quota)" {% endif %} diff --git a/data/reusables/repositories/request-security-advisory-cve-id.md b/data/reusables/repositories/request-security-advisory-cve-id.md index 008af8656a..ba6858862a 100644 --- a/data/reusables/repositories/request-security-advisory-cve-id.md +++ b/data/reusables/repositories/request-security-advisory-cve-id.md @@ -2,4 +2,4 @@ If you don't already have a CVE identification number for the security vulnerabi If you already have a CVE you want to use, for example, if you use a CNA other than {% data variables.product.prodname_dotcom %}, add it to the security advisory form. This may happen, for example, if you want to get the advisory consistent with other communications you plan to send out at publication time. -If an advisory form doesn't have a CVE, we will request a CVE for you when you publish the advisory. \ No newline at end of file +If an advisory form doesn't have a CVE, we will request a CVE for you when you publish the advisory. diff --git a/data/reusables/repositories/security-alert-delivery-options.md b/data/reusables/repositories/security-alert-delivery-options.md index 4ead57f695..84e0b4354f 100644 --- a/data/reusables/repositories/security-alert-delivery-options.md +++ b/data/reusables/repositories/security-alert-delivery-options.md @@ -1,3 +1,3 @@ -{% if currentVersion != "github-ae@latest" %} -If your repository has a supported dependency manifest{% if currentVersion == "free-pro-team@latest" %} (and if you've set up the dependency graph if it's a private repository){% endif %}, whenever {% data variables.product.product_name %} detects a vulnerable dependency in your repository, you will receive a weekly digest email. You can also configure your security alerts as web notifications, individual email notifications, daily email digests, or alerts in the {% data variables.product.product_name %} interface. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." -{% endif %} \ No newline at end of file +{% ifversion not ghae %} +If your repository has a supported dependency manifest{% ifversion fpt %} (and if you've set up the dependency graph if it's a private repository){% endif %}, whenever {% data variables.product.product_name %} detects a vulnerable dependency in your repository, you will receive a weekly digest email. You can also configure your security alerts as web notifications, individual email notifications, daily email digests, or alerts in the {% data variables.product.product_name %} interface. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)." +{% endif %} diff --git a/data/reusables/repositories/security-alerts-x-github-severity.md b/data/reusables/repositories/security-alerts-x-github-severity.md index 7230ee9994..53a81cb1cb 100644 --- a/data/reusables/repositories/security-alerts-x-github-severity.md +++ b/data/reusables/repositories/security-alerts-x-github-severity.md @@ -1 +1 @@ -Email notifications for {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} that affect one or more repositories include the `X-GitHub-Severity` header field. You can use the value of the `X-GitHub-Severity` header field to filter email notifications for {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}. +Email notifications for {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %} that affect one or more repositories include the `X-GitHub-Severity` header field. You can use the value of the `X-GitHub-Severity` header field to filter email notifications for {% ifversion fpt or ghes > 2.21 %}{% data variables.product.prodname_dependabot_alerts %}{% else %}security alerts{% endif %}. diff --git a/data/reusables/repositories/security-guidelines.md b/data/reusables/repositories/security-guidelines.md index a6cd502721..2be7c536fd 100644 --- a/data/reusables/repositories/security-guidelines.md +++ b/data/reusables/repositories/security-guidelines.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == 'github-ae@next' %} +{% ifversion fpt or ghes > 3.0 or ghae-next %} You can create a security policy to give people instructions for reporting security vulnerabilities in your project. For more information, see "[Adding a security policy to your repository](/code-security/getting-started/adding-a-security-policy-to-your-repository)." {% endif %} diff --git a/data/reusables/repositories/select-marketplace-apps.md b/data/reusables/repositories/select-marketplace-apps.md index 38aeee2fb0..5d5679a362 100644 --- a/data/reusables/repositories/select-marketplace-apps.md +++ b/data/reusables/repositories/select-marketplace-apps.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. Optionally, if the personal account or organization in which you're creating uses any {% data variables.product.prodname_github_app %}s from {% data variables.product.prodname_marketplace %}, select any apps you'd like to use in the repository. ![List of your account's {% data variables.product.prodname_github_app %}s from {% data variables.product.prodname_marketplace %} and option to grant access](/assets/images/help/repository/create-repository-choose-marketplace-apps.png) {% endif %} diff --git a/data/reusables/repositories/sidebar-dependabot-alerts.md b/data/reusables/repositories/sidebar-dependabot-alerts.md index 40be6f1a38..d82b2b7667 100644 --- a/data/reusables/repositories/sidebar-dependabot-alerts.md +++ b/data/reusables/repositories/sidebar-dependabot-alerts.md @@ -1,2 +1,2 @@ -1. In the security sidebar, click **{% data variables.product.prodname_dependabot_alerts %}**.{% if currentVersion == "free-pro-team@latest" %} +1. In the security sidebar, click **{% data variables.product.prodname_dependabot_alerts %}**.{% ifversion fpt %} ![{% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/help/repository/dependabot-alerts-tab.png){% else %}![{% data variables.product.prodname_dependabot_alerts %} tab](/assets/images/enterprise/repository/dependabot-alerts-tab.png){% endif %} diff --git a/data/reusables/repositories/sidebar-issues.md b/data/reusables/repositories/sidebar-issues.md index 4d5e96d563..6a7f1a8500 100644 --- a/data/reusables/repositories/sidebar-issues.md +++ b/data/reusables/repositories/sidebar-issues.md @@ -1,4 +1,4 @@ 2. Under your repository name, click {% octicon "issue-opened" aria-label="The issues icon" %} **Issues**. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@issue-4483" %} + {% ifversion fpt or ghes > 3.1 or ghae-issue-4483 %} ![Issues tab](/assets/images/help/repository/repo-tabs-issues.png){% else %} ![Issues tab](/assets/images/enterprise/3.1/help/repository/repo-tabs-issues.png){% endif %} diff --git a/data/reusables/repositories/sidebar-pr.md b/data/reusables/repositories/sidebar-pr.md index c7487d890b..7cd9007458 100644 --- a/data/reusables/repositories/sidebar-pr.md +++ b/data/reusables/repositories/sidebar-pr.md @@ -1,4 +1,4 @@ 1. Under your repository name, click {% octicon "git-pull-request" aria-label="The pull request icon" %} **Pull requests**. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@issue-4483" %} + {% ifversion fpt or ghes > 3.1 or ghae-issue-4483 %} ![Issues and pull requests tab selection](/assets/images/help/repository/repo-tabs-pull-requests.png){% else %} ![Issues tab](/assets/images/enterprise/3.1/help/repository/repo-tabs-pull-requests.png){% endif %} diff --git a/data/reusables/repositories/squash-and-rebase-linear-commit-hisitory.md b/data/reusables/repositories/squash-and-rebase-linear-commit-hisitory.md index ba73880189..a056cfa2b2 100644 --- a/data/reusables/repositories/squash-and-rebase-linear-commit-hisitory.md +++ b/data/reusables/repositories/squash-and-rebase-linear-commit-hisitory.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %}If there is a protected branch rule in your repository that requires a linear commit history, you must allow squash merging, rebase merging, or both. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging)."{% endif %} +{% ifversion fpt or ghes or ghae %}If there is a protected branch rule in your repository that requires a linear commit history, you must allow squash merging, rebase merging, or both. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging)."{% endif %} diff --git a/data/reusables/repositories/start-line-comment.md b/data/reusables/repositories/start-line-comment.md index 14fb75a2b3..6e3d8c62e9 100644 --- a/data/reusables/repositories/start-line-comment.md +++ b/data/reusables/repositories/start-line-comment.md @@ -1,2 +1,2 @@ -1. Hover over the line of code where you'd like to add a comment, and click the blue comment icon.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %} To add a comment on multiple lines, click and drag to select the range of lines, then click the blue comment icon.{% endif %} +1. Hover over the line of code where you'd like to add a comment, and click the blue comment icon.{% ifversion fpt or ghes or ghae %} To add a comment on multiple lines, click and drag to select the range of lines, then click the blue comment icon.{% endif %} ![Blue comment icon](/assets/images/help/commits/hover-comment-icon.gif) diff --git a/data/reusables/repositories/suggest-changes.md b/data/reusables/repositories/suggest-changes.md index 4e7a49c9ed..d41c4c67b1 100644 --- a/data/reusables/repositories/suggest-changes.md +++ b/data/reusables/repositories/suggest-changes.md @@ -1,2 +1,2 @@ -1. Optionally, to suggest a specific change to the line{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %} or lines{% endif %}, click {% octicon "diff" aria-label="The diff symbol" %}, then edit the text within the suggestion block. +1. Optionally, to suggest a specific change to the line{% ifversion fpt or ghes or ghae %} or lines{% endif %}, click {% octicon "diff" aria-label="The diff symbol" %}, then edit the text within the suggestion block. ![Suggestion block](/assets/images/help/pull_requests/suggestion-block.png) diff --git a/data/reusables/repositories/transfer-repository-steps.md b/data/reusables/repositories/transfer-repository-steps.md index 59fd589e39..b701e6b93a 100644 --- a/data/reusables/repositories/transfer-repository-steps.md +++ b/data/reusables/repositories/transfer-repository-steps.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. Under "Danger Zone", click **Transfer**. ![Transfer button](/assets/images/help/repository/repo-transfer.png) 1. Read the information about transferring a repository, then type the name of the user or organization you'd like to transfer ownership of the repository to. diff --git a/data/reusables/repositories/view-failed-job-results-superlinter.md b/data/reusables/repositories/view-failed-job-results-superlinter.md index c8c23f7677..43332d58c2 100644 --- a/data/reusables/repositories/view-failed-job-results-superlinter.md +++ b/data/reusables/repositories/view-failed-job-results-superlinter.md @@ -1,9 +1,9 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} 1. Any failed steps are automatically expanded to display the results. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} + {% ifversion fpt or ghes > 3.0 %} ![Super linter workflow results](/assets/images/help/repository/super-linter-workflow-results-updated-2.png){% else %} ![Super linter workflow results](/assets/images/help/repository/super-linter-workflow-results-updated.png){% endif %} {% else %} 1. Expand the **Run Super-Linter** step to view the results. ![Super linter workflow results](/assets/images/help/repository/super-linter-workflow-results.png) -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/repositories/view-run-superlinter.md b/data/reusables/repositories/view-run-superlinter.md index 059ba54b86..d9a10ee0d9 100644 --- a/data/reusables/repositories/view-run-superlinter.md +++ b/data/reusables/repositories/view-run-superlinter.md @@ -1,2 +1,2 @@ 1. From the list of workflow runs, click the name of the run you want to see. -![Name of workflow run](/assets/images/help/repository/superlinter-run-name.png) \ No newline at end of file +![Name of workflow run](/assets/images/help/repository/superlinter-run-name.png) diff --git a/data/reusables/repositories/view-specific-line-superlinter.md b/data/reusables/repositories/view-specific-line-superlinter.md index 3dd5af281d..9a32621267 100644 --- a/data/reusables/repositories/view-specific-line-superlinter.md +++ b/data/reusables/repositories/view-specific-line-superlinter.md @@ -1,6 +1,6 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion fpt or ghes > 2.22 %} 1. Optionally, to get a link to a specific line in the logs, click on the step's line number. You can then copy the link from the address bar of your web browser. - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" %} + {% ifversion fpt or ghes > 3.0 %} ![Button to copy link](/assets/images/help/repository/copy-link-button-updated-2.png) {% else %} ![Button to copy link](/assets/images/help/repository/copy-link-button-updated.png) @@ -8,4 +8,4 @@ {% else %} 1. Optionally, to get a link to a specific line in the logs, click on the step's line number. You can then copy the link from the address bar of your web browser. ![Button to copy link](/assets/images/help/repository/copy-link-button.png) -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/repositories/workflow-notifications.md b/data/reusables/repositories/workflow-notifications.md index e2d943102d..c1399976e8 100644 --- a/data/reusables/repositories/workflow-notifications.md +++ b/data/reusables/repositories/workflow-notifications.md @@ -1,5 +1,5 @@ If you enable email or web notifications for {% data variables.product.prodname_actions %}, you'll receive a notification when any workflow runs that you've triggered have completed. The notification will include the workflow run's status (including successful, failed, neutral, and canceled runs). You can also choose to receive a notification only when a workflow run has failed. -Notifications for scheduled workflows are sent to the user who initially created the workflow. If a different user updates the cron syntax in the workflow file, subsequent notifications will be sent to that user instead.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %} If a scheduled workflow is disabled and then re-enabled, notifications will be sent to the user who re-enabled the workflow rather than the user who last modified the cron syntax.{% endif %} +Notifications for scheduled workflows are sent to the user who initially created the workflow. If a different user updates the cron syntax in the workflow file, subsequent notifications will be sent to that user instead.{% ifversion fpt or ghes > 2.22 %} If a scheduled workflow is disabled and then re-enabled, notifications will be sent to the user who re-enabled the workflow rather than the user who last modified the cron syntax.{% endif %} You can also see the status of workflow runs on a repository's Actions tab. For more information, see "[Managing a workflow run](/actions/automating-your-workflow-with-github-actions/managing-a-workflow-run)." diff --git a/data/reusables/repositories/you-can-fork.md b/data/reusables/repositories/you-can-fork.md index e72953648d..dfa12615a9 100644 --- a/data/reusables/repositories/you-can-fork.md +++ b/data/reusables/repositories/you-can-fork.md @@ -1,7 +1,7 @@ -{% if currentVersion == "github-ae@latest" %}If the policies for your enterprise permit forking internal and private repositories, you{% else %}You{% endif %} can fork a repository to your user account or any organization where you have repository creation permissions. For more information, see "[Permission levels for an organization](/articles/permission-levels-for-an-organization)." +{% ifversion ghae %}If the policies for your enterprise permit forking internal and private repositories, you{% else %}You{% endif %} can fork a repository to your user account or any organization where you have repository creation permissions. For more information, see "[Permission levels for an organization](/articles/permission-levels-for-an-organization)." -{% if currentVersion == "free-pro-team@latest" or enterpriseServerVersions contains currentVersion %} +{% ifversion fpt or ghes %} -If you have access to a private repository and the owner permits forking, you can fork the repository to your user account or any organization on {% if currentVersion == "free-pro-team@latest"%}{% data variables.product.prodname_team %}{% else %}{% data variables.product.product_location %}{% endif %} where you have repository creation permissions. {% if currentVersion == "free-pro-team@latest" %}You cannot fork a private repository to an organization using {% data variables.product.prodname_free_team %}. For more information, see "[GitHub's products](/articles/githubs-products)."{% endif %} +If you have access to a private repository and the owner permits forking, you can fork the repository to your user account or any organization on {% ifversion fpt %}{% data variables.product.prodname_team %}{% else %}{% data variables.product.product_location %}{% endif %} where you have repository creation permissions. {% ifversion fpt %}You cannot fork a private repository to an organization using {% data variables.product.prodname_free_team %}. For more information, see "[GitHub's products](/articles/githubs-products)."{% endif %} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/rest-api/dotcom-only-guide-note.md b/data/reusables/rest-api/dotcom-only-guide-note.md index 337cff1adf..5c873f01e0 100644 --- a/data/reusables/rest-api/dotcom-only-guide-note.md +++ b/data/reusables/rest-api/dotcom-only-guide-note.md @@ -1,4 +1,4 @@ -{% if currentVersion != "free-pro-team@latest" %} +{% ifversion not fpt %} {% note %} diff --git a/data/reusables/saml/you-must-periodically-authenticate.md b/data/reusables/saml/you-must-periodically-authenticate.md index f1a2af7d12..e47803a0ac 100644 --- a/data/reusables/saml/you-must-periodically-authenticate.md +++ b/data/reusables/saml/you-must-periodically-authenticate.md @@ -1 +1 @@ -You must periodically authenticate with your SAML IdP to authenticate and gain access to {% if currentVersion == "free-pro-team@latest" %}the organization's resources on {% data variables.product.prodname_dotcom_the_website %}{% elsif currentVersion == "github-ae@latest" %}{% data variables.product.product_location %}{% endif %}. The duration of this login period is specified by your IdP and is generally 24 hours. This periodic login requirement limits the length of access and requires you to re-identify yourself to continue. {% if currentVersion == "free-pro-team@latest" %}You can view and manage your active SAML sessions in your security settings. For more information, see "[Viewing and managing your active SAML sessions](/articles/viewing-and-managing-your-active-saml-sessions)."{% endif %} +You must periodically authenticate with your SAML IdP to authenticate and gain access to {% ifversion fpt %}the organization's resources on {% data variables.product.prodname_dotcom_the_website %}{% elsif ghae %}{% data variables.product.product_location %}{% endif %}. The duration of this login period is specified by your IdP and is generally 24 hours. This periodic login requirement limits the length of access and requires you to re-identify yourself to continue. {% ifversion fpt %}You can view and manage your active SAML sessions in your security settings. For more information, see "[Viewing and managing your active SAML sessions](/articles/viewing-and-managing-your-active-saml-sessions)."{% endif %} diff --git a/data/reusables/scim/after-you-configure-saml.md b/data/reusables/scim/after-you-configure-saml.md index 85246f3cf0..0fcca436f2 100644 --- a/data/reusables/scim/after-you-configure-saml.md +++ b/data/reusables/scim/after-you-configure-saml.md @@ -1 +1 @@ -By default, your IdP does not communicate with {% data variables.product.product_name %} automatically when you assign or unassign the application. {% data variables.product.product_name %} {% if currentVersion == "free-pro-team@latest" %}provisions access to your resources on {% else %}creates a user account {% endif %}using SAML Just-in-Time (JIT) provisioning the first time someone navigates to {% if currentVersion == "free-pro-team@latest" %}your resources on {% endif %} {% data variables.product.product_name %} and signs in by authenticating through your IdP. You may need to manually notify users when you grant access to {% data variables.product.product_name %}, and you must manually {% if currentVersion == "free-pro-team@latest" %}deprovision access {% else %}deactivate the user account on {% endif %}{% data variables.product.product_name %} during offboarding. You can use SCIM to provision and deprovision {% if currentVersion == "free-pro-team@latest" %}access to organizations owned by your enterprise on {% data variables.product.prodname_dotcom_the_website %} {% else %}user accounts and access for {% data variables.product.product_name %} {% endif %}automatically when you assign or unassign the application on your IdP. \ No newline at end of file +By default, your IdP does not communicate with {% data variables.product.product_name %} automatically when you assign or unassign the application. {% data variables.product.product_name %} {% ifversion fpt %}provisions access to your resources on {% else %}creates a user account {% endif %}using SAML Just-in-Time (JIT) provisioning the first time someone navigates to {% ifversion fpt %}your resources on {% endif %} {% data variables.product.product_name %} and signs in by authenticating through your IdP. You may need to manually notify users when you grant access to {% data variables.product.product_name %}, and you must manually {% ifversion fpt %}deprovision access {% else %}deactivate the user account on {% endif %}{% data variables.product.product_name %} during offboarding. You can use SCIM to provision and deprovision {% ifversion fpt %}access to organizations owned by your enterprise on {% data variables.product.prodname_dotcom_the_website %} {% else %}user accounts and access for {% data variables.product.product_name %} {% endif %}automatically when you assign or unassign the application on your IdP. diff --git a/data/reusables/scim/supported-idps.md b/data/reusables/scim/supported-idps.md index 84aea5e724..fbcb9c559d 100644 --- a/data/reusables/scim/supported-idps.md +++ b/data/reusables/scim/supported-idps.md @@ -1,5 +1,5 @@ The following IdPs can provision or deprovision user accounts on {% data variables.product.product_location %} using SCIM. -{% if currentVersion == "github-ae@latest" %} +{% ifversion ghae %} - Azure AD {% endif %} diff --git a/data/reusables/search/syntax_tips.md b/data/reusables/search/syntax_tips.md index 363da83272..2db9fba1d5 100644 --- a/data/reusables/search/syntax_tips.md +++ b/data/reusables/search/syntax_tips.md @@ -1,6 +1,6 @@ {% tip %} -**Tips:**{% if enterpriseServerVersions contains currentVersion or currentVersion == "github-ae@latest" %} +**Tips:**{% ifversion ghes or ghae %} - This article contains links to example searches on the {% data variables.product.prodname_dotcom_the_website %} website, but you can use the same search filters with {% data variables.product.product_name %}. In the linked example searches, replace `github.com` with the hostname for {% data variables.product.product_location %}.{% endif %} - For a list of search syntaxes that you can add to any search qualifier to further improve your results, see "[Understanding the search syntax](/articles/understanding-the-search-syntax)". - Use quotations around multi-word search terms. For example, if you want to search for issues with the label "In progress," you'd search for `label:"in progress"`. Search is not case sensitive. diff --git a/data/reusables/secret-scanning/about-secret-scanning.md b/data/reusables/secret-scanning/about-secret-scanning.md index 1e8b08b54f..518d3650e3 100644 --- a/data/reusables/secret-scanning/about-secret-scanning.md +++ b/data/reusables/secret-scanning/about-secret-scanning.md @@ -1,2 +1,2 @@ -If someone checks a secret with a known pattern into a {% if currentVersion == "free-pro-team@latest" %}public or private{% endif %} repository on {% data variables.product.product_name %}, {% data variables.product.prodname_secret_scanning %} catches the secret as it's checked in, and helps you mitigate the impact of the leak. +If someone checks a secret with a known pattern into a {% ifversion fpt %}public or private{% endif %} repository on {% data variables.product.product_name %}, {% data variables.product.prodname_secret_scanning %} catches the secret as it's checked in, and helps you mitigate the impact of the leak. Repository administrators are notified about any commit that contains a secret, and they can quickly view all detected secrets in the Security tab for the repository. diff --git a/data/reusables/secret-scanning/api-beta.md b/data/reusables/secret-scanning/api-beta.md index 22975c18ff..d109ab3f8e 100644 --- a/data/reusables/secret-scanning/api-beta.md +++ b/data/reusables/secret-scanning/api-beta.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion ghes > 3.0 %} {% note %} @@ -6,4 +6,4 @@ {% endnote %} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/secret-scanning/beta.md b/data/reusables/secret-scanning/beta.md index 6fe10a2992..08aba65cb1 100644 --- a/data/reusables/secret-scanning/beta.md +++ b/data/reusables/secret-scanning/beta.md @@ -1,4 +1,4 @@ -{% if currentVersion == "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +{% ifversion ghes = 3.0 or ghae %} {% note %} **Note:** {% data variables.product.prodname_secret_scanning_caps %} for organization-owned repositories is currently in beta and subject to change. @@ -6,7 +6,7 @@ {% endnote %} {% endif %} -{% if currentVersion ver_gt "enterprise-server@3.0" %} +{% ifversion ghes > 3.0 %} {% note %} diff --git a/data/reusables/secret-scanning/enterprise-enable-secret-scanning.md b/data/reusables/secret-scanning/enterprise-enable-secret-scanning.md index eb0329e7fe..c33a34e7eb 100644 --- a/data/reusables/secret-scanning/enterprise-enable-secret-scanning.md +++ b/data/reusables/secret-scanning/enterprise-enable-secret-scanning.md @@ -1,4 +1,4 @@ -{% if enterpriseServerVersions contains currentVersion and currentVersion ver_gt "enterprise-server@2.22" %} +{% ifversion ghes > 2.22 %} {% note %} diff --git a/data/reusables/secret-scanning/partner-secret-list-private-repo.md b/data/reusables/secret-scanning/partner-secret-list-private-repo.md index 00c51fc5f5..0ccf07dd69 100644 --- a/data/reusables/secret-scanning/partner-secret-list-private-repo.md +++ b/data/reusables/secret-scanning/partner-secret-list-private-repo.md @@ -1,190 +1,190 @@ Partner | Supported secret | API slug --- | --- | --- -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Adafruit IO | Adafruit IO Key | adafruit_io_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Adobe | Adobe Device Token | adobe_device_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Adobe | Adobe Service Token | adobe_service_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Adobe | Adobe Short-Lived Access Token | adobe_short_lived_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Adobe | Adobe JSON Web Token | adobe_jwt{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Alibaba Cloud | Alibaba Cloud Access Key ID | alibaba_cloud_access_key_id{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Alibaba Cloud | Alibaba Cloud Access Key Secret | alibaba_cloud_access_key_secret{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Amazon Web Services (AWS) | Amazon AWS Access Key ID | aws_access_key_id{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Amazon Web Services (AWS) | Amazon AWS Secret Access Key | aws_secret_access_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Asana | Asana Personal Access Token | asana_personal_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Atlassian | Atlassian API Token | atlassian_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Atlassian | Atlassian JSON Web Token | atlassian_jwt{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Atlassian | Bitbucket Server Personal Access Token | bitbucket_server_personal_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Azure | Azure DevOps Personal Access Token | azure_devops_personal_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Azure | Azure SAS Token | azure_sas_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Azure | Azure Service Management Certificate | azure_management_certificate{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Azure | Azure SQL Connection String | azure_sql_connection_string{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Azure | Azure Storage Account Key | azure_storage_account_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Clojars | Clojars Deploy Token | clojars_deploy_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} CloudBees CodeShip | CloudBees CodeShip Credential | codeship_credential{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Databricks | Databricks Access Token | databricks_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Discord | Discord Bot Token | discord_bot_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Doppler | Doppler Personal Token | doppler_personal_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Doppler | Doppler Service Token | doppler_service_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Doppler | Doppler CLI Token | doppler_cli_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Doppler | Doppler SCIM Token | doppler_scim_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Dropbox | Dropbox Access Token | dropbox_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Dropbox | Dropbox Short Lived Access Token | dropbox_short_lived_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Dynatrace | Dynatrace Access Token | dynatrace_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Dynatrace | Dynatrace Internal Token | dynatrace_internal_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} EasyPost | EasyPost Production API Key | easypost_production_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} EasyPost | EasyPost Test API Key | easypost_test_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Facebook | Facebook Access Token | facebook_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Fastly | Fastly API Token | fastly_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Finicity | Finicity App Key | finicity_app_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Frame.io | Frame.io JSON Web Token | frameio_jwt{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Frame.io| Frame.io Developer Token | frameio_developer_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} GitHub | GitHub Personal Access Token | github_personal_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} GitHub | GitHub OAuth Access Token | github_oauth_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} GitHub | GitHub Refresh Token | github_refresh_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} GitHub | GitHub App Installation Access Token | github_app_installation_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} GitHub | GitHub SSH Private Key | github_ssh_private_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} GoCardless | GoCardless Live Access Token | gocardless_live_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} GoCardless | GoCardless Sandbox Access Token | gocardless_sandbox_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Google Cloud | Google API Key | google_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Google Cloud | Google Cloud Private Key ID | google_cloud_private_key_id{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Grafana | Grafana API Key | grafana_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Hashicorp Terraform | Terraform Cloud / Enterprise API Token | terraform_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Hubspot | Hubspot API Key | hubspot_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Intercom | Intercom Access Token | intercom_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Lob | Lob Live API Key | lob_live_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Lob | Lob Test API Key | lob_test_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Mailchimp | Mailchimp API Key | mailchimp_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Mailgun | Mailgun API Key | mailgun_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} MessageBird | MessageBird API Key | messagebird_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} npm | npm Access Token | npm_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} NuGet | NuGet API Key | nuget_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Onfido | Onfido Live API Token | onfido_live_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Onfido | Onfido Sandbox API Token | onfido_sandbox_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} OpenAI | OpenAI API Key | openai_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Palantir | Palantir JSON Web Token | palantir_jwt{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Postman | Postman API Key | postman_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Proctorio | Proctorio Consumer Key | proctorio_consumer_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Proctorio | Proctorio Linkage Key | proctorio_linkage_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Proctorio | Proctorio Registration Key | proctorio_registration_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Proctorio | Proctorio Secret Key | proctorio_secret_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Pulumi | Pulumi Access Token | pulumi_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} PyPI | PyPI API Token | pypi_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} RubyGems | RubyGems API Key | rubygems_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Samsara | Samsara API Token | samsara_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Samsara | Samsara OAuth Access Token | samsara_oauth_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} SendGrid | SendGrid API Key | sendgrid_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Shippo | Shippo Live API Token | shippo_live_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Shippo | Shippo Test API Token | shippo_test_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Shopify | Shopify App Shared Secret | shopify_app_shared_secret{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Shopify | Shopify Access Token | shopify_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Shopify | Shopify Custom App Access Token | shopify_custom_app_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Shopify | Shopify Private App Password | shopify_private_app_password{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Slack | Slack API Token | slack_api_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Slack | Slack Incoming Webhook URL | slack_incoming_webhook_url{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Slack | Slack Workflow Webhook URL | slack_workflow_webhook_url{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} SSLMate | SSLMate API Key | sslmate_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} SSLMate | SSLMate Cluster Secret | sslmate_cluster_secret{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Stripe | Stripe API Key | stripe_api_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Stripe | Stripe Live API Secret Key | stripe_live_secret_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Stripe | Stripe Test API Secret Key | stripe_test_secret_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Stripe | Stripe Live API Restricted Key | stripe_live_restricted_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.0 or ghae-next %} Stripe | Stripe Test API Restricted Key | stripe_test_restricted_key{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Stripe | Stripe Webhook Signing Secret | stripe_webhook_signing_secret{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Tableau | Tableau Personal Access Token | tableau_personal_access_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 3.1 or ghae-next %} Telegram | Telegram Bot Token | telegram_bot_token{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Tencent Cloud | Tencent Cloud Secret ID | tencent_cloud_secret_id{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Twilio | Twilio Account String Identifier | twilio_account_sid{% endif %} -{%- if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@next" %} +{%- ifversion fpt or ghes > 2.22 or ghae-next %} Twilio | Twilio API Key | twilio_api_key{% endif %} diff --git a/data/reusables/secret-scanning/secret-scanning-process.md b/data/reusables/secret-scanning/secret-scanning-process.md index 9d454028f5..50d695a72d 100644 --- a/data/reusables/secret-scanning/secret-scanning-process.md +++ b/data/reusables/secret-scanning/secret-scanning-process.md @@ -1 +1 @@ -{% data variables.product.prodname_secret_scanning %} scans for any secrets in your entire Git history on all branches present in your {% data variables.product.prodname_dotcom %} repository. \ No newline at end of file +{% data variables.product.prodname_secret_scanning %} scans for any secrets in your entire Git history on all branches present in your {% data variables.product.prodname_dotcom %} repository. diff --git a/data/reusables/security-advisory/link-browsing-advisory-db.md b/data/reusables/security-advisory/link-browsing-advisory-db.md index ecb8f968d6..f902e28cc1 100644 --- a/data/reusables/security-advisory/link-browsing-advisory-db.md +++ b/data/reusables/security-advisory/link-browsing-advisory-db.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} For more information, see "[Browsing security vulnerabilities in the {% data variables.product.prodname_advisory_database %}](/code-security/supply-chain-security/browsing-security-vulnerabilities-in-the-github-advisory-database)" and "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)." {% else %} For more information about advisory data, see "Browsing security vulnerabilities in the {% data variables.product.prodname_advisory_database %}." diff --git a/data/reusables/security-advisory/security-advisory-overview.md b/data/reusables/security-advisory/security-advisory-overview.md index 49f51be77b..3cf3379b92 100644 --- a/data/reusables/security-advisory/security-advisory-overview.md +++ b/data/reusables/security-advisory/security-advisory-overview.md @@ -1 +1 @@ -{% data variables.product.prodname_security_advisories %} allow repository maintainers to privately discuss and fix a security vulnerability in a project. After collaborating on a fix, repository maintainers can publish the security advisory to publicly disclose the security vulnerability to the project's community. By publishing security advisories, repository maintainers make it easier for their community to update package dependencies and research the impact of the security vulnerabilities. \ No newline at end of file +{% data variables.product.prodname_security_advisories %} allow repository maintainers to privately discuss and fix a security vulnerability in a project. After collaborating on a fix, repository maintainers can publish the security advisory to publicly disclose the security vulnerability to the project's community. By publishing security advisories, repository maintainers make it easier for their community to update package dependencies and research the impact of the security vulnerabilities. diff --git a/data/reusables/security/displayed-information.md b/data/reusables/security/displayed-information.md index 744735db2d..8491e29cee 100644 --- a/data/reusables/security/displayed-information.md +++ b/data/reusables/security/displayed-information.md @@ -1,7 +1,7 @@ When you enable one or more security and analysis features for existing repositories, you will see any results displayed on {% data variables.product.prodname_dotcom %} within minutes: - All the existing repositories will have the selected configuration. -- New repositories will follow the selected configuration if you've enabled the checkbox for new repositories.{% if currentVersion == "free-pro-team@latest" %} +- New repositories will follow the selected configuration if you've enabled the checkbox for new repositories.{% ifversion fpt %} - We use the permissions to scan for manifest files to apply the relevant services. - You'll see information on your dependency graph. - {% data variables.product.prodname_dotcom %} will generate {% data variables.product.prodname_dependabot_alerts %} and create pull requests{% endif %}. diff --git a/data/reusables/security/security-and-analysis-features-enable-read-only.md b/data/reusables/security/security-and-analysis-features-enable-read-only.md index b412099e31..4b433230f0 100644 --- a/data/reusables/security/security-and-analysis-features-enable-read-only.md +++ b/data/reusables/security/security-and-analysis-features-enable-read-only.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} If you enable security and analysis features, {% data variables.product.company_short %} performs read-only analysis on your repository. For more information, see "[About {% data variables.product.company_short %}'s use of your data](/github/understanding-how-github-uses-and-protects-your-data/about-githubs-use-of-your-data)." {% endif %} diff --git a/data/reusables/security/some-security-and-analysis-features-are-enabled-by-default.md b/data/reusables/security/some-security-and-analysis-features-are-enabled-by-default.md index 74c33553ab..5d6e8bbf72 100644 --- a/data/reusables/security/some-security-and-analysis-features-are-enabled-by-default.md +++ b/data/reusables/security/some-security-and-analysis-features-are-enabled-by-default.md @@ -1,7 +1,7 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} {% note %} **Note**: You can't disable some security and analysis features that are enabled by default for public repositories. {% endnote %} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/sponsors/activity-tab.md b/data/reusables/sponsors/activity-tab.md index 30519b4077..cf8896e6c1 100644 --- a/data/reusables/sponsors/activity-tab.md +++ b/data/reusables/sponsors/activity-tab.md @@ -1,2 +1,2 @@ 1. In the left sidebar, click **Activity**. - ![Activity tab](/assets/images/help/sponsors/activity-tab.png) \ No newline at end of file + ![Activity tab](/assets/images/help/sponsors/activity-tab.png) diff --git a/data/reusables/sponsors/manage-sponsorship.md b/data/reusables/sponsors/manage-sponsorship.md index f977c24446..34b0a2b890 100644 --- a/data/reusables/sponsors/manage-sponsorship.md +++ b/data/reusables/sponsors/manage-sponsorship.md @@ -1,2 +1,2 @@ 1. To the right of your current tier, click **Manage**. - ![Manage your sponsorship button](/assets/images/help/sponsors/manage-your-sponsorship-button.png) \ No newline at end of file + ![Manage your sponsorship button](/assets/images/help/sponsors/manage-your-sponsorship-button.png) diff --git a/data/reusables/sponsors/org-sponsors-release-phase.md b/data/reusables/sponsors/org-sponsors-release-phase.md index 75983073a4..e91699db08 100644 --- a/data/reusables/sponsors/org-sponsors-release-phase.md +++ b/data/reusables/sponsors/org-sponsors-release-phase.md @@ -2,4 +2,4 @@ **Note:** Sponsoring on behalf of an organization is currently in beta and subject to change. -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/sponsors/pay-prorated-amount.md b/data/reusables/sponsors/pay-prorated-amount.md index b098d34abd..16ff7f0cf2 100644 --- a/data/reusables/sponsors/pay-prorated-amount.md +++ b/data/reusables/sponsors/pay-prorated-amount.md @@ -1,2 +1,2 @@ 1. Optionally, if you're sponsoring as an organization, to pay a prorated amount instead of making the full monthly payment, under "Total due now", click **Pay prorated $X.XX instead**. - ![Link to pay prorated amount](/assets/images/help/sponsors/pay-prorated-amount-link.png) \ No newline at end of file + ![Link to pay prorated amount](/assets/images/help/sponsors/pay-prorated-amount-link.png) diff --git a/data/reusables/sponsors/sponsor-account.md b/data/reusables/sponsors/sponsor-account.md index 9c91a25539..d7b71b4aab 100644 --- a/data/reusables/sponsors/sponsor-account.md +++ b/data/reusables/sponsors/sponsor-account.md @@ -1,2 +1,2 @@ 1. Click **Sponsor _ACCOUNT_**. - ![Sponsor button](/assets/images/help/sponsors/sponsor-developer-button.png) \ No newline at end of file + ![Sponsor button](/assets/images/help/sponsors/sponsor-developer-button.png) diff --git a/data/reusables/support/contacting-premium-support.md b/data/reusables/support/contacting-premium-support.md index 5e11eb52c6..e6a781db88 100644 --- a/data/reusables/support/contacting-premium-support.md +++ b/data/reusables/support/contacting-premium-support.md @@ -1,4 +1,4 @@ ### Contacting {% data variables.contact.premium_support %} -{% data variables.contact.premium_support %} customers can use the {% data variables.contact.contact_landing_page_portal %} to report issues in writing, in English. \ No newline at end of file +{% data variables.contact.premium_support %} customers can use the {% data variables.contact.contact_landing_page_portal %} to report issues in writing, in English. diff --git a/data/reusables/support/enterprise-resolving-and-closing-tickets.md b/data/reusables/support/enterprise-resolving-and-closing-tickets.md index 8e7b74cc3c..78729722f4 100644 --- a/data/reusables/support/enterprise-resolving-and-closing-tickets.md +++ b/data/reusables/support/enterprise-resolving-and-closing-tickets.md @@ -1,4 +1,4 @@ -{% data variables.contact.enterprise_support %} may consider a ticket solved after providing an explanation, recommendation, usage instructions, {% if currentVersion == "github-ae@latest" %}or {% endif %} workaround instructions{% if enterpriseServerVersions contains currentVersion %}, or by advising you of an available release that addresses the issue{% endif %}. +{% data variables.contact.enterprise_support %} may consider a ticket solved after providing an explanation, recommendation, usage instructions, {% ifversion ghae %}or {% endif %} workaround instructions{% ifversion ghes %}, or by advising you of an available release that addresses the issue{% endif %}. If you use a custom or unsupported plug-in, module, or custom code, {% data variables.contact.enterprise_support %} may ask you to remove the unsupported plug-in, module, or code while attempting to resolve the issue. If the problem is fixed when the unsupported plug-in, module, or custom code is removed, {% data variables.contact.enterprise_support %} may consider the ticket solved. diff --git a/data/reusables/support/receiving-credits.md b/data/reusables/support/receiving-credits.md index 01c593337e..55d39f0740 100644 --- a/data/reusables/support/receiving-credits.md +++ b/data/reusables/support/receiving-credits.md @@ -14,6 +14,6 @@ The following information **must be included** in your credit request: - **Date** (The date must be within 30 days after the quarter based on {% data variables.product.company_short %}’s fiscal year end in which the claims occurred [January 31, April 30, July 31, or October 31].) - **Customer contact** (You must specify both name and email address.) - **Customer address** -- **Qualifying credits** (You must provide the date of each qualifying credit and the associated ticket number.){% if currentVersion == "free-pro-team@latest" %} +- **Qualifying credits** (You must provide the date of each qualifying credit and the associated ticket number.){% ifversion fpt %} - **Name of {% data variables.product.prodname_ghe_cloud %} organization**{% endif %} - **Ticket numbers** diff --git a/data/reusables/supported-languages/C.md b/data/reusables/supported-languages/C.md index bf51ad776e..7257e854e4 100644 --- a/data/reusables/supported-languages/C.md +++ b/data/reusables/supported-languages/C.md @@ -1 +1 @@ -| C {% if currentVersion == "free-pro-team@latest" %}| {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} \ No newline at end of file +| C {% ifversion fpt %}| {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/data/reusables/supported-languages/Cpp.md b/data/reusables/supported-languages/Cpp.md index 9e460c48f8..ca916e7d89 100644 --- a/data/reusables/supported-languages/Cpp.md +++ b/data/reusables/supported-languages/Cpp.md @@ -1 +1 @@ -| C++ {% if currentVersion == "free-pro-team@latest" %}| {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} \ No newline at end of file +| C++ {% ifversion fpt %}| {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/data/reusables/supported-languages/Cs.md b/data/reusables/supported-languages/Cs.md index 7f7e806643..f9c01833b0 100644 --- a/data/reusables/supported-languages/Cs.md +++ b/data/reusables/supported-languages/Cs.md @@ -1 +1 @@ -| C# {% if currentVersion == "free-pro-team@latest" %}| {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI |{% endif %} \ No newline at end of file +| C# {% ifversion fpt %}| {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
`dotnet` CLI |{% endif %} diff --git a/data/reusables/supported-languages/go.md b/data/reusables/supported-languages/go.md index 4029a03251..a9590737d3 100644 --- a/data/reusables/supported-languages/go.md +++ b/data/reusables/supported-languages/go.md @@ -1 +1 @@ -| Go {% if currentVersion == "free-pro-team@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %}
Go modules | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} \ No newline at end of file +| Go {% ifversion fpt %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %}
Go modules | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/data/reusables/supported-languages/java.md b/data/reusables/supported-languages/java.md index 3bc0da472b..4b490859c1 100644 --- a/data/reusables/supported-languages/java.md +++ b/data/reusables/supported-languages/java.md @@ -1 +1 @@ -| Java {% if currentVersion == "free-pro-team@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle |{% endif %} \ No newline at end of file +| Java {% ifversion fpt %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle |{% endif %} diff --git a/data/reusables/supported-languages/javascript.md b/data/reusables/supported-languages/javascript.md index 1b68807c42..55cbc93876 100644 --- a/data/reusables/supported-languages/javascript.md +++ b/data/reusables/supported-languages/javascript.md @@ -1 +1 @@ -| JavaScript {% if currentVersion == "free-pro-team@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm, Yarn | {% octicon "check" aria-label="The check icon" %}
npm | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm, Yarn | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% endif %} \ No newline at end of file +| JavaScript {% ifversion fpt %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm, Yarn | {% octicon "check" aria-label="The check icon" %}
npm | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm, Yarn | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% endif %} diff --git a/data/reusables/supported-languages/php.md b/data/reusables/supported-languages/php.md index 3a5c5568fb..9ddbfd1a19 100644 --- a/data/reusables/supported-languages/php.md +++ b/data/reusables/supported-languages/php.md @@ -1 +1 @@ -| PHP {% if currentVersion == "free-pro-team@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} \ No newline at end of file +| PHP {% ifversion fpt %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Composer | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/data/reusables/supported-languages/products-table-header.md b/data/reusables/supported-languages/products-table-header.md index 95cf8779ae..de6a3fced0 100644 --- a/data/reusables/supported-languages/products-table-header.md +++ b/data/reusables/supported-languages/products-table-header.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %}| [Code navigation](/github/managing-files-in-a-repository/navigating-code-on-github) | [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [Dependency graph, {% data variables.product.prodname_dependabot_alerts %}, {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-the-dependency-graph#supported-package-ecosystems) | [{% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates#supported-repositories-and-ecosystems) | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [{% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) | -| :-- | :-: | :-: | :-: | :-: | :-: | :-: |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [Dependency graph, {% data variables.product.prodname_dependabot_alerts %}](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems) | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [{% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) | -| :-- | :-: | :-: | :-: | :-: |{% elsif currentVersion == "github-ae@latest" %}| [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [{% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) | -| :-- | :-: | :-: | :-: |{% endif %} \ No newline at end of file +{% ifversion fpt %}| [Code navigation](/github/managing-files-in-a-repository/navigating-code-on-github) | [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [Dependency graph, {% data variables.product.prodname_dependabot_alerts %}, {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/about-the-dependency-graph#supported-package-ecosystems) | [{% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates#supported-repositories-and-ecosystems) | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [{% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) | +| :-- | :-: | :-: | :-: | :-: | :-: | :-: |{% elsif ghes > 2.21 %}| [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [Dependency graph, {% data variables.product.prodname_dependabot_alerts %}](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems) | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [{% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) | +| :-- | :-: | :-: | :-: | :-: |{% elsif ghae %}| [{% data variables.product.prodname_code_scanning_capc %}](/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) | [{% data variables.product.prodname_actions %}](/actions/guides/about-continuous-integration#supported-languages) | [{% data variables.product.prodname_registry %}](/packages/learn-github-packages/introduction-to-github-packages#supported-clients-and-formats) | +| :-- | :-: | :-: | :-: |{% endif %} diff --git a/data/reusables/supported-languages/python.md b/data/reusables/supported-languages/python.md index d240d29dab..747c75a1a7 100644 --- a/data/reusables/supported-languages/python.md +++ b/data/reusables/supported-languages/python.md @@ -1 +1 @@ -| Python {% if currentVersion == "free-pro-team@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
pip | {% octicon "check" aria-label="The check icon" %}
pip | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
pip | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} \ No newline at end of file +| Python {% ifversion fpt %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
pip | {% octicon "check" aria-label="The check icon" %}
pip | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
pip | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/data/reusables/supported-languages/ruby.md b/data/reusables/supported-languages/ruby.md index a96e878511..4f5e2d9294 100644 --- a/data/reusables/supported-languages/ruby.md +++ b/data/reusables/supported-languages/ruby.md @@ -1 +1 @@ -| Ruby {% if currentVersion == "free-pro-team@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% endif %} \ No newline at end of file +| Ruby {% ifversion fpt %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
RubyGems | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
RubyGems |{% endif %} diff --git a/data/reusables/supported-languages/scala.md b/data/reusables/supported-languages/scala.md index b0e36f9170..32fce73ea7 100644 --- a/data/reusables/supported-languages/scala.md +++ b/data/reusables/supported-languages/scala.md @@ -1 +1 @@ -| Scala {% if currentVersion == "free-pro-team@latest" %}| {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Maven | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} \ No newline at end of file +| Scala {% ifversion fpt %}| {% octicon "x" aria-label="The X icon" %} | {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Maven | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %}
Maven, Gradle | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %}1 | {% octicon "check" aria-label="The check icon" %} | {% octicon "x" aria-label="The X icon" %} |{% endif %} diff --git a/data/reusables/supported-languages/typescript.md b/data/reusables/supported-languages/typescript.md index 9ec7f38a82..fc6c8b854d 100644 --- a/data/reusables/supported-languages/typescript.md +++ b/data/reusables/supported-languages/typescript.md @@ -1 +1 @@ -| TypeScript {% if currentVersion == "free-pro-team@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm, Yarn | {% octicon "check" aria-label="The check icon" %}
npm | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% elsif currentVersion ver_gt "enterprise-server@2.21" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm, Yarn | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% elsif currentVersion == "github-ae@latest" %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% endif %} \ No newline at end of file +| TypeScript {% ifversion fpt %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm, Yarn | {% octicon "check" aria-label="The check icon" %}
npm | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% elsif ghes > 2.21 %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm, Yarn | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% elsif ghae %}| {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %} | {% octicon "check" aria-label="The check icon" %}
npm |{% endif %} diff --git a/data/reusables/two_fa/after-2fa-add-security-key.md b/data/reusables/two_fa/after-2fa-add-security-key.md index 271169e10a..720584fcfc 100644 --- a/data/reusables/two_fa/after-2fa-add-security-key.md +++ b/data/reusables/two_fa/after-2fa-add-security-key.md @@ -1 +1 @@ -After you configure 2FA using a mobile app{% if currentVersion == "free-pro-team@latest" %} or via text message{% endif %}, you can add a security key, like a fingerprint reader or Windows Hello. The technology that enables authentication with a security key is called WebAuthn. WebAuthn is the successor to U2F and works in all modern browsers. For more information, see "[WebAuthn](https://webauthn.guide/)" and "[Can I Use](https://caniuse.com/#search=webauthn)." +After you configure 2FA using a mobile app{% ifversion fpt %} or via text message{% endif %}, you can add a security key, like a fingerprint reader or Windows Hello. The technology that enables authentication with a security key is called WebAuthn. WebAuthn is the successor to U2F and works in all modern browsers. For more information, see "[WebAuthn](https://webauthn.guide/)" and "[Can I Use](https://caniuse.com/#search=webauthn)." diff --git a/data/reusables/two_fa/auth_methods_2fa.md b/data/reusables/two_fa/auth_methods_2fa.md index 791fb1804c..9395ebb068 100644 --- a/data/reusables/two_fa/auth_methods_2fa.md +++ b/data/reusables/two_fa/auth_methods_2fa.md @@ -1,9 +1,9 @@ -{% if enterpriseServerVersions contains currentVersion %} +{% ifversion ghes %} ### Authentication methods that support 2FA | Authentication Method | Description | Two-factor authentication support | |-----------------------|--------------|-----------------------------------| -| Built-in | Authentication is performed against user accounts that are stored on the {% data variables.product.prodname_ghe_server %} appliance. | Supported and managed on the {% data variables.product.prodname_ghe_server %} appliance. Organization administrators can require 2FA to be enabled for members of the organization. |{% if enterpriseServerVersions contains currentVersion %} +| Built-in | Authentication is performed against user accounts that are stored on the {% data variables.product.prodname_ghe_server %} appliance. | Supported and managed on the {% data variables.product.prodname_ghe_server %} appliance. Organization administrators can require 2FA to be enabled for members of the organization. |{% ifversion ghes %} | Built-in authentication with an identity provider| Authentication is performed against user accounts that are stored on the identity provider. | Dependant on the identity provider.{% endif %} | LDAP | Allows integration with your company directory service for authentication. | Supported and managed on the {% data variables.product.prodname_ghe_server %} appliance. Organization administrators can require 2FA to be enabled for members of the organization. | | SAML | Authentication is performed on an external identity provider. | {% data reusables.two_fa.2fa_not_supported_with_saml_and_cas %} | diff --git a/data/reusables/two_fa/send-invite-to-reinstate-user-before-2fa-is-enabled.md b/data/reusables/two_fa/send-invite-to-reinstate-user-before-2fa-is-enabled.md index ea88f603bc..6502f5b42a 100644 --- a/data/reusables/two_fa/send-invite-to-reinstate-user-before-2fa-is-enabled.md +++ b/data/reusables/two_fa/send-invite-to-reinstate-user-before-2fa-is-enabled.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can send an invitation to reinstate a user's privileges and access to the organization before they have enabled two-factor authentication and they must enable 2FA before they can accept your invitation to rejoin the organization. {% endif %} diff --git a/data/reusables/user-settings/marketplace_apps.md b/data/reusables/user-settings/marketplace_apps.md index 979e442bb4..d2e2020d74 100644 --- a/data/reusables/user-settings/marketplace_apps.md +++ b/data/reusables/user-settings/marketplace_apps.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} 1. In the left sidebar, click either **OAuth Apps** or **GitHub Apps** depending on the {% data variables.product.prodname_marketplace %} listing you'd like to manage. **Note:** You can also manage your listing by navigating to https://github.com/marketplace/manage. ![App type selection](/assets/images/settings/apps_choose_app.png) diff --git a/data/reusables/user_settings/about-commit-email-addresses.md b/data/reusables/user_settings/about-commit-email-addresses.md index c1d07e7683..e6d47eb9f5 100644 --- a/data/reusables/user_settings/about-commit-email-addresses.md +++ b/data/reusables/user_settings/about-commit-email-addresses.md @@ -1 +1 @@ -For more information on commit email addresses,{% if currentVersion == "free-pro-team@latest" %} including your {% data variables.product.product_name %}-provided `noreply` email address,{% endif %} see "[Setting your commit email address](/articles/setting-your-commit-email-address)." +For more information on commit email addresses,{% ifversion fpt %} including your {% data variables.product.product_name %}-provided `noreply` email address,{% endif %} see "[Setting your commit email address](/articles/setting-your-commit-email-address)." diff --git a/data/reusables/user_settings/access_org.md b/data/reusables/user_settings/access_org.md index 8120279aad..8ce7b073ae 100644 --- a/data/reusables/user_settings/access_org.md +++ b/data/reusables/user_settings/access_org.md @@ -1,2 +1,2 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion == "github-ae@latest" or currentVersion ver_gt "enterprise-server@2.21" %}2. Click the name of your organization. - ![Organization name in list of organizations](/assets/images/help/organizations/org-settings-link.png){% endif %} \ No newline at end of file +{% ifversion fpt or ghae or ghes > 2.21 %}2. Click the name of your organization. + ![Organization name in list of organizations](/assets/images/help/organizations/org-settings-link.png){% endif %} diff --git a/data/reusables/user_settings/add_and_verify_email.md b/data/reusables/user_settings/add_and_verify_email.md index 48abb2d08a..76192eb264 100644 --- a/data/reusables/user_settings/add_and_verify_email.md +++ b/data/reusables/user_settings/add_and_verify_email.md @@ -1,5 +1,5 @@ -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} 1. In "Add email address", type your email address and click **Add**. - ![Email addition button](/assets/images/help/settings/add-email-address.png){% if currentVersion == "free-pro-team@latest" %} + ![Email addition button](/assets/images/help/settings/add-email-address.png){% ifversion fpt %} 2. [Verify your email address](/articles/verifying-your-email-address).{% endif %} -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/user_settings/codespaces-secret-repository-access.md b/data/reusables/user_settings/codespaces-secret-repository-access.md index 5fb6bc49ee..7996043010 100644 --- a/data/reusables/user_settings/codespaces-secret-repository-access.md +++ b/data/reusables/user_settings/codespaces-secret-repository-access.md @@ -1,2 +1,2 @@ 1. Select the "Repository access" drop-down menu, then click a repository you want to have access to the secret. Repeat for every repository you want to have access to the secret. - !["Repository access" drop-down menu](/assets/images/help/settings/codespaces-secret-repository-access-drop-down.png) \ No newline at end of file + !["Repository access" drop-down menu](/assets/images/help/settings/codespaces-secret-repository-access-drop-down.png) diff --git a/data/reusables/user_settings/codespaces-secret-value.md b/data/reusables/user_settings/codespaces-secret-value.md index 9f19b0d20c..f4f66e27b1 100644 --- a/data/reusables/user_settings/codespaces-secret-value.md +++ b/data/reusables/user_settings/codespaces-secret-value.md @@ -1,2 +1,2 @@ 1. Under "Value", type the value of your secret. - !["Value" textbox](/assets/images/help/settings/codespaces-secret-value-field.png) \ No newline at end of file + !["Value" textbox](/assets/images/help/settings/codespaces-secret-value-field.png) diff --git a/data/reusables/user_settings/codespaces-tab.md b/data/reusables/user_settings/codespaces-tab.md index 631477d1d7..4ae4e90467 100644 --- a/data/reusables/user_settings/codespaces-tab.md +++ b/data/reusables/user_settings/codespaces-tab.md @@ -1,2 +1,2 @@ 1. In the left sidebar, click **Codespaces**. -![Codespaces tab in the user settings sidebar](/assets/images/help/settings/codespaces-tab.png) \ No newline at end of file +![Codespaces tab in the user settings sidebar](/assets/images/help/settings/codespaces-tab.png) diff --git a/data/reusables/user_settings/context_switcher.md b/data/reusables/user_settings/context_switcher.md index 21d6b0eb02..ed3e45a722 100644 --- a/data/reusables/user_settings/context_switcher.md +++ b/data/reusables/user_settings/context_switcher.md @@ -1 +1 @@ -You must manage billing settings and paid features for each of your accounts separately. You can switch between settings for your personal account, organization accounts, and enterprise accounts using the context switcher on each settings page. For more information, see "[Switching between settings for your different accounts](/billing/managing-your-github-billing-settings/about-billing-on-github#switching-between-settings-for-your-different-accounts)." \ No newline at end of file +You must manage billing settings and paid features for each of your accounts separately. You can switch between settings for your personal account, organization accounts, and enterprise accounts using the context switcher on each settings page. For more information, see "[Switching between settings for your different accounts](/billing/managing-your-github-billing-settings/about-billing-on-github#switching-between-settings-for-your-different-accounts)." diff --git a/data/reusables/user_settings/export-data.md b/data/reusables/user_settings/export-data.md index 829998c023..89487bc593 100644 --- a/data/reusables/user_settings/export-data.md +++ b/data/reusables/user_settings/export-data.md @@ -1,3 +1,3 @@ -{% if currentVersion == "free-pro-team@latest" %} +{% ifversion fpt %} You can export and review the metadata that {% data variables.product.product_name %} stores about your personal account. {% endif %} diff --git a/data/reusables/user_settings/link_email_with_your_account.md b/data/reusables/user_settings/link_email_with_your_account.md index 0b7e0fcb1b..a1fe007143 100644 --- a/data/reusables/user_settings/link_email_with_your_account.md +++ b/data/reusables/user_settings/link_email_with_your_account.md @@ -1,3 +1,3 @@ -{% if currentVersion != "github-ae@latest" %} +{% ifversion not ghae %} Add the email address to your account on {% data variables.product.product_name %}, so that your commits are attributed to you and appear in your contributions graph. For more information, see "[Adding an email address to your {% data variables.product.prodname_dotcom %} account](/github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account)." -{% endif %} \ No newline at end of file +{% endif %} diff --git a/data/reusables/user_settings/password-authentication-deprecation.md b/data/reusables/user_settings/password-authentication-deprecation.md index bd247793ce..b10137cb4e 100644 --- a/data/reusables/user_settings/password-authentication-deprecation.md +++ b/data/reusables/user_settings/password-authentication-deprecation.md @@ -1 +1 @@ -When Git prompts you for your password, enter your personal access token (PAT) instead.{% if currentVersion != "github-ae@latest" %} Password-based authentication for Git is deprecated, and using a PAT is more secure.{% endif %} For more information, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)." +When Git prompts you for your password, enter your personal access token (PAT) instead.{% ifversion not ghae %} Password-based authentication for Git is deprecated, and using a PAT is more secure.{% endif %} For more information, see "[Creating a personal access token](/github/authenticating-to-github/creating-a-personal-access-token)." diff --git a/data/reusables/user_settings/personal_dashboard.md b/data/reusables/user_settings/personal_dashboard.md index 07083b821d..1d757aec3c 100644 --- a/data/reusables/user_settings/personal_dashboard.md +++ b/data/reusables/user_settings/personal_dashboard.md @@ -1 +1 @@ -{% if currentVersion == "free-pro-team@latest" %}[personal dashboard](https://github.com/dashboard){% else %}personal dashboard (`https://[hostname]/dashboard`){% endif %} +{% ifversion fpt %}[personal dashboard](https://github.com/dashboard){% else %}personal dashboard (`https://[hostname]/dashboard`){% endif %} diff --git a/data/reusables/user_settings/security.md b/data/reusables/user_settings/security.md index 182a5688e8..c2d336643a 100644 --- a/data/reusables/user_settings/security.md +++ b/data/reusables/user_settings/security.md @@ -1,4 +1,4 @@ -{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}1. In the left sidebar, click **Account security**. +{% ifversion fpt or ghes > 2.21 or ghae %}1. In the left sidebar, click **Account security**. ![User account security settings](/assets/images/help/settings/settings-sidebar-account-security.png) {% else %}1. In the left sidebar, click **Security**. ![User account security settings](/assets/images/help/settings/settings-sidebar-security.png){% endif %} diff --git a/data/reusables/user_settings/set_your_email_address_in_git.md b/data/reusables/user_settings/set_your_email_address_in_git.md index a684e6be94..946a996bd4 100644 --- a/data/reusables/user_settings/set_your_email_address_in_git.md +++ b/data/reusables/user_settings/set_your_email_address_in_git.md @@ -1 +1 @@ -Set an email address in Git. You can use {% if currentVersion == "free-pro-team@latest"%}your [{% data variables.product.product_name %}-provided `no-reply` email address](/articles/setting-your-commit-email-address) or {% endif %}any email address. +Set an email address in Git. You can use {% ifversion fpt %}your [{% data variables.product.product_name %}-provided `no-reply` email address](/articles/setting-your-commit-email-address) or {% endif %}any email address. diff --git a/data/reusables/webhooks/check_run_properties.md b/data/reusables/webhooks/check_run_properties.md index 15905ea4c6..ba777d0e9a 100644 --- a/data/reusables/webhooks/check_run_properties.md +++ b/data/reusables/webhooks/check_run_properties.md @@ -3,10 +3,10 @@ Key | Type | Description `action`|`string` | The action performed. Can be one of:
  • `created` - A new check run was created.
  • `completed` - The `status` of the check run is `completed`.
  • `rerequested` - Someone requested to re-run your check run from the pull request UI. See "[About status checks](/articles/about-status-checks#checks)" for more details about the GitHub UI. When you receive a `rerequested` action, you'll need to [create a new check run](/rest/reference/checks#create-a-check-run). Only the {% data variables.product.prodname_github_app %} that someone requests to re-run the check will receive the `rerequested` payload.
  • `requested_action` - Someone requested an action your app provides to be taken. Only the {% data variables.product.prodname_github_app %} someone requests to perform an action will receive the `requested_action` payload. To learn more about check runs and requested actions, see "[Check runs and requested actions](/rest/reference/checks#check-runs-and-requested-actions)."
`check_run`|`object` | The [check_run](/rest/reference/checks#get-a-check-run). `check_run[status]`|`string` | The current status of the check run. Can be `queued`, `in_progress`, or `completed`. -`check_run[conclusion]`|`string` | The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %}`action_required` or `stale`{% else %}or `action_required`{% endif %}. This value will be `null` until the check run has `completed`. +`check_run[conclusion]`|`string` | The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, {% ifversion fpt or ghes or ghae %}`action_required` or `stale`{% else %}or `action_required`{% endif %}. This value will be `null` until the check run has `completed`. `check_run[name]`|`string` | The name of the check run. `check_run[check_suite][id]`|`integer` | The id of the check suite that this check run is part of. -`check_run[check_suite][pull_requests]`|`array`| An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty.{% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %} +`check_run[check_suite][pull_requests]`|`array`| An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty.{% ifversion fpt or ghes > 3.0 or ghae %} `check_run[check_suite][deployment]`|`object`| A deployment to a repository environment. This will only be populated if the check run was created by a {% data variables.product.prodname_actions %} workflow job that references an environment.{% endif %} `requested_action`|`object` | The action requested by the user. `requested_action[identifier]`|`string` | The integrator reference of the action requested by the user. diff --git a/data/reusables/webhooks/check_suite_properties.md b/data/reusables/webhooks/check_suite_properties.md index 30ba5036a9..bfd75ff5ba 100644 --- a/data/reusables/webhooks/check_suite_properties.md +++ b/data/reusables/webhooks/check_suite_properties.md @@ -5,6 +5,6 @@ Key | Type | Description `check_suite[head_branch]`|`string` | The head branch name the changes are on. `check_suite[head_sha]`|`string` | The SHA of the most recent commit for this check suite. `check_suite[status]`|`string` | The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. -`check_suite[conclusion]`|`string`| The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.19" or currentVersion == "github-ae@latest" %}`action_required` or `stale`{% else %}or `action_required`{% endif %}. This value will be `null` until the check run has `completed`. +`check_suite[conclusion]`|`string`| The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, {% ifversion fpt or ghes or ghae %}`action_required` or `stale`{% else %}or `action_required`{% endif %}. This value will be `null` until the check run has `completed`. `check_suite[url]`|`string` | URL that points to the check suite API resource. `check_suite[pull_requests]`|`array`| An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. diff --git a/data/reusables/webhooks/create_properties.md b/data/reusables/webhooks/create_properties.md index b36f9c83b4..a22751894b 100644 --- a/data/reusables/webhooks/create_properties.md +++ b/data/reusables/webhooks/create_properties.md @@ -2,5 +2,5 @@ Key | Type | Description ----|------|------------- `ref`|`string` | The [`git ref`](/rest/reference/git#get-a-reference) resource. `ref_type`|`string` | The type of Git ref object created in the repository. Can be either `branch` or `tag`. -`master_branch`|`string` | The name of the repository's default branch (usually {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.1" or currentVersion == "github-ae@latest" %}`main`{% else %}`master`{% endif %}). +`master_branch`|`string` | The name of the repository's default branch (usually {% ifversion fpt or ghes > 3.1 or ghae %}`main`{% else %}`master`{% endif %}). `description`|`string` | The repository's current description. diff --git a/data/reusables/webhooks/discussion_desc.md b/data/reusables/webhooks/discussion_desc.md index 1b221660e0..a573e31f27 100644 --- a/data/reusables/webhooks/discussion_desc.md +++ b/data/reusables/webhooks/discussion_desc.md @@ -1 +1 @@ -`discussion` | `object` | The [`discussion`](/graphql/guides/using-the-graphql-api-for-discussions#discussion) resource. \ No newline at end of file +`discussion` | `object` | The [`discussion`](/graphql/guides/using-the-graphql-api-for-discussions#discussion) resource. diff --git a/data/reusables/webhooks/discussions-webhooks-beta.md b/data/reusables/webhooks/discussions-webhooks-beta.md index 2033ca20ea..28490d85d9 100644 --- a/data/reusables/webhooks/discussions-webhooks-beta.md +++ b/data/reusables/webhooks/discussions-webhooks-beta.md @@ -2,4 +2,4 @@ **Note:** Webhook events for {% data variables.product.prodname_discussions %} are currently in beta and subject to change. -{% endnote %} \ No newline at end of file +{% endnote %} diff --git a/data/reusables/webhooks/installation_properties.md b/data/reusables/webhooks/installation_properties.md index 8580d9fc2d..f34659b754 100644 --- a/data/reusables/webhooks/installation_properties.md +++ b/data/reusables/webhooks/installation_properties.md @@ -1,4 +1,4 @@ Key | Type | Description ----|------|------------ -`action` | `string` | The action that was performed. Can be one of:
  • `created` - Someone installs a {% data variables.product.prodname_github_app %}.
  • `deleted` - Someone uninstalls a {% data variables.product.prodname_github_app %}
  • {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.20" or currentVersion == "github-ae@latest" %}
  • `suspend` - Someone suspends a {% data variables.product.prodname_github_app %} installation.
  • `unsuspend` - Someone unsuspends a {% data variables.product.prodname_github_app %} installation.
  • {% endif %}
  • `new_permissions_accepted` - Someone accepts new permissions for a {% data variables.product.prodname_github_app %} installation. When a {% data variables.product.prodname_github_app %} owner requests new permissions, the person who installed the {% data variables.product.prodname_github_app %} must accept the new permissions request.
+`action` | `string` | The action that was performed. Can be one of:
  • `created` - Someone installs a {% data variables.product.prodname_github_app %}.
  • `deleted` - Someone uninstalls a {% data variables.product.prodname_github_app %}
  • {% ifversion fpt or ghes or ghae %}
  • `suspend` - Someone suspends a {% data variables.product.prodname_github_app %} installation.
  • `unsuspend` - Someone unsuspends a {% data variables.product.prodname_github_app %} installation.
  • {% endif %}
  • `new_permissions_accepted` - Someone accepts new permissions for a {% data variables.product.prodname_github_app %} installation. When a {% data variables.product.prodname_github_app %} owner requests new permissions, the person who installed the {% data variables.product.prodname_github_app %} must accept the new permissions request.
`repositories` | `array` | An array of repository objects that the installation can access. diff --git a/data/reusables/webhooks/pull_request_webhook_properties.md b/data/reusables/webhooks/pull_request_webhook_properties.md index 3452cf7303..d3413aa7bf 100644 --- a/data/reusables/webhooks/pull_request_webhook_properties.md +++ b/data/reusables/webhooks/pull_request_webhook_properties.md @@ -1,3 +1,3 @@ Key | Type | Description ----|------|------------- -`action`|`string` | The action that was performed. Can be one of:
  • `assigned`
  • {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@3.0" or currentVersion == "github-ae@latest" %}
  • `auto_merge_disabled`
  • `auto_merge_enabled`
  • {% endif %}
  • `closed`: If the action is `closed` and the `merged` key is `false`, the pull request was closed with unmerged commits. If the action is `closed` and the `merged` key is `true`, the pull request was merged.
  • `converted_to_draft`
  • `edited`
  • `labeled`
  • `locked`
  • `opened`
  • `ready_for_review`
  • `reopened`
  • `review_request_removed`
  • `review_requested`
  • `synchronize`: Triggered when a pull request's tracking branch is synchronized with the source branch for the pull request, which happens when the source branch is updated.
  • `unassigned`
  • `unlabeled`
  • `unlocked`
+`action`|`string` | The action that was performed. Can be one of:
  • `assigned`
  • {% ifversion fpt or ghes > 3.0 or ghae %}
  • `auto_merge_disabled`
  • `auto_merge_enabled`
  • {% endif %}
  • `closed`: If the action is `closed` and the `merged` key is `false`, the pull request was closed with unmerged commits. If the action is `closed` and the `merged` key is `true`, the pull request was merged.
  • `converted_to_draft`
  • `edited`
  • `labeled`
  • `locked`
  • `opened`
  • `ready_for_review`
  • `reopened`
  • `review_request_removed`
  • `review_requested`
  • `synchronize`: Triggered when a pull request's tracking branch is synchronized with the source branch for the pull request, which happens when the source branch is updated.
  • `unassigned`
  • `unlabeled`
  • `unlocked`
diff --git a/data/reusables/webhooks/pusher_type_desc.md b/data/reusables/webhooks/pusher_type_desc.md index 867fad6a56..6b59a56d2e 100644 --- a/data/reusables/webhooks/pusher_type_desc.md +++ b/data/reusables/webhooks/pusher_type_desc.md @@ -1 +1 @@ -`pusher_type`|`string`| The pusher type for the event. Can be either `user` or a deploy key. \ No newline at end of file +`pusher_type`|`string`| The pusher type for the event. Can be either `user` or a deploy key. diff --git a/data/reusables/webhooks/repo_desc_graphql.md b/data/reusables/webhooks/repo_desc_graphql.md index 7cfc041ade..99798803b0 100644 --- a/data/reusables/webhooks/repo_desc_graphql.md +++ b/data/reusables/webhooks/repo_desc_graphql.md @@ -1 +1 @@ -`repository` | `object` | The [`repository`](/graphql/reference/objects#repository) where the event occurred. \ No newline at end of file +`repository` | `object` | The [`repository`](/graphql/reference/objects#repository) where the event occurred. diff --git a/data/reusables/webhooks/secret.md b/data/reusables/webhooks/secret.md index a92e5fca87..cd3b943750 100644 --- a/data/reusables/webhooks/secret.md +++ b/data/reusables/webhooks/secret.md @@ -1 +1 @@ -Setting a webhook secret allows you to ensure that `POST` requests sent to the payload URL are from {% data variables.product.product_name %}. When you set a secret, you'll receive the {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" %}`X-Hub-Signature` and `X-Hub-Signature-256` headers{% elsif currentVersion ver_lt "enterprise-server@2.23" %}`X-Hub-Signature` header{% elsif currentVersion == "github-ae@latest" %}`X-Hub-Signature-256` header{% endif %} in the webhook `POST` request. For more information on how to use a secret with a signature header to secure your webhook payloads, see "[Securing your webhooks](/webhooks/securing/)." +Setting a webhook secret allows you to ensure that `POST` requests sent to the payload URL are from {% data variables.product.product_name %}. When you set a secret, you'll receive the {% ifversion fpt or ghes > 2.22 %}`X-Hub-Signature` and `X-Hub-Signature-256` headers{% elsif ghes < 3.0 %}`X-Hub-Signature` header{% elsif ghae %}`X-Hub-Signature-256` header{% endif %} in the webhook `POST` request. For more information on how to use a secret with a signature header to secure your webhook payloads, see "[Securing your webhooks](/webhooks/securing/)." diff --git a/data/reusables/webhooks/webhooks-rest-api-links.md b/data/reusables/webhooks/webhooks-rest-api-links.md index 1dd3383c2f..a147a03858 100644 --- a/data/reusables/webhooks/webhooks-rest-api-links.md +++ b/data/reusables/webhooks/webhooks-rest-api-links.md @@ -1,4 +1,4 @@ -You can use the repository, organization, and app webhook REST APIs to create, update, delete, and ping webhooks. {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %}You can also use the REST API to change the configuration of the webhook. For example, you can modify the payload URL, content type, SSL verification, and secret. {% endif %}For more information, see: +You can use the repository, organization, and app webhook REST APIs to create, update, delete, and ping webhooks. {% ifversion fpt or ghes > 2.22 or ghae %}You can also use the REST API to change the configuration of the webhook. For example, you can modify the payload URL, content type, SSL verification, and secret. {% endif %}For more information, see: - [Repository Webhooks REST API](/rest/reference/repos#webhooks) -- [Organization Webhooks REST API](/rest/reference/orgs#webhooks){% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.22" or currentVersion == "github-ae@latest" %} +- [Organization Webhooks REST API](/rest/reference/orgs#webhooks){% ifversion fpt or ghes > 2.22 or ghae %} - [GitHub App Webhooks REST API](/rest/reference/apps#webhooks){% endif %} diff --git a/data/variables/command_line.yml b/data/variables/command_line.yml index cc9bc318a6..ac184c5618 100644 --- a/data/variables/command_line.yml +++ b/data/variables/command_line.yml @@ -1,11 +1,11 @@ # Use this variable wherever backticks are necessary backticks: >- - {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}[hostname]{% endif %} + {% ifversion fpt %}github.com{% else %}[hostname]{% endif %} # Use this variable within codeblocks (because it includes HTML! Which only renders in shell codeblocks!) codeblock: >- - {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}hostname{% endif %} + {% ifversion fpt %}github.com{% else %}hostname{% endif %} # GitHub URL example git_url_example: >- - https://{% if currentVersion == "free-pro-team@latest" %}github.com{% else %}github.example.com{% endif %} + https://{% ifversion fpt %}github.com{% else %}github.example.com{% endif %} diff --git a/data/variables/contact.yml b/data/variables/contact.yml index e114b6d57f..78e3a4290d 100644 --- a/data/variables/contact.yml +++ b/data/variables/contact.yml @@ -1,19 +1,19 @@ contact_ent_support: '[GitHub Enterprise Support](https://enterprise.githubsupport.com/hc/en-us) or [GitHub Premium Support](https://premium.githubsupport.com)' contact_support: >- - {% if currentVersion == "free-pro-team@latest" %}[GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com){% else %}your site administrator{% endif %} + {% ifversion fpt %}[GitHub Support](https://support.github.com/contact) or [GitHub Premium Support](https://premium.githubsupport.com){% else %}your site administrator{% endif %} report_abuse: >- - {% if currentVersion == "free-pro-team@latest" %}[Report abuse](https://github.com/contact/report-abuse){% endif %} + {% ifversion fpt %}[Report abuse](https://github.com/contact/report-abuse){% endif %} report_content: >- - {% if currentVersion == "free-pro-team@latest" %}[Report content](https://github.com/contact/report-content){% endif %} + {% ifversion fpt %}[Report content](https://github.com/contact/report-content){% endif %} contact_dmca: >- - {% if currentVersion == "free-pro-team@latest" %}[Copyright claims form](https://github.com/contact/dmca){% endif %} + {% ifversion fpt %}[Copyright claims form](https://github.com/contact/dmca){% endif %} contact_privacy: >- - {% if currentVersion == "free-pro-team@latest" %}[Privacy contact form](https://github.com/contact/privacy){% endif %} + {% ifversion fpt %}[Privacy contact form](https://github.com/contact/privacy){% endif %} contact_enterprise_sales: "[GitHub's Sales team](https://enterprise.github.com/contact)" diff --git a/data/variables/explore.yml b/data/variables/explore.yml index 07af0f776d..c2d9bf30ba 100644 --- a/data/variables/explore.yml +++ b/data/variables/explore.yml @@ -1,8 +1,8 @@ explore_github: >- - {% if currentVersion == "free-pro-team@latest" %}[Explore GitHub](https://github.com/explore){% else %}Explore GitHub (`https://[hostname]/explore`){% endif %} + {% ifversion fpt %}[Explore GitHub](https://github.com/explore){% else %}Explore GitHub (`https://[hostname]/explore`){% endif %} your_stars_page: >- - {% if currentVersion == "free-pro-team@latest" %}[stars page](https://github.com/stars){% else %}stars page (`https://[hostname]/stars`){% endif %} + {% ifversion fpt %}[stars page](https://github.com/stars){% else %}stars page (`https://[hostname]/stars`){% endif %} trending_page: >- - {% if currentVersion == "free-pro-team@latest" %}[Trending page](https://github.com/trending){% else %}Trending page (`https://[hostname]/trending`){% endif %} + {% ifversion fpt %}[Trending page](https://github.com/trending){% else %}Trending page (`https://[hostname]/trending`){% endif %} diff --git a/data/variables/gists.yml b/data/variables/gists.yml index e61eda3c7b..e6d82ec532 100644 --- a/data/variables/gists.yml +++ b/data/variables/gists.yml @@ -1,8 +1,8 @@ gist_homepage: >- - {% if currentVersion == "free-pro-team@latest" %}[gist home page](https://gist.github.com/){% elsif currentVersion == "github-ae@latest" %}gist home page, `http(s)://gist.[hostname)`,{% else %}gist home page, `http(s)://[hostname]/gist` or `http(s)://gist.[hostname]` if subdomains are enabled{% endif %} + {% ifversion fpt %}[gist home page](https://gist.github.com/){% elsif ghae %}gist home page, `http(s)://gist.[hostname)`,{% else %}gist home page, `http(s)://[hostname]/gist` or `http(s)://gist.[hostname]` if subdomains are enabled{% endif %} gist_search_url: >- - {% if currentVersion == "free-pro-team@latest" %}[Gist Search](https://gist.github.com/search){% elsif currentVersion == "github-ae@latest" %}Gist Search, `http(s)://gist.[hostname]/search`,{% else %}Gist Search, `http(s)://[hostname]/gist/search` or `http(s)://gist.[hostname]/search` if subdomains are enabled{% endif %} + {% ifversion fpt %}[Gist Search](https://gist.github.com/search){% elsif ghae %}Gist Search, `http(s)://gist.[hostname]/search`,{% else %}Gist Search, `http(s)://[hostname]/gist/search` or `http(s)://gist.[hostname]/search` if subdomains are enabled{% endif %} discover_url: >- - {% if currentVersion == "free-pro-team@latest" %}[Discover](https://gist.github.com/discover){% elsif currentVersion == "github-ae@latest" %}Discover, `http(s)://gist.[hostname]/discover`,{% else %}Discover, `http(s)://[hostname]/gist/discover` or `http(s)://gist.[hostname]/discover` if subdomains are enabled{% endif %} + {% ifversion fpt %}[Discover](https://gist.github.com/discover){% elsif ghae %}Discover, `http(s)://gist.[hostname]/discover`,{% else %}Discover, `http(s)://[hostname]/gist/discover` or `http(s)://gist.[hostname]/discover` if subdomains are enabled{% endif %} diff --git a/data/variables/notifications.yml b/data/variables/notifications.yml index 063a383054..3cafcc4e29 100644 --- a/data/variables/notifications.yml +++ b/data/variables/notifications.yml @@ -1,5 +1,5 @@ no_reply_address: >- - {% if currentVersion == "free-pro-team@latest" %}`noreply@github.com`{% else %}the no-reply email address configured by your site administrator{% endif %} + {% ifversion fpt %}`noreply@github.com`{% else %}the no-reply email address configured by your site administrator{% endif %} cc_address: >- - {% if currentVersion == "free-pro-team@latest" %}`@noreply.github.com`{% else %}based on the no-reply email address configured by your site administrator{% endif %} + {% ifversion fpt %}`@noreply.github.com`{% else %}based on the no-reply email address configured by your site administrator{% endif %} diff --git a/data/variables/product.yml b/data/variables/product.yml index 51bae12bf6..00471cce2a 100644 --- a/data/variables/product.yml +++ b/data/variables/product.yml @@ -8,7 +8,7 @@ company_short: 'GitHub' # GitHub's flagship products ## Until we have versioning to support GitHub Enterprise Cloud content, avoid using this variable if the output should specifically be GitHub Enterprise Cloud or GitHub Enterprise Server product_name: >- - {% if enterpriseServerVersions contains currentVersion %}GitHub Enterprise Server{% elsif currentVersion == "github-ae@latest" %}GitHub AE{% else %}GitHub{% endif %} + {% ifversion ghes %}GitHub Enterprise Server{% elsif ghae %}GitHub AE{% else %}GitHub{% endif %} ## Use this variable when the output should always be GitHub, regardless of the product the user is using prodname_dotcom: 'GitHub' @@ -26,7 +26,7 @@ prodname_ghe_one: 'GitHub One' ## Use these variables when referring specifically to a location within a product product_location: >- - {% if enterpriseServerVersions contains currentVersion %}your GitHub Enterprise Server instance{% elsif currentVersion == "github-ae@latest" %}your enterprise{% else %}GitHub{% endif %} + {% ifversion ghes %}your GitHub Enterprise Server instance{% elsif ghae %}your enterprise{% else %}GitHub{% endif %} # Used ONLY when you need to refer to a GHES instance in an article that is versioned for non-GHES versions. # Do not use in other situations! @@ -82,7 +82,7 @@ prodname_oauth_app: 'OAuth App' prodname_oauth_apps: 'OAuth Apps' # API and developer docs -prodname_enterprise_api: 'the {% if enterpriseServerVersions contains currentVersion %}GitHub Enterprise Server{% elsif currentVersion == "github-ae@latest" %}GitHub AE{% endif %} APIs' +prodname_enterprise_api: 'the {% ifversion ghes %}GitHub Enterprise Server{% elsif ghae %}GitHub AE{% endif %} APIs' prodname_support_forum_with_url: '[GitHub API Development and Support Forum](https://github.community/c/github-api-development-and-support/37)' prodname_unfurls: 'Content Attachments' @@ -174,36 +174,36 @@ prodname_arctic_vault: 'Arctic Code Vault' # Links product_url: >- - {% if currentVersion == "free-pro-team@latest" %}github.com{% else %}[hostname]{% endif %} + {% ifversion fpt %}github.com{% else %}[hostname]{% endif %} pricing_url: 'https://github.com/pricing' signin_link: >- - {% if currentVersion == "free-pro-team@latest" %}[Sign in](https://github.com/login){% else %}Sign in (`https://[hostname]/login`){% endif %} + {% ifversion fpt %}[Sign in](https://github.com/login){% else %}Sign in (`https://[hostname]/login`){% endif %} signout_link: >- - {% if currentVersion == "free-pro-team@latest" %}[Sign out](https://github.com/logout){% else %}Sign out (`https://[hostname]/logout`){% endif %} + {% ifversion fpt %}[Sign out](https://github.com/logout){% else %}Sign out (`https://[hostname]/logout`){% endif %} raw_github_com: >- - {% if currentVersion == "free-pro-team@latest" %}raw.githubusercontent.com{% else %}[hostname]/user/repo/raw{% endif %} + {% ifversion fpt %}raw.githubusercontent.com{% else %}[hostname]/user/repo/raw{% endif %} # GitHub Enterprise Server past versions current-340-version: '11.10.354' # Developer site product variables # Use this inside command-line and other code blocks doc_url_pre: >- - {% if currentVersion == "free-pro-team@latest" %}https://docs.github.com/rest{% elsif enterpriseServerVersions contains currentVersion %}https://docs.github.com/enterprise/{{ currentVersion | version_num }}/rest{% elsif currentVersion == "github-ae@latest" %}https://docs.github.com/github-ae@latest/rest{% endif %} + {% ifversion fpt %}https://docs.github.com/rest{% elsif ghes %}https://docs.github.com/enterprise/{{ currentVersion | version_num }}/rest{% elsif ghae %}https://docs.github.com/github-ae@latest/rest{% endif %} # Use this inside command-line code blocks api_url_pre: >- - {% if currentVersion == "free-pro-team@latest" %}https://api.github.com{% elsif enterpriseServerVersions contains currentVersion %}http(s)://[hostname]/api/v3{% elsif currentVersion == "github-ae@latest" %}https://[hostname]/api/v3{% endif %} + {% ifversion fpt %}https://api.github.com{% elsif ghes %}http(s)://[hostname]/api/v3{% elsif ghae %}https://[hostname]/api/v3{% endif %} # Use this inside command-line code blocks # Enterprise OAuth paths that don't include "/graphql" or "/api/v3" oauth_host_code: >- - {% if currentVersion == "free-pro-team@latest" %}https://github.com{% else %}http(s)://[hostname]{% endif %} + {% ifversion fpt %}https://github.com{% else %}http(s)://[hostname]{% endif %} device_authorization_url: >- - {% if currentVersion == "free-pro-team@latest" or currentVersion ver_gt "enterprise-server@2.21" or currentVersion == "github-ae@latest" %}[`https://github.com/login/device`](https://github.com/login/device){% else %}`http(s)://[hostname]/login/device`{% endif %} + {% ifversion fpt or ghes > 2.21 or ghae %}[`https://github.com/login/device`](https://github.com/login/device){% else %}`http(s)://[hostname]/login/device`{% endif %} # Use this all other code blocks api_url_code: >- - {% if currentVersion == "free-pro-team@latest" %}https://api.github.com{% elsif enterpriseServerVersions contains currentVersion %}http(s)://[hostname]/api/v3{% elsif currentVersion == "github-ae@latest" %}https://[hostname]/api/v3{% endif %} + {% ifversion fpt %}https://api.github.com{% elsif ghes %}http(s)://[hostname]/api/v3{% elsif ghae %}https://[hostname]/api/v3{% endif %} # Use this inside command-line code blocks graphql_url_pre: >- - {% if currentVersion == "free-pro-team@latest" %}https://api.github.com/graphql{% elsif enterpriseServerVersions contains currentVersion %}http(s)://[hostname]/api/graphql{% elsif currentVersion == "github-ae@latest" %}https://api.[hostname]/graphql{% endif %} + {% ifversion fpt %}https://api.github.com/graphql{% elsif ghes %}http(s)://[hostname]/api/graphql{% elsif ghae %}https://api.[hostname]/graphql{% endif %} # Use this all other code blocks graphql_url_code: >- - {% if currentVersion == "free-pro-team@latest" %}https://api.github.com/graphql{% elsif enterpriseServerVersions contains currentVersion %}http(s)://[hostname]/api/graphql{% elsif currentVersion == "github-ae@latest" %}https://api.[hostname]/graphql{% endif %} + {% ifversion fpt %}https://api.github.com/graphql{% elsif ghes %}http(s)://[hostname]/api/graphql{% elsif ghae %}https://api.[hostname]/graphql{% endif %} diff --git a/data/variables/search.yml b/data/variables/search.yml index dfba3007de..737b2d6645 100644 --- a/data/variables/search.yml +++ b/data/variables/search.yml @@ -1,5 +1,5 @@ advanced_url: >- - {% if currentVersion == "free-pro-team@latest" %}[advanced search](https://github.com/search/advanced) page{% else %}advanced search page (`https://[hostname]/search/advanced`){% endif %} + {% ifversion fpt %}[advanced search](https://github.com/search/advanced) page{% else %}advanced search page (`https://[hostname]/search/advanced`){% endif %} search_page_url: >- - {% if currentVersion == "free-pro-team@latest" %}[search](https://github.com/search) page{% else %}search page (`https://[hostname]/search`){% endif %} + {% ifversion fpt %}[search](https://github.com/search) page{% else %}search page (`https://[hostname]/search`){% endif %} From d3b794f5b766dd7d0ac978d0d84b2dc2b3d5c057 Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Thu, 24 Jun 2021 10:26:22 -0400 Subject: [PATCH 37/41] remove out of date test --- tests/unit/page.js | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/tests/unit/page.js b/tests/unit/page.js index 8f38b2de32..8c475c740e 100644 --- a/tests/unit/page.js +++ b/tests/unit/page.js @@ -491,15 +491,8 @@ describe('Page class', () => { // There are none of these in the content at this time! }) - // Note this test will go out of date when we deprecate 2.20 - test('pages that apply to newer enterprise versions', async () => { - const page = await Page.init({ - relativePath: 'github/administering-a-repository/releasing-projects-on-github/comparing-releases.md', - basePath: path.join(__dirname, '../../content'), - languageCode: 'en' - }) - expect('fpt' in page.versions).toBe(true) - expect(page.versions.ghes).toBe('>=2.21') + test.skip('pages that apply to newer enterprise versions', async () => { + // There are none of these in the content at this time! }) test('pages that use short names in versions frontmatter', async () => { From 0010cf50fbc5ed782ffb0066094805ac2b078233 Mon Sep 17 00:00:00 2001 From: Laura Coursen Date: Thu, 24 Jun 2021 15:56:20 +0100 Subject: [PATCH 38/41] Remove link --- content/actions/guides/about-continuous-integration.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/actions/guides/about-continuous-integration.md b/content/actions/guides/about-continuous-integration.md index 8287d19250..fa7f20cc2c 100644 --- a/content/actions/guides/about-continuous-integration.md +++ b/content/actions/guides/about-continuous-integration.md @@ -88,7 +88,6 @@ For more information, see "[Adding a workflow status badge](/actions/managing-wo ## Further reading -- "[Setting up continuous integration using workflow templates](/actions/guides/setting-up-continuous-integration-using-workflow-templates)" {% if currentVersion == "free-pro-team@latest" %} - "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)" {% endif %} From d3403e8653ae2546e037ec3d4a72f35278bd8ff9 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Thu, 24 Jun 2021 07:59:06 -0700 Subject: [PATCH 39/41] Address goofy exports (#20113) * Address a goofy export * Fix more exports * Change two exports --- lib/render-content/renderContent.js | 8 ++++---- middleware/csp.js | 1 - middleware/next.js | 6 ++++-- tests/content/site-data.js | 2 +- tests/helpers/supertest.js | 2 +- tests/unit/openapi-schema.js | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/render-content/renderContent.js b/lib/render-content/renderContent.js index b6a8193876..7926cbdb62 100644 --- a/lib/render-content/renderContent.js +++ b/lib/render-content/renderContent.js @@ -20,7 +20,7 @@ const inlineTagString = `(?:${inlineTags.join('|')})` const inlineTagRegex = new RegExp(`\n?(?)\n?`, 'gm') // parse multiple times because some templates contain more templates. :] -module.exports = async function renderContent ( +async function renderContent ( template = '', context = {}, options = {} @@ -99,6 +99,6 @@ function removeNewlinesFromInlineTags (html) { return $('body').html() } -Object.assign(module.exports, { - liquid -}) +renderContent.liquid = liquid + +module.exports = renderContent diff --git a/middleware/csp.js b/middleware/csp.js index ef605ef748..b0223bc190 100644 --- a/middleware/csp.js +++ b/middleware/csp.js @@ -6,7 +6,6 @@ const isArchivedVersion = require('../lib/is-archived-version') const versionSatisfiesRange = require('../lib/version-satisfies-range') const AZURE_STORAGE_URL = 'githubdocs.azureedge.net' -// module.exports = contentSecurityPolicy({ module.exports = function csp (req, res, next) { const csp = { directives: { diff --git a/middleware/next.js b/middleware/next.js index 713dbf1c9b..6a11d796f2 100644 --- a/middleware/next.js +++ b/middleware/next.js @@ -10,7 +10,7 @@ if (FEATURE_NEXTJS) { nextApp.prepare() } -module.exports = function renderPageWithNext (req, res, next) { +function renderPageWithNext (req, res, next) { if (req.path.startsWith('/_next') && !req.path.startsWith('/_next/data')) { return nextHandleRequest(req, res) } @@ -18,4 +18,6 @@ module.exports = function renderPageWithNext (req, res, next) { next() } -module.exports.nextHandleRequest = nextHandleRequest +renderPageWithNext.nextHandleRequest = nextHandleRequest + +module.exports = renderPageWithNext diff --git a/tests/content/site-data.js b/tests/content/site-data.js index 046602970f..877008beda 100644 --- a/tests/content/site-data.js +++ b/tests/content/site-data.js @@ -14,7 +14,7 @@ describe('siteData module (English)', () => { done() }) - test('exports an object', async () => { + test('makes an object', async () => { expect(isPlainObject(data)).toBe(true) }) diff --git a/tests/helpers/supertest.js b/tests/helpers/supertest.js index 978a61a79e..21dc7f4fd6 100644 --- a/tests/helpers/supertest.js +++ b/tests/helpers/supertest.js @@ -1,4 +1,4 @@ -// This file exports an object with utility functions for re-use in +// This file makes an object with utility functions for re-use in // multiple test files const cheerio = require('cheerio') diff --git a/tests/unit/openapi-schema.js b/tests/unit/openapi-schema.js index b1dc39744f..14cbdd8fac 100644 --- a/tests/unit/openapi-schema.js +++ b/tests/unit/openapi-schema.js @@ -9,7 +9,7 @@ const schemasPath = path.join(__dirname, '../../lib/rest/static/decorated') const nonEnterpriseDefaultVersionSchema = operations[nonEnterpriseDefaultVersion] describe('OpenAPI schema validation', () => { - test('exports an object', () => { + test('makes an object', () => { expect(isPlainObject(operations)).toBe(true) }) From 471994411fb41e4f329f936e654b1c19e5b6a797 Mon Sep 17 00:00:00 2001 From: Sarah Edwards Date: Thu, 24 Jun 2021 08:38:01 -0700 Subject: [PATCH 40/41] add assignees to screenshots (#20104) --- assets/images/help/projects/example_board.png | Bin 175176 -> 190340 bytes .../help/projects/move_between_group.gif | Bin 227939 -> 355411 bytes .../images/help/projects/priority_example.png | Bin 157539 -> 193889 bytes .../help/projects/project-view-switch.gif | Bin 303182 -> 445262 bytes .../images/help/projects/status_example.png | Bin 248187 -> 278420 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/images/help/projects/example_board.png b/assets/images/help/projects/example_board.png index 0e87c4fc60abb15bb0fd763c628ca19850498c82..55724f3dc7809a43cd946ee602c94f67ac9b0fcd 100644 GIT binary patch literal 190340 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 literal 175176 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 JAYjoP9sM8dq)AM2J0D(WZRyi+~^gL{Ff{! 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 diff --git a/assets/images/help/projects/move_between_group.gif b/assets/images/help/projects/move_between_group.gif index 3e83b9f605aaa1a065bba1b6aca85c802c206055..24f6a750a63b7429528a5b759b8962658c5ccc86 100644 GIT binary patch literal 355411 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

KO5oa;myYe>q`*w;tNk^S9`!m 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 eyl&O3RMkik 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�hh5AcSRLa)C&ShUixdqG~9O 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

I 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%0A90=#)o0>m7>=OK;D&wu{KCT#kweRY1E)a913^@ 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

4#A@# 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 J7H%OS;V(831Ec@| diff --git a/assets/images/help/projects/priority_example.png b/assets/images/help/projects/priority_example.png index 3cebfe3bfd35b3e99c842fb93df7a5603daee8ce..626563df120d39aeaa23d8ea5361340108203672 100644 GIT binary patch literal 193889 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∾|U$$Z#Ow!~K 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�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%0D=48Tm1LE1pNBH9rgd)MSuSAf7MaoI{0hm2$`Srn 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 @XXL5MSfQsnUi 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 z zKEDS9yenVL`KKTC&y7RAlolP`M<)-e_dP$djoipx`(f0 zIg@fUJrtGr{m{ z)bxrn(^Z_mo!Z`e9Y%uC8GnvH#_I;j{59!gRvl&5=m4G3j=kk(+Owl&yn~!>mH<{kYhvo$Bq4!NBa9k0VM(s z?u#Ev9|(Sjw(QFEk>>shZOIHZHpQ0UnR z!hSXpL@4x+ap>@$Vx z9-0lWHvE^4|H}e^i|dHrkaSvhSlRzaDh|0k5D>wbNb7d^Z@2Te1>+|P&~=_rLz7qk zdG7t!jug6I#E1&`BX|BgMdzWk(>;SlJ0Y{}zYW;Gea=S`;09%!@d5tA-<$gXyasw1z^gPezxDkeI}I@oFe#xu z7p?!1Oys?Yk|7>i@^C zFb7YDh5U;-|I5r$6z<)zoRKo;-q$~z|K%F-<&tG!c2tV2F*ubCn}IV?+MwcFuUSRZ zq!D%F;JY?q&IMysQQ|+*4H`l~UodR~W9PrkUVU#f056%f%9f6S7sy*5_bVZ}6ulQh zI{AVaSR-$hrjtBxl|2&m5e*%Krs`Q6tHZ1Jzbxwm@BLC9@s#!-Gx9&VRliR-K1Dd# z*7Mb2jD1UDiO%sMJ#?hGDhzH3$CM)3yMY%G-Y89!B@ACx`SQfHRHY=%c>Dtc6{%Pb zx8WpC6MvAiQh||lVDTC0zukpdijamY4M3;a+(SXDRC@mz8~FsW*b`BVB8e%axpZ% z&q%0ud*N)Q^Jl^I&uF0Kb;m^S6aW9`LmnCN9iTpTq^7E38Qh{`P5dcX!S6nkqbtS8JXy_Y#EfALys#{P_*sY&Nuk^FZ=Q;mG0HBM=~?{^#xbUr)_2 z5K#L|klK2JKBECUB8gezwH!nxQe+#;2n-_n$Y}abi|qEv;)0KN%xQ1q>9}0DrgXv*IrTlS2-3bAl;G3eKj<9-yWAn&e8>Bh&+ z^wq#;M00B)PQbphzj~mb;e>wHf}nDCi9*{n;}6162HvY9vTv(LZ%#elPf#FI?#k-E zN$s?&eMytn^b5H55?g`bZ|#{O4QS|T&0LZ=gBjRZSnr3ukRi$vx6(5+x(A3p!Wnt# zSi$1abSx~3#&-Jzl~53y3*L0g&9?!&1nlV_P#B1zXF8i`-Tn5#bhk9E)Q6|spR(v` z#d#(77kw-B-}WZOyv^i`w4m^h;%>qaW8W24;oXQT?aLP$>@|lSLTxZU6)EEP-2k4JN9ST9wJp?CyGVe)V)O zzkz-(Y_P?<(>eJprP-)pM$y4-CFaJBfXZ*?+~34A1*u{@G$~0MPoMD2)T5F}NM@1S zQ6T4&<;Lbbn5Y{xeDZ|2H|AUgZ0Mt|bNPX_O;ugho48IEBvKnmMN>&^$!LKq|m~puj!11(phCO`FWv^8T z-$afAFy`b@!@A#~H;rjLj=Mq>ZOw_rc@LR84rEOqqfpoZxn&NHILG}N8SO^<4Q_Yr z+1{RqrvK(1`n1w4eSSm7!SvRbJTtM_%wNmL@Pe{3(lyG2OdM`L6191uCpxcr{8d`V z!oUn$>{**irLjSb@`gVLcTa-@ZPy;Zbd9IBsdYMYY)YbB>~}kOfRVhc4gz?`lO$2b zIaO==_G`0@ti<@G#>NU*P0b|mk6|K2jrwy?cdcE7Hqy4Qc*OAG^xll<8UD*PSRw#5 zSSjS)*nUl=7tioX(Mt3VhkZ9i?><6*c@0@1VMMf*32y3kMq193(cA>0-u8zh6qR;@ z&@$b04VvnVm_`RCXhL>L38UpLx;0;k3Ij4SvJ0=)#;pbEO`X-eE06Ob`QEITQ2%0v zCnJaTLW*n36hzCC@r0^p>8p^d>q9ssN3hoemw@11%k?2sSJx5NGc_>oPxv`9`?b#P za?gETz&))3ep0Fd4gf)x-&rvLeq*5`;`A=0RY)tJI5^zZ5698IzvctPWS8fjC8CFaVD!0mTn(B z+PX$(InxN_A$M>P%q7z1Ho%5M%H`@sr(mcJUJX8+@?Vb;}ECodKL-Cf|*@2lx2H zL-~6Xdjs21Iz~nV8Swih40QBD+=oYV9DB2Gk>&WL^GYmUhAq|W@N&GE9Z55Ixnx%^ z)IWY)iI^fj1uz1;#FhFsJPgqLvat!Q2KjcZDAp^YG~a)%ikC0xlAOM2RFbymGIQ!9 zZ|W{mJa~d1FF@dLj%}PDrk-VcJk(#DyzAERbyLm?0qc<$fQx*ofQ7p3`PT<3VOljzQ!g9o^C) z>-ww0oiZ`0O`ky0?EJK6*&g*wr9XyJ8%Bgc$+!~B3)gB|ALbzcVk?~hoZT3Z48 zK$b{6wm2kFopI>$Lj2{A+H}?|eR^KH*c1=mDEcpN5sWKalLujaLq@|3(rJ=V;k@s! zW50j0as~NTx>)^ik4XDAyu*k2OuN<0=Cq09NrPax?Doj4vB(;yyFWLlHPft5yEoq`wXFoY6Jav1Q-Q%dO9c4FRn8SXty_=3Hf?lkD?);~prTkTnKQr`!@%JG zn%`ajms9hPi;OAU9^BD5Ccn4mDwD^5@Zd6fOwx>?vKw_MX#2!c5pQ>q+OkTGaI+G- zw5wuZ-j+J)tUv6yzD;VOA8;Mvu-&B(pX?I6vm;p^onXu%@(-9`dAZ|z$EIe&O!ral z6Q{(ZED2rM#>UrE579RZUy)Y$z0H4*3+Q4W68UhAA3nMp3mrl)80j~3I0Z7LRETAj zpuxt=2|Lxv;;EJ1#=Q|vjas+V8mXcATFphY;iKYh21|%bKLMeQs_6KUbu(xXyrU!A zOx(c}aL2WVEqW~!1=YfL(KcJ&q@Es_tVoo);HgkAVLhhEuHApDm3tn&HodU%K z9-O#ixi$z5HXG0KV;IY4gj*hd=vTR^K2%k=L225zV&uZ7it%mEL*??_0EA9VP~rK!9T()}jL7vF zj(p37V??v|S5bhb=XyJxZ#vS7;96n2E5oSU6vlZqdtfp+Ls_AD*7EbZ%Kjw$Eq_Sg z*ms~h$6Lqch#P{I7-PSGtqZrL`iIf|v#Y%=;FB_!W!mYE@BgaWj?nCl6`%j2BO!kI zXY&Yj%6zs2v3b6T66N>8ocV9g6hB8Leqr=~GWjx~Nd&|E2~Q6663@Th2quYmA(Z!}{c_i%Sg4ZTd2CS8?=B1x|cDc(Xo%lf^^ z#?Jz0kH!XETg;=G)LO?hN3>E50mmUth!KY6k2;AKKf>>PZ^Kvmn`@d0;hE!ZY43pQ z$BDjMR%?Oab3lRp_0a)T?9&n2LX|NKHC6RU@zrS+%jxMfWH_rh;PF^3gj$q6?WouI z5`NRS?8mYNg=(HDp3~CikJK)D$eBY+vmt!lA>kbfPCH}%4ToCQ+KrBRM%VsxF%ULW z*7dbDc_3MDKVD9>3FP~$?YC^1kShIRtR{;LQ4cmm()tZiVTpGD9?|$fKvG(IqTQg@ zWFh5J*RxRdXx{m@`qci?Y6wfCXL}xiD>Hl5@H(25F{Sc2Fe(JDU2FrNdr822EmgMt z2as?7Cg|{U10eW;>yt?*N){HH&YZo#nlB6Yo5XsK`#TG;o(Vt!W&ngmyEi!>&1O!i zN--Y%bj`}jdR!kGa}QzMViQ~@lMu~!6!aewJRqKFx%=$~a!jUibS`3xR8s=iKP26Q?;e_JfnE4HLVeXZH-m!ulDqI_o#V&~jQSX}%JV zvo$pl5xeKCCK>UTqbs=sXSz&G4_;eAT)uS+KaUm`sUhQwEm-FVN|9zx-p#gp{rj>- zE{}lda?y>f!_uP1ARiY$Igpk?QSsV<=uOZru|G5II+pFsN-qwsIE@=sw{A^LZ+lvU zzl(uU{;2*2xVqELlGJns?nrM<0Xor-FC z8uD9wqB=X4{mODjLu=z*tFU%XTmzZwQnPKUNVBuR>5|83-%-84*sGE-kK-*E`-Xpl z)Dvy6S$MPcz@~ydQ1`Vp`|>q_8q%l)4qLybt|R5=`IN(xQ;I&v7l%d6_x{fKfNv?g zpn=n~GFfK}HT5@28KDnRl!{0t1sQ5>$H9q|yP5M@D-_m?bh$wymATadSi zIp>uZLy2p$MqG`_GL^{&F|b3TjiG^5UZ-0&-sDtRnjJtKqc1**3yJnpvn37vIDdZJ zZ*pCCPRBmcoB)}4b~V+g()|@VJBmeQZ+t-EX>c%kzKDi71KOSDPvf>FMD-^JR@tq* zTcIrQ9cpN&Ma`{$bX)t`j&;~%r?!5wB7yZTatqVMKaRRbl%|YY26&gBv z?yUHn{$%W$|E=+sZRtV>)`A=*Pmx_^(Pn#lH6Y4`Uy(g2rk`80V?8>dXTRRiJDurg z`Rr*+8e*>h-P{AP?6LCY+VL$BA4TQ3x$m|fpv}d|1sAu+VtyxBf?U(nRmKuXYOgOC zXVIGWHx~!UjJIH?J#Wu>pE!%rsh%s{c_!>2TH_I<9gx5?Jip^Mm`&WN>ncsx0aN$zSB)K$*MwvO5z zJ2=m()7lTD&NT8yTV26)J>{kBF!@mjrHh+6V_oU&H@pX9p1EQZ(U0sFy$({T5R25z z%$|F&W%qFF&uNxv_>0QEm(D6&B)F+*IoO|7U$fMA(5P&|bv|f5A=sX%NS!>ZWGpZT z?fX<#`*{3XL(DjRD(Q9b2L{@8bXkK7Szsl*7Cf%kRHche;qi>xV&+^HnH}Qj@AQ>F zpTC5EEl&EK?>5kTa$#y1I$}sGH`(+V6Usi8c zuH%?H@|9mWU+zjVIZyVYXA7It7)TJbMgGxE68cPJlVPy_fu{}O4Vq5Mc`gg z<6Wd((397Svn@APdD=Frd`96kB1;Tq;Zv%?BPMRLm*3k(KGHW`=2|<=v-N@M%x6L6 zcn6BcHO2=z&*4kiLq#JwEP1iqkIx%d1*#eLXGjn8r|mYIACb}%h|H<6@bjmVy8pD% zM&YnhT5q{kFIrDi>Br|T8@L6VEQE=UsB-RiL`pPuhsVdoiLpQ~1DdykyGbcrrdt2Q zN}a)oG_mALeHNFCA%4{(r5odgbn)|HMY;KklfDL;j?5ZFbkL!_dK@6wchDAA<2Ed?O1W35KGf4Q z(WPDJ?3p|UaRZypm1lr}<@<56{2yf=2ni@XP9AZ!>;%-Yz;=5Cpd6ac45V+JcS)I! zPu-aadf8atSkvAdL2WO$8`C%K=bkA;W`^Zx)24_UfJr{mgF;C3cGbrkGoeRP)5 zl_d<}&mv8CrA%kaRaO0-991h#Ws5s0mmJoIowB*|zT-5>I2UfxhzsWWsLs!>OavP0 z3Ox*^*WH=~4&N3@m%H}kEYp3f$yt)A+4Nc-Y`{Gh%3iV3fIuIjvbRKUx1xhz}W{rmv#c`)prTN0vQ_l9oGBde! z%Akn?dkmJTCAv+Yo12?+zBn&Dx1(8f>9#z5k-jrzNeptHe|h<7C7+5fF4(CMZN7Nw z8Egf@__#~z^8CWi^!$uzhRU+WWK^r{@~m<7l#KAQ4;O7k`3hdWZuFMUN1$>Ch4I3F=A| zV12gIs{#~YGlkHC%h+<5?&|hSbplv=a7;^P6)a?dP-m)&m*0NzeZv80c54MBb|5CU zmU^T=$~$zzZC_Oh6i*gsaV}Q4l}#QGX;1YBViH2gOnVN7!ah|@M&xSALjh?{?i|VF zAE^{?>4jFIP71>#REcWWd79#ceY4~NyEoQtW#|bb&pHwyHf|0K`Gy3381W}BW%lRw zVG*OSP{I6?l&rb$it!GWgUW2A<39*h&z(N72vD?{#W2)6l{$W21*ZI#DznmOZkP1D zc4sLs6<5E9pH}9hlewP;d!pbN(N@uMXXxtkvse1Xk#;NuMTe?QGoBsV8mk+yO~)>MpI`*O`yULKqO^6-I*OOXDX50#Bf)YNe_($`wnX8{yYGrjOeogZTT zWw@jS?J{ z^{)`$6BN||WurR-@9(qvizEEs#a^YKOSLWe_&&m_Ft!_oKRw^q?6N)n@Q{TV?{8t{ zUz>m$#J?#y zc7RpK!ry{coL(~(dNgv{UmX$^It^Qyv02X7ye0JIJ#;j@!X#D{^K6l>c3KqnP)Eb9 zR8QfL-CI3J=;Nso)Wz@TSG_lubt`O)U!kFiH;6i4eSyNmO(|vV%%~;uXcia`*j&L~ zgfei9Pq@Orp3p!PI)@y(xv^8Wv4>-pV8$(o?Uo@81E0sjP1yBcRF;~~=Y3aZj_aQx zbPG>sLphZks8p4kx-mmp-z|txxVHb$?dU-Y%eb+bvS1LFZ{qiTyzEU~TTnRzHZRT+ zhegLsebZOvlYK!MvIwJOZRU4mhrB*xDitg&EX2Hmv%?+`DEvrc(l}0N*6`E9Vctu$ zh|#K8abY4Y1w`dpY5dHSMUDp6-7bQ6Ce~cV4l9K>-C12TJV!|!u1XrpjH~S-amAAtm#?!IZx+uVEX-OV?o@cqdc9T$%<&za~QwTB}AX~k;Q zL|xOg?Tz*faKAb35nO*-nh2*+?Jr|7DGLG)m^)I8|M*=k9b~ zR?I{T68^yN77dF{DSOvH)H~HaF8Nd!^;xmBUqgPnvow>L9Ukmep~);RUN)Jc?NW_3 zR7JOjDJY1ZJ4mWhikbfS6kOV927m6Me4xV*K={8{sD8P!!nDao(s6UxD-8`ofvOrC z@tlcFGQ?Gu_hRQ=j#(wB1;cA(Bv5poX=RA0S+9hx{!ym755hOYyuxE+zw z*SmE(ZNhC&2{a-`iwvb6aRgI|S38@tTvrJZFIF3dzV)fqckAW`&Hy*dA?tX0{9acb z!M|vvrT8IMmKR7fZ@%C5#<~HH$uE7CJKtD=?J0#E)k^UXUnIj7CyH=$o7&ZMcmN6| z995D;$AAmBhN4WY!F-$UaIs_)B~O@37!y>Rls)Jo=~f@Fr|U(|*X_l|r3ty%1k#Vh zii>mJNu$;a$EJPl8rEXN!oo)As27X}31UbDF$YBn>MQwJ7t!U_f;F~yBK zv35{vo7J(;jC+XYqsrHBhL0ww@D*O#slDn_0~=L4B7V2plIm7HnXf-=B1pcDUe};e z+@tb=V0fAnBUB{jN2N{8U=7Gd{c?pFZ&@)Bg%Q_PQ)JAwUEuoXIBqh&jnnp;gzKgX z_^meS>jFlB1)h>>jf4FQ?zd{2L#ZruPA8O~W==LgU=*ihSMqHPI;qiNDJO>vp6>}} zl<~Ulr|764U#vRJdd-4~>lz&oMw>q2#YDgVkxP}oNm@|U+z6|vsBn$3oOu$yFrhm0 zgvZfDd}qpfV(L3lQ(yRG3Tm`sSwvfv=FO4S+@iv?bE*_iKs5y{8)<>fU-08Dcs@r$ z->n$zfWPj)U;dyev*`2y|7=Vf>{{w5S42E_tnPBY_u3HxPEEzD`Fkc5J9TyO5ddE{ z6v1hyH=um+qQ9EO5lD^~Tq2nP*bocOqsD$dnfD(|OZaTMMCUm2Nod9s@kNbmqvUj+ zU%=Mo%jrXp&AP_xNBGbrc*NUqE}jr1zIA9vEFg8;zr0AMV{74b>#VG`RzX`|%UAFe zAx_n1KGeq$JB*Wn&Ewk8RjlZE;u`#;wTl_r`JZ$@3%^1Wof^9^qQ zhQ)vE_p&nIC`yM}Mi?m-hdBPiN8y|R$dZs;JdmFb#-sf(nr)}=xiVEcM_V+zQ(a29 z2P9$kl&czjT69#YpO0ketn%;qq}zm*<%?;veM%jCGP z8<`tlS>zSFU0z+;brN4~8E9EPfCFO)D= z1uJ5br}`Qdw}2MMwGh?0XOTY@<=&G~PDcrL>gx1e{? zdh#Sh1yXg4=2Of5V|%JFH#|=<&6b|Na8hF_ya-=xHo{^Y+mcu7l~WwF+^S`&HcKw zPzzQ+{_R-0$*;mRZ~t0_XQ$-htYWn?W$gMCw?3*NsC zYjG$|sj$+@P=$Q7p5jaY;=6WoB}gXV=*f9uQ!gy#X>D|5JRiT9-^(%7S5QR%$2)Ji^gXr zmtw!W2DqOJr!|`!VndX;Q|kL1M=5}OVrluydFB{doTh4%J8Vd|z(Jv%>%f>oEm1VW zK7R|b?AKs6`!$&R(KV3e`WTvpSy@@>%U)TCeU{G{CvzeQz6n)8xJMu zW}F&QZ8D|SvNIK-4$UB%C)a=}Cw(FA-)v*>u*uhUSSL?98+6i$LBIPMW7W8Bl#skw z<&>_Y>L;2_S7g2P#qZ0$88&73tQP(G{Xt>WE7Jbnr8$JlPTg7N%BX>PUs7ku=AhZImZW!aN5TjC z=Gbeo`G%Tuwz(?E8qy%PFhjk+8Gr`IfT}m8OI1Pw+?s_SbZ3T0n&tCY3~xm33u8W{ zOj#dJWuRG3G#~ z0Vy@c6BMb}9Lzx?G4VrMqj^TuUDRJvo?)GAL||J3j! zwXsKAp}dwO_zzAusHFFS69eGu(P(TfcM4@=*=}5r-F*=%*mYfo{v*gVmf)o*OTver zhuLyl7lgW_c?VwCg*n@oXYr#r}s-Th$$@nj>& zV;D=~FfSsr>K@Y8AT{&wPi^;_b=ovfCVE$}%~0$@F@f#L!@M8XQFUYO_SNK|Ao`lz zecy{^D|yk=u3G2TV$6WGa*8YC@44b7Tm+Y1{H_ao!~Gtu!c`O965v3*Lmfnr`8mru2+&+|LK#))fqdo9@THM{ ztZ3?Q`6CLkWUjmlCf1ns1Ts&sDSGvSztnqyA2@$1o1YPA;!i(*a7{l>ENpr~BiS#J zKUc!u_rgnZ`I1|!ONj=tj1@KWdLB!#Sj>|7pf%5(U+H8-ndmu3_0S?n>rk=Lg~<7@eiKxTb1a*GsUtWxcZP zBx!g`C34C&Zagyo;=taOjyu2p#B*}zF{!=34s+p1rU!5F;bb(_an8+pc7E>>L4yBt%}$vMqaNz0w*|_I)&V0VBM7P>1P; zG+PxG_Lvo|?QHugbZ-V6=&Cg{Usu$5?0xGY5q!v?TAB&OA|+K%4~(5!oB#xjE{jh0 z*^pS-l8*>XHnpTFUvR1I!9Dk2{zWjX>N4fMzo*C5k5biCRmW|6gg{xIg4C?XW^c+I zia+HicVz3|sW+7TaGk}shTNp>gFR{8N*CErABL>sw5CfhMX6W}^W9P2@SM{Q?G3(2 z_%k*7yS?SokmH1Xs55e*ux59ur=BfxV`pCF22RB#mlw^*<0o62&&}z^tzcne3q^dO zF74o(st1Yo(4y~*70(OO>=AuCZJltkUAd{b^z;P|Hj~!bvR31+fB(&^uVjht*S(z- z$%7ZL9$I5Oh40UGy!=Q!0Vv|4Xrd3CzINHcpwJCx-MA~p>$|$+K0N<=Ce>81mayxK z?TekI5ZU2(elxER!kjc&EhHQPv=DHH)o96h0+l*=+fA17@I=V}36#wC6HW4S|oGgCZ$!qeV_;qjfv z>vaa8FoVlvj8Lh%Q0FE~ek=jLUkJUv4ODkk$EQL%O?A3SXD%v)*PL7ia3(P84tcd| zwmhyZwQihiP?p-B0f#nU>Io!xTw!hY7aew#OrMVLQdS~z`!!Cf`y#~Y>*HwbnBg|RVF760&%d9Kn_+>p>;F+@1!QrLikQ$sTc6UW zgqxbzd0iE|jVHQwt19oNQ_uU!Y?= zvt*p7%}APGWumSjB`rx~JU(rAqgc>Xbb z0u#PH1w_0)f(r)Yxjc+6R^^~l5wv1%nT5?;mptku@MN9IaA!*8ITd|*=g9t zCv7UtN>?#Y3z0<7B}DP3l(xF4^Hc4qRa~%I zDQu;bx8&+oQuC(<$F$dh`X*!15~qhk!)w6+87U%DI%1DLa`|NX!70FT$arlHDJGHi zYsGQ8OW&BDJwFzhDA#-97M7L~p3F&z=P4F@y*qwHN`?yS$j0lA@Qky9+%RirJo)Of zU2VM;zufUAQrxc3@W|zS!K2!<NM|OS*MQ*vvTx6qM3wd^#@v80P<*5+`ypEBA|X zK||OfPYl`m3HhlzL3kB?s_lTNF}Ksfvly1#O6QdRb}O`63MLyQMmwEIFy$J^fN|pi=k)unpzVjg;M{C5Y>GJ4egNffp>`BC6 z7dil8N7^)3S-~*BY>t4ONvTF4DS8fdlw}B3N%C>c$ z0C&n>6&`lNoXR^YPSz|3Ad1;Rj)jaABzdxFqF8*_PbEB6UgMPgKla`_Dyp{a`&UE( zQ96_c=~TKwLZm^u1}P~4=?0OK?rx+Jkgj1saA+91OKN239GZ8d_x(QC_0)U)|NE`Q znl-?hnLT@-`#jI%IKJP{v9)$USkcjgFP0AoJd$SWv^MBZo<|BfYGSLh!0ADey`#eo zFmwpW)qcwAOURzE)4;KZwiWJDf%ip5WhlKio5RxE5Wz$+(n(r53(h zWBF&uLF|-r)rKy=(>J;(6h?oPeo=y@xQ?8(kOMdG2QmfnYf{bT3e--W3?JVd-uqk{ z+d7>zvwp5ZUM39}*%>Lm*Q2g!A_f?x--?lVNgED4Wu&H7?b`%3yP&pSgi=lK^xIPU zJnLEQ&-B^yF;DBORV=Se)_2s~Z_7Q?O;A*wuxBbO^~%%AMTKe zBbyziU&su*(H5tn5ajAfIG^KE9+{gKi~S6y)A{h(SvxTnAvDYWWx)J~-ydWaWr9ma zo`PeB?@!L9l5UB7g1)T-GYghy;LKa%Ku)|Fl*o;FwWu7g*j zYXJ!8E0HFZ0*+WNx z+61O>JOx}bO@Z*p^MFy@Osst;6-8DQ$|XxN`@dQ_mW$)P%Gt5xi;qbuySm=Be zd5^bePc1N06_ht#=*q|gk@W(wjrD4EALZHagq(knaK%Q2?FomD)i}kf48WK1Ylf9- z`Dq=U4hsm>lk3|LMT$~oaIhB&3&j*Ib)IWUrmBKeMKhdIK{p%D^FrE#`akCP zpLJP-+6fhDfV$yf!A_xCp%M@)Yva9Oij{7lC*xeZWF>tKp2i?2!^WUZKlF<1cw>^mJyNYohf1 z)e4mzU$2;2{Q$^9Oa>%7vfxF(duUAI9gDrrEb@kd_HuGSPIlEQ$G!Jl;2 z_&(}bT7}r;6f^>X=B(Asp0x|*{wy?(CxON`bk{&1NI)CINbG0A@Q}ut+h)tHO}`QA zV+K$vwh{)KL0Vn1-MK@x6fJHhN(uP$8JPqUGBo?uD{O6oy;%nyxYXsdeciW(yQ9>n zby745kTnTJiP*T;uG{JD87H@RG)5{z0?mvlGfi!W!5(44KHiK;^=k)-UU6c1*XImJfh74^yN3@oEx;k0>}?zgYaPFX>aMq%7L8J7H_| zzHYO=zrdMk7cn)E+0DWr+Hm-mExigIQl4DH<$9%G8r@%IXevb;@l>?n%?|^u^9aGe zreYT4?}!PvAZK#mR7-5P5QapSK%YuaH=jgU%RXmmb|w?+czvt#x79Q<>_h5U<7vaUxgfWP?v+ zVCvbb+MyR^NuOgenxhg`3iRSAT!BJmM<(WYlfNRo?Dm+J-k~I1U9GQ=zH|({HMfrH zQS)#mfYPo=Y=o-Hrk;i}*ujZ1cmQULx^?NcUex>isUO;*0%VfQjn>u~sjj&%_@auV zzxCI3b#neCwJd(j0I+JtZ%9@iz09t{0Q^YPT6en8{7U4rtFo}C@yuA+LHB@8Xzfg& zKFy(piP%)@G}&-*{a^1o4S z0b}*vUDwCgU&;{YlYDv47 zQ}2kJ)*5sh-htqKpKL#(L$-cd6KNS>%733D>gPe(*hpz=V42h`e*tWPeh;;|mv>Mq zgcvn{@=8S~$ObF`&_ms|Vdwl=yg_#hWDbstfnVU?hSXn&7nKSY3N`C5-KkmL7fb-t z;tf;QeXV+r1ELefAG-TPW_0y$BRgN2c6t7XY*Mf)OVkL29a>f#a+3bjJO1Bad7?j}f1*E0O!zRc@ic|@%$<(IPW&UPZjgos zijK~-?(6kA{T?d?-EJGV9nJC5K%d{MiYq?g;hLYsZUNF?|Ls)<{#X=*D)r>(kV{R% z_@S9Od`~z9<=(xT=m8&yTbW)0yStJtyX@=r{(janz3Xcq^=8c{4m+CpVF8d^<$^fR zvyZK)CDZqz8-Me-0RQ^Sk2*HWwT};hPAe7wDf*JPs;($bfU7F(?ytQ?_?=kO9d%XL zbdMIuN71xPG6}Ovu^In6qfY^VO(vgd5C5SN{pBtH`t}XMAJK!Bhttwim5PN!vKiyB z!ywCS%o5)!Ds<9lYpSE7qCBy}HMvpF&dy9LwO>nc^wCmRLrZlhSTNVV&HNNj8F*Lw z(D7eqXzvN&U!{-?3;LIg=TFuBKRvdIpi1$7CC7b*3s_M}jP zi#zG>kHWKW5a9f81FJd#@TP>)Bwcs^=L>Pi&jAmI`bD^iv{`Ro-PLoF+Wzmr z`EQ=6xS%YLlj8N`-%o78-NN|Soj|qZjEck8zRCVn@E;ogRn!2Va#^t!1^l04FPwqN z*JGYeGWdTxw|_a+R=3ayp5xvX@IQP3_?A6V(QNwbpQ1q&0dzrq0mwc5pK>oIZ*7sz zNsq|?A(o=382HW;V=PgJ|L_HSg22SkvJ;!r@!wp!KXb?5A9-%k9jP8`_6z^;1t1w< z-kmhyboz&Ymh6IC2$))h@ZdkCk8Ix3N1Eh=u>KbV`(N+iF?HZOTO$&>-2dSV+-?yt zAlIHDqyKSU``diymnzo=|Fu7Q#&f*-kIxg;lHx5LL{SUV`+wyU{l_5`4WoJ;Oj~i^ zO&9*#1o%-rf%?Oi)Yplmf{16O3Ry$Aw##BrzKztypyKou5yFTE-trmvB%-cIb{PFEH9|Uqs z=l!2A!$&0UH*MBiav8A0iqFVc@n-l)p+#~R_ZkS4Y5rX9Nf&t!B|5Q}N>7FmiJzx4VDRs$dgg{rxS*fz4{Yl>zqAga61?{n<+Y_3Q?+G%Lb=Bn&F}=hK`xt0s#*u%?%wGHMh=zDB(S6FU1ADr@i4pNr-1u2 zhk$};*=n@t59Che`)!!?`~w-*|Mp4x)KnCS7$Hm^jPG!rBqcs|!-y-K4Sog-mg7cW z$Q7i|>C4IYQQ>--iTizq)LI8xQY@F(2I&5oVhE-0_+qFNSdyXruOC56)c)SC( z$XLB&E}L!+(%dyre4{k*I{#iJT8*O>;dH2kzXVVW4He|uRS=my${T7^sSq`EqWB*V z2pl2)Ft|IxtH}8KOFx3apAJS;DypcaRDKFQThO#j)#pRv4#*(;e}hZJ$Ej{Fm_Aw* z()c)YoZGcS9|$T}_O#`GMdUouC8&N~I@u^~PU1fOT5-?0;Ti8=*Tnzyydm(T>KxG1 z6QgHKwhzW(VX!VLdf$wPW87Zn4sBeqdULkJI6c)p%>H-P>jR|^$i!F6W+orC01;l1 z!0oj>v?h0?4JxQe-%+1(4iZQGX^tf(iQ|!>+RpnQ>(}4bOdtjny9Jj7)a-pzxsCpO zzqsgj_dV-{eP-wlT{*Mw?Gu%8i$$0IHw(bD$25@dWB*;}9)@oiYiQh5YCyNN(=G0| zc7#6+Jk`NI8IPXt89~Ja=ro%76umMeg`EsNL|D^*&xPt#w>xC?=3HzZ+wc7I_>(77 zc#%3%vqN___t=Ydic_C_1-p;?$o(Rp@O~n~y+>V3^6wq{e>&>lzw+U95B3Z@?u5e2 z8Gg*q0pKE`=CA|UrDQ=(f@vKYweO87CtBrZc`GF*q%l6}ZBF{u^C}gtUW{$&#$&W- zyDKcylR(#UQub;sUTUPVXtSF<2-JhQ4L4t(4csOEv#%G=2R4IxmcK+?-}aPUoWm-J z4`(96Kj+0H5eMic3O5gKIgMD3vU=^!rRf(1+p{lD8{64Eqe7ZeH2cUaff}`*Z61o;`xE{b zaifR|9~3 zcAi=cnxC<4p?7a&?S(4jN2^h)i9hpcojiY#yT_t4Wz*Lca|t2y7ch+7?WGNI6G$rW zXYyyX8qmU@zAzuM~wJBq&g}b{umpxSQ8!; zch?Ugm(AI_Si&+|@&UBYH&r4bGlYi3aog`Awww$x@Gx1fz1Z2_ebb6{b>y7Sbb4{F z24Bx8*4wnL`PufsU{&$8e6|6D>ut3~el&e@j3?4Fnhf8J$F+8)cc0}zyZorIYV-Xf z#9twumY$!#p{jW~amC#9-N=SoArlJ=Q26)nHf6r>-blpK*nc$!|DFJ|d*i?fg+gPX zvC1!BuEA{7Q%$t&!!_zWLo1zz60G&jlu^lni}Ouh9Aq2XgZb?DaC7?voXO1WP~Ml> z9ymo`;r?#YnIcI=FT>HXN2NfnxC1?d1z#g5)uuMIx?AsgBI?{z8J%$WV7}HmBks$s zEeG!G#_T=mNo+mBbo=qWVoj&64k~E5O$Ob3dr!{D(_d|vvzdk>UeOz(2AjU+8SKA= zumQS-MO8C3M$cn8rCS=4_&B|a&Y~S4>O~?4t+OBu%FvPZfWBMJ(? zLRA_o-=u^Nsc6o(6^=MN2A6A#{pav$o7eH4;n3MQ)~(LN7(BPZIB7*NyWx*_Ixw?7 z%W_z2f_KN~)J2(f%wQF%t+eOceG0D`}l>7BJ)?fEG$P-a{S42 zUmPkzi#_WD48HxTO10fX1=}W%53ev-LQ{`*C0w6HwOn9ZhH)BOyj@%vtCCh*S+_Eb z6u^@VGbY-AGi5gKVC9gJJSnL?YfHlZ+d$wE###`?R zF7#qb!(<2{qR%Z;a2H-XI7$Ch71;Nt0_1zJkuG7Rw@?t^Y(y}zQc02!=em~aT;ny~ z+W)C&R@%T~=wn}P)g^M_6vnvIuVZsoEVEl!ph&VYTcY=JM`M3E!ISS(2X{wUeUpJv zIyO*R;lqix`%qD7;E6p{)y|x6hu7+NTLw#maY}Tg(V{!Jk~e0c&>Ui7D|(bu53KE zW6>nM;U&!TU-7QomW$zx)Rj~UQqyX@sXy?k8a6&W3>Vzm;kd(Iu4vr@=K`|42-cLTfU+hh`4=(Y<-PROjNRi zAYZHzzUm1JeJ`#o=F(biFb83K@gik;Wg2LNDVno{tcq8Lb^@L`)~?I?FS?juhl*Yi z7NgWP3M|Yr3Z{|OncsE$Ha&E=fwY-tT}s*^&9ROZW?}Ef@>Js!eRlz;_-&_S4li+9HJDbvn#|-p6h&1>f+q~Eauso0 z6Jmj!6q7H*Iy{^+q}tQPEuO}VMKfJLs*v3Y1Nz{O97~oT%Tb|Wk<}oOsf50cK2ubs z&f1Kme&j-~8$vF-E-$>11M1#S?^~m6^1UBJlXv6n2Oq0e{^9=pCEdakEbj5juZ>jw z$-xA`_VnHW`>E`d`7cF^bkx> zhbm<+gK1{#Ss?lQ&pJI3A3U0U*>!W1G>l+C52(>Ic)e=r z^NOFSx^>|N@GQ26E87wLky-pXuAWPTSJXQQ?q0*!oU7KY4nu7Re4mN_8lwE`dG;gJ z+b#`4LNbmZRRP7mA%#i<2iW_PxL7!~bRLbDUvGba&(krE#t{nA{?Y-qY#Cq6d5&zK^tS%B!k+;4JnRi>7U zL+9ZMeYU(YhTV%RV=ncyHr=ZHKubfDRTUB>-oM+bRuPOt{$0dfZ@W zVfs$?)P%;@SFE0#H%r9EUx}lD4h?_fyTH%* zxaJgueS8PKVyeoA4>)I4#1+_>4WjYw{yi&2vXYq2&HV8*uIPo?IEHeHgE=-YWNR#~ z1%t^?)?BOZ#wWpLh_K+SgMc?M#VHmopCLa_?e(`5NHbfCN7lLj0Vzmaw4kcR3e;q* z7=p43SSJMtJ~YkpyXWS7`=){zy?CR{ZD2MV@2LfLTLUFt-2D?dtJtIVo|Ng?UyVlA z#N7v(v8D3ZGf(lZtR8!xg{cRg7wtR?2BNsKA&bLM^ti8BQ=6BdrZ$$%JPv=M$C_#L zqKox6cZ!Efmdh?qO|UmncIVt%M@E%J*GFDga+wc~e4Tc*UGX}BDAh{>ibJX8 z&FjpFsY?I8tHJL6yt6~!FSh`%j^HSjJ5jnq70%X(`D(PsfNYi2d&9wmPTff>>(ISn zrRkW|a(J1}>1gVOpfiGdyi6~cgwIwX3Av$o@BDa;lJMHavzq4}>D968_azJr&pA%P zRAaaK8Rt#Q<5U#vi%9aB(Z`d9GTXC+7_qVPCtW&X)?jQ3(f*uqJ(VQ(j2hu8I(Gv~ zKsw-)()y8Bf4_2tp*!lvVr#7O%fxjcu}i`Fz*caxPR%LDx!ncUwyS^&5F9VqMe5l}F;~XGx4Hj1SpS_+PyyzN= zBp0$I_Kck@*O142JP%01n;iDUlXhgsH3e@}QjVZWGs`o+lYp@VqP>yC`E+im!TuQ_ z*y9p#_`ckFoy%iAIgA0RfMtXgzKS5R^lm)wed(k+iAlZ?m!+8cHN&;V!+B#T#&x84 zw9t~R{*c3PcH0X?^GWHn!O6YOY_(vHxa#I)Tc{SMD>)c7_tjFZspOlOCc|5EBM!qt z!!xemTSWT<0_-h}@xemh#Xd`M-^q5q;&;$K-|xG=7GZr!73!sD3+albn#6OhRR`0B zSwr=WrBv`r_dd;;Z}#}II->Ugg@_Cvc5@5~cah<;(dwlyE>?Pwc&5%vKff7~`M^VY z?8XzT(9ewSIBJ$VYCWo~$e83_Gq$yTKnAR?c;A=T>DN$XIf?LVO}&)4V8A`0*6bQd zA*K{dSWefH}Z&k5)ud%rBsX5d2WG2zM4tD3MLZxlTgLCBKagF66kxjj& zq4&$$)9OpWAA32?j=mwX)w#(e*c4bdzu=ptko;O;E-@sF>A*WrVbJ_MJcahlz?$O} zuphe)&m7x9!|=PJ^nFEpQ!VUTZdwp)KASmx(hP>NV>Gf&y7w6R9wNWnhekw`r$~dflr>a*)H#k5%3|12R&*ZBVM`kd+MU-?9zjJoM2SYK(j5 zfb(=fR!CkTIPnc!Q|fUC=f-PeDuYgUTaKmHedr3Hysv(1ZKTQ`jEDE;SNG2^M~F0Q zMivu3PvisDS0q9o0w%sFWpLy@h(M@XyjFR6YL?|SpvJ|+6L|kE{>_8asF{6b@H#6_ zA-V3WYnvVV)(@MmgykT?vjNJk)(n!d3iyX4Ggg$O&Q(6xNrvYy+SUs>r5MMDIYr&) zVk7@Tqz;XG_*DYkhw?=e1|`cdK#f}P>hTvw5fOiv-FfBU zNV4$->DskliB+JKONvE^BVU#;E9RNs7@(Z-iJAzwoOi3}smucu#cLp}9C2s2{y(KE z=8qo_?W!OC5|<6ed5K7;HoAfm3t~@FZ_75Ury9rlYNf1pMuak+(`apG3}8dabN%hn zYMI$cYw~_Q7#=Lqvxzh5d4c_dVrW910;K#9j5#H*HT_t!Jio~qp|aS=@x_dF;xl?> zsv#?KV_sgPQYh{syvOGA_3Oo0Dfk}k$!F>T`-0M9jWYMy8-fi?mZMj5{9>GS| z&LMB2H(9z89nZo86>(SID_&3CEPYY_wP`tO!)LiXp)CA)sRg_9P(UfW4xVNBHL`_p zpBwVZT5 zQ5+l7A|hI)i1XAa-$?ShdChODwbear;xf&CS-k{Ow`tH@O1M}`nCvQAuWdYk8~F4-FQbH=#6(WIB~#I@-s>gIAA{Alr_)HY?gC=oSDV$3=wGCw z*BX~x17F4&_pA9Ass7GsX*?_uzvoQ|U% z{>{5o2Pi;8mz|fj9P59p7^%!-6#X)QK;G47l+cOzjhq=6_7#XajZ4#~R*fkHW0Nm^ zpJUMZz#WqU9q^JD4FfmMh^sT1SBoe8*qxZ+KFo=Odv%LZg)5OQ%E&|=eAIecCP!cO z&HUSHQi7=Y-bL8QJBCel^1M7{UAwk03Tib(BPS4U9N_t!y;JHjhsDOJz5b!5Wpner zgZnsb_t>kU^Ga&2#dWo8tWME-#i|8-(?*@jX;ZKxoX6Y!c44!E{43G+p!p?#ut+-Q z0-@;1QcK>!9>t2Q!(xAO{`RvNdPDCVH{BQRXxWI@(EVLV&Un&|%hrOtqc58qhll;- z;8ij5ovz+2JDewM;>;gMYy{#{Yxt~~crZ0k;C`F!vv3yrc z;^llZ0>qvp$or>G*AVluC&I=(uXxnn{A?HfO!CuB{F45I_%?QyG()C=5> zsmRY9%EHI`m4Zs7b=AWL-b8lu)^-iWQ+-~ulA$U-o8+!K?%XpIF>6`y!D>9$2sr!f zqK|9(x`FqNWR##8)ofs48PGlU#z|Egn8`lhv8f5x$;PRutD4a!im`zjnCLC1T&;4! zX1&XWPrLB}zrs0C~fP$XU}x4TP|0RjrmfZ8qVDEu3Lr0UhBsc=6mo8H15(bn9?Mw zi>$Oj`caeXm_JlXan_pS)7&?`o$O~aQM%i^7CA24x{M>9-jYu-IitTb?#$G2 z+>@g4J|JC zkX~zqR!YlE2eK=R*O!QFG$Fs#!)ktqA={ZsZy}o-JGAX3OCU8-<2gw&Q|*bpJy+?k z)CE;*mG|E$t>09+I0TYAyfI3SP8Fv>@-#VFp@%F(aRDmlR7rLn5uF($U)!NDR_o4w zwzqf#N!i*+b;}jUWQWRf!;$w9!L`M}_G2 z46e|=B&;yfi*qG8`C(AZV7vi7^Hq5y!&Isu}7$=>Yh#QMyro=>@=gbO&eB5ovm-Wky7o#&-p+>QP zh3wR31`KNCNJvY?eMmH3&L~y@rvb9EvD|TeiNR3xT-H!YDCA~Guf}THux5WzgZrZE zsS_Yxt{LcURvYITl(wiN3^8=ud8*s+mcj&nG247hK6n>4wleI9Dsavh^tx?SK;*P9)ul+@_wLe9=Od!63 z6RHPZAnH$3Y_7K(jzo^HhG^3KdP9U8PERclomHN`_hl#FmxyC5veISzjqX0om_+#3 z!`c*x5p1(6)y*#S4iC^5cc#IXaC`n~2S78Q_g!r9h+DpIE#xLHJTc}?bAgGrF&o7N zS-Y^L8#vqWydn#{P!9Tz;nCsp5Rd)!OpFisV&X|lCt$h#S{8TA>D-k4rB2bIM->j%lGK!P~I8Ak@ViFz6y2HZE~pvc3GB?Pp2E zdO19!QcK-7$zOzk##Pov>`-saaUoGn_zs^(+;(A9f!; zJP!;GQl$#M80hCw3w|Zwp1{-Gx z)=dsx1#Ono{>)Z5c#_4xA<97Ryj$X_Lyq>Z$r6Uo=uo+LS=sA^ilI}&ntbyyx&AF~ zhVy|mv*CH^q|Jx~DQIY+_FGYjw_SSaUU&X>^TWRPc4E_-sVV~{5mhJB+q>_t`zkPx z2KcZVl{oq+^J7_5ei&3j<*z3W3J`=3F&76;zgvyNv%HNH;NJjE`fGZO$Cp=8&_KJ| zLx6Zx2F_e?+cs;un)qqO1yJ)8(hy_iHgs;k2<22iXl2oPRj5jNT5pl+GFpu%1gWa( zF6iSD|KQS50L_GT)!1N3*GBcXULRm0=1YSiatAv;qWkzHZf3*BG5WEFdxB@U*Dodo{_2`s{^qqr!&KxU2Q%g%_jTA$E6)W$U}Dy@j*$aROC z%jYJk8t7)YI&=yZZpXzcBO@|j7#jepLyIh~Rd|jS^iUbBLFZKy03)1jz4-`Q%n01| zO*W&OlkYY*0hwU1vBd>YdH{u%8p$xNO!VN$1M5(J2LQ7~82VfoFdX5SUt zS(JR7m|m?Gt|KlioH}{!8t1`s5|2+1=L#!Y?;f(cqlp#R2WN(E{>X0#1P0FVVMHo!-T|H{bNaoJ_zzeyDah`nRr-5 z%GGSgW1;v&KckQ9EkL)?G;aKQm?!JD33%Fi5NHhn(5$^-G^hCpKI`B_YZ7ADpjCHs zSnv6kZmSV~NcY$G2m(=8$=BDfeWr6BGKDy+!jZRF6Ha^)EF5f)*t7m$=$&> zYo>6Z=_h@LXq@6?_012q$)KvVk`#&tws_6*s6rm0xMF)#EVwogq1(CxaemT%kHD(T zhSMh9QvwZ`p}tIcN6PkwBZR zUL?BCsqnc{;t`e{UeGZ?e zA`hcxXmb0i4cJRV5Wl?1vcH5ZS7EMyJqjI|A2;3)kjVW0vn%S!R6^X{8D};K_*P@=B8f z9d&w&jOF{K3hu#uRRQ%BSDmF+apPbham>9x8g=AcWoT@i3(;3a7O$>op7e&n^g^1g zS{`vm!%I1FJv2ZxI&fflvsxTK+e-`54QVdl(aQ8t7QHS?XegbD-K7Xo$=RCPUjb(O z+a>MAQMK1e_;UF^Rh6Qtgp44_&LFI|u5`vd76 zC)i8_mw8wqz~j==X%!XG7~Z*jj+xYZjs*B+%~l3DLfFT@K-^QO&x3_DU5-v=HE2T+ z+!o@7-a3SU-R=wTXAqlKr*PY%A+hWDelv0Cm{p@zl)SoXTAwJ5ElXGwhlgwSgwY=v z`;s?m2^h^T@&{^VWmCHRe!*r%mB-7O>&pqJ#6yXGojo*cvcAa^?X%qn6w~9qC7Ft9 zpw=noD#8S)W1X3QA{K0Znm1Tz|G`EWL;sWV`diDmuj$jM(NcK6uG>?03^r;*=@0lh zswt~v8WgrwO2V(nQ^an*a{&;@nQHTjdFC63A`7#tDgVI~gBRJYYIbkUFPf@h*3%uT zDb87E?&b30HU!F8~Q%y|QJ<9|yvz3Xmzz3m@ZeP*M zW(wH!juA;N%>kz3{?G93?9ak`%{AW7o{*0fx^k51<03aw0NOElCjkRnW&+4GD{`wF zd7CW-1dzJI4+n=U$;*=bo)B6t$LO^}R^W!1K6Ty5I-rxDP`NdS-OHtl+^OBTs2||oj3Ur&74eTfgI88CW#w9}4d<5~T57{S zl<2X1W}UVKgp4v9I*`lRv3wu~TR zQHL6f?8a4c(eIX5@7Z{Fz5;uWX=Wi8u*G5`Tk8I?ieBjYfx%e7B5|=Op-pi^Ec$XC z5zt4rPpU412GnXRt}F=Cpb_IY%;6 z2I$bRyZie`94h79OmRQO@>9A>NTASF6@Iz&t3YM*+-`0fe2Tpv>13*f)%1zpM^uNn z?nj3{J+2-5=6IYGZGs=#@jR8O5Tc{;)KN2yWajMNqV{*Uat39h8^34HYr08vW3~JI zU#1T2PSR3hC{W?2fQwSUN{|V_-|{*>`e{!^FR6IJGiM~VuC5b-WM7>6D>$CR5RM~t*ct) z>sOi`wUzzV2G^U#dx$+3c;_a4Ze6l{25S=hDceO-Cy5}spMEN@oLarf#feg>yqm8X zLZ(WWcQ7K$e8q!F$kXL%D|RRNEHY8P&&9VE48zd{9eB@j;cjQ>NYD8XMn>8ENd#(y zwFz8{#(;gzDshy~@HUq1qN{46Zn4|UN#cq=qTLrUb92IM=3gJ7vR8yKZcq*K! zTP>6jiQIf(G|O1IY|Sz}eKasb zXk^R1)$*R-ZG|_@7M%EF)9DQ1dpv(}#4h?veX;vK#>)F}<~loHzeB&uNSkT??3@1S z+{Mud5<#Ec@dkVK{DVzmfXBTB9`u>Q8C}xhm z3HBq4H^jLbPF#f)jhqraFj&$dDN*>NNHdOl1nb_b@z7iwnL0~1W2`Pl1@?hm$`4|X z!EdRGy}-+jdL;H*SjNHyN6>kfhJQc(T|N1yq?YA%zKCar!}KJh0b^fll|5sWh3y53|mFl(gmTJp!_h%vsP78!{2i+-S4@#z6Bl3*(kY`(ENiyH_MA= z=8f(8%U-ixUBkhMO%r44NdhH$tYR`>?v!?t2hn!qCo^kcaD3MemEIN;x(0!l71popQ{rjstS^@=8q;KDNBUpUOugFWbq(a&?=PuJK`06!Yx4 z3Dy&q#>n#sy&`jDnB{g;?rTGlCV|K&bc(arN}fPqvoQ22iy~vq#u$-uCrZb$iOC^wOu# zLn$>$F^Q#2XPcbUGW%3O&skV34U5hDjfzj=8n?sTi-}2eS6|wEWmyBjOtTv79L=S$ zPBHbhC7Opbhuu6b{fs#G1u-65&vj+2i4k+;0Q8B$650K5!YGSlJewdFz<+MDG z>8?(;INE&kji+s61&8GbJ@7NIyN6*n@4D-~=z2J^>IxGm0qG@?xwt}iTjj8~#I$at z$%rPj70z7-g_k{BRwuJ~DvVD0RXPO{*)jlTEorIacBPk;0$!s9LF%k}i()D_Z*8;s z#St0a58AL;g`3RBI7TT)>%Z(vD1(K|ZJTmhA!o*un`0$(QL~%wTJKHxUw3Aq@hv*t zyN}3x2Bo%|Z_=<24ij1b^+Nmo3P1X98{U#Ss#~tj013~pbV3@Aux2kM**K>Rgv9Vu zAp2R0(QtV9U5~#QeNv5S58(r;O3k@OZC&bJUCd_4w*|>jymVjPPGf6lVZhwgeStB} z5O6|1P(bdeJp7ULS+TPoZZF?yNq5iBl>DJSOzP8z%8PS(tTRnpWMw*@Dd+PziZMLW zDdF6`Fu9z$@b|q6urFhIUI(oZ;)A!$ zOpfE=hSat`lUvBfTk*CGvBgK?Z##@o)31B1$=JE)yTe8ZQqt$z!J;RrSMN&5&8H^w z?TOFDFV*TU#%x318#T6-4py5r?hn24A8p_`;XVo1+dJgYO<>JKy-)a1e8#Voh0H~B zZRX0RXE(J?Px{inFg&Vy@(FzVxp{CD8ISvC$q04aIJEfWP9uMy_JG5vknuqQ-M22a z<-DJgX5uKt(Fh?)xp`rE%3oG=N#RoCs935vq1)3w~1XDI;g(ZZgJVZ0p zBp-I22HFH2@ z!;+F=b1u(6*|{rb&bI>dS9OiZnUNfD$>XGq43h>6i5;FR*98%j+D)$cd;16Q!5IE8&VC^Voe<|cDvR-U5 zUT!*NW22J|FjvA|XikYwiBZ;J5{QpC2rS`4(9y5Nv$H<;*eiyr9p zaM}E-8D{WGW_%cR!9O@MmB39P-%!)#B{v3zD}v%%TeF#-U)SF77lyo*pvt2D;vjZ? zXJ+QQXRpvCKVhojI5eRUl}EIMk;hO@7Lj62uU7UI@C)YQsy{?wS7IY*e2N zi_+LcO=|Zg`{l@!Dd<@D0|X7ZOz)i0Mif`i?dql{%_)_~Q{i4<*1AfK3fm{lXGQE4*)E@K%@!dN zl~VP3<-As7DznZ2>(^#}tk=&!SYf-)B1`0AuEr9-Y`{M_bhla*PQz6}pvkykk--09 zZEO0;cBUg2rIHUUuc5E2?)~f_W+A7KrZZy7PxNM0@_hA6kM5$jel5?BV$G0Yxq#sY zQHQakAE?f$*9&}B+We8@_A(qg=%!KMrNwT*iA7CaT#Q=SPWp!T)l6eKf$>i_(vw$ztaiNTD<9 z&j`B$Mq;^qTPzYnXQm(WQ4C&9_-?Rtbix{=Xga*eg;GwjJLf1~xEIIW;gA!$Yx-1+ zk&z>2=Lv~yJ(is~e3{E~Keqa4pkI>vD(v176n?SMXNmS}HYM2dEYwi~JWv>ecGVFB3Rh!Bzs9PuvKwp#$2?*94SGa_5yd_Fu*1sU40#)agz? z8Goj&$`_@6`Rj^cfP&;ML7uL&r;?`~VwRScD1&TFR8u-Jk zgw3of%iM$de1%1{+KL)^tna1afz;kllxq!J!8-t5#{84uA z3XDVzoZlZNmL1K;=37;FS1Ipi&OkP}AO)l5gBG*rgeUA7=RXcwf_9nYKt z>-DeG@$~ONsZ}76Cep3C`e4ddNEEsI-o3; z=8JW_tHn=$-0oVD8Q4EjwkYlymh!$*8oh(k`=HUQ?0VC#86@MbRp2}Lb@7{Q&>8P! zq3aKCtp%Oy<~Oo&Od}RrSf_Qxh%dZFHrdg zKUA7bH_%Muw#^%_HtABbnRhcgPHl~F6?8i(J>&CI-W=bgFl ztncq{tzN9veNH!Zs&?(F+VbrDF_g@iGtpd~$@ee4oFBPurgeV0We2TAeUhZ9>xrap zMLUr*H_Ibua}eRkTAxgfZy?25Xn|keZq69X^l<5@GbL?mjqs*>&Q1Wt2AQI%n8p5# zIETg@N5ZP1bjrT1hP;$fAnTxFm2*-4;`)72eAp+?9lRMJDMAhv>%!{FX#wHNe8Phk zMJxQBWPwn1>v^r_cH6e&f+@yJ1lNDxM+Bc!#XR^9UbP~u;ON`obPn-KH}fjsqb6~CH=_SW79ms zycD)3{8Uh-=6z@7hjxB2T_3uDL(X)6QCJO7e@3T(syzp9$^?X{Ka|4e3|5nApT|e| zkJv%^3jFOE6$AWvcgJA>7t~aQ_WW{~I+>iZFt_+^P(Vqe@D=G1c#h*eF=M$=BuYmc zS=Mw-iS&2-wnvPTTb)=nIHro3*g0$Pe+vXein z+AC$&pTaDP*Qvh;EL0!)iZz;DPmgjc?CImrHy31Pt6);5>bYyJmZ12Hmke5W5@Fli zPlsD|y+`4k4R78bhjg}zHmdZsGAU*3dk$s(fUfLsUXz6Dlc9a}YV>!lstnX|$3%Hy-^L!?zw&2|LQ<%J0%n=mTnGCt#o0mgICk|`6we{w4G%Y~as)SsJ zq&*&{@hyI>QQSAdKN6DnCHm4{N+YN_h2j+Tn3>!;LTRW~Z06gY>kY)6Lw`u^YF?aVAoP z>6Pf{9tnrWcoD{{t~gd2Q=?`7o{*>7-O++Nit4``qS~*>jQ{nOG`F?#@V{125fG^`8y6t~o&sLH zH7&>z~HEot#Os*$&CqhAx6VAJ5U3yURH zO<4J3yIy$CS4va+@w{p6+7p;j*R%uvO0mVf=qVl|k$7`bGKR44-O9Cf**sTvaaNX z$Cu*~9YD$ZM0s6Ql*8xPS^V9zbSZq|0y-FB36s({8_!>RNsoW{*0O@E){Bo85*Zso zcRUgJt>?uScPk-RLa}y#dcIDV!gzA4g2?&2EN>GIoepm$c0>bOI+WdNZfJY1_>O#K zI>LZ7Q`bxDojaVEW+XyWpPUt~cDK~Rk{(m=YREL~-q|e7Awz7ea9Pwk>~kScXy4Aj zsA!kGw@{%&$Re1OKwOYPTmKcCLuql+%xE*=^~gT|_4mOyQx!4bik@DpxgLY4E_%XH zJ;3PWV}v-jbuz$0PNVV?fsx{n!%A8AtA{$Bv6kH?^4%)A>Nn>b7LGexVyB(&%G{8T zRnbRBfi(jp6{0*()BLsYd;3-od+0A@U$A#r1E=vi?HmC%)@n1G1D(bP4d;8Q!jBm6 zx_~fcCeg@z(i{K?Ox7V)?9h9CF!acPWW1dcFEsL1OV_mekEFA+PcND6m0QrU?*%WK z8(7#_!6nL_ddins)jbDIGUc%T$#$$;X6ebjaac<=dS*=x*Op!W49B>MKxcA2RNy4@ zjp{}pb*BJ1(x|5hj{a(vrdpEOXm%9NGY#7}7(hBuH73`;CY z`a_;xkn5%R3#xd2>S-74gkz5lgA!Q}Nm-{QM~N4@J3vyw`zL)jB&=R3cC$Ai_w%C3 zpl{{79lWbSP}Ba5PzxPHg~iC9i>0FOZr1~9mG-!1S)c~f_}hV}FI0REXcO|z5e`i3 z&il+#@SYf$hT6H^^JhFw?z*vD#}|}~Z0_@PSshnfo6Z#MJS5BT3zwgMJYDpVvO1h++w>xi`X(v@WD9K6j&<=4Jtlrz@u-vrzq;Rtbteq)+ z#m5&{Djy(AF{O5mmUw1X?C!zBTC<(5zt674qC&Ub9sFNwc6iR8@gw<`y;@>~B0DKQ zK}W|Ko)~FA5BZdjgQqVD0eLBB!Cc7pHby&|1Yh^|WI`}Wd$Gt%N zDv$N+(=57}R(Z+f;NP5(6d^IK;VROPt(P2OPs2q*VnXpAU3M#I_T zqh**0+^wx0`Qlp(XD#5i{TRH*Iq^!F6|CsBRv@waym(q!hbTU7wxT-A#E@Vu5wi95 zp(;DG7=CtKLwDp6slkacG}A6LbX-I^-vDAL*S#){XU0wMnu7XlaHrP=;i3DBGMZVd z#lN!vxNwPyvz#pYswS(`fRb}^)##AvS2jNvv}EYCTLS?D%K)G4BL8U{WZD=>08d8n z?(mVTPPUi&FjR`3mel@9jFD}uiRyNd+nM?4{G0}x{)K!5$UyG9dvIgi5t2&2vZQx> zi<=!Q;WV~-T;7gySD=>t;FlO`KDk8?_W4(tKY73%(r|hs-+iDUWu?pK&patHpt=|J ziGA&fM=`z_IS@Hg$T^1{iMf)~=(F4PSjb5TRyMlDb?|||Q*$6LJT~R*EQW2_ANEc3 z86ly2ivti}r!Dm83V&l|JjMWHO)&b7s>{c#Nz;bBm8blDcdOR-?sQh`v&)$e^9HvU zG$BRi(0C(BtDT*do624fPt-=5d@E2H7#=Pzh!td+9jwuK(PXk!@4EQB$tHM!WHnL) znsV~Y(Nxz1CBL~@=;|f{W2=Z0#O}H{?Qq)p@OG<2rEd$4)fQa;rh4xZ!aChNo-`rw zD7K~l#b_oqcT@FQ=ebWxLTIq7eE(;RA<~hF21nL98P9A}Bx&{1s>O}`RcLw_2{FZ@ zAdzQlp)k%5>1(?vQVo&9TjcHb=4B|eiJF*o+&W*Z zft)G|tGHwdvzwJw$>}nW-mDK&gN5&~(u?ysQJ9CR`z<2|?R~oBo?+S7+O=INXG!&} z6gMt53J4s}y~drKyl49QfDEEnGT3JiFMbIRb$HdD7?c$hvq~fP<>_*qMxsp&63Cfj-KYTCLbyvx z-{20eAk?qqWSXqDy%yPeQHaqu_bT02r@^o9D%p-?=mf?jUx<=J$Y^{xUZf<^ugS)g z9=AgZ>#m{idicdNU|C5azBfk{eWGo%B5{?FNIo~+eI#}9_w(YH>f8M zP2{ITD%51Rn0Xzo*)| z+}2ei+C|l2O6@K;0Fykkay7W=Z96D9YI%Y#=q=Q7XTq+BNib_2n)l?Qq4_+9ft*~# zi@VY|+S06xcCjrp^EFmHomxLl$?JunY}hxu+L{ZO%i!f}T_zq)0h1!Vk5E_=`(Cs% zhuQ~SL9dlB^qrsC&?bwmdwOU;-L)dQ+Hk{I1e+}5ei%LhkAw(I&j`f@3NL;5ApHKE zr;_|lC(`m8K-VOO07L>=XXzm_Oxu?T>z5wyrDU_{BxzT8OYl{Sp6_E)#hGx(@6MP- zy4pXw+~`mcO2v1*atjAngHgumLA`!zF8do#pz{z*vYSBLfjE+=o@ytFz}+)~OL0eh zPi!QAHQSaEG9B?O*$+$h+6VxsHE?m+ufs;}D|T8^&Ftn&lp1#5;~NhLi$nBAml#|Z z;{J}T0uwT)6*=s!CZ(@r1{7`NSwpk6k|rx>E5U7VZFnjqQR}aM^n0MY?>7qEI2LrQ ztjx4A{|SNe5#eGbzz)dzT{1;*8RUw8yN&#Cl2U#F3Z9ZaBKNT2Kze+EW)l6e%cs9D zHTcAx=4^8@(#w(|OP5EamNurFLNLgMgb8dkcydTqvSf}UUrB~Eb|BpH-7U=f`;J%* z^JrKQ(Wt`Mb}(Xi`|B?ir%$n5+rZ@cwRf2&CWgTRzCIKvk>{`kisC1Zfo7_$qn(ue zE_NqURBx@u*%+ux?9AZJR=D$lpKqR-Xk-~@juc1K_kVTVNURS*>9d>@wEX8lvl{A$ z9!H;`*C7Rueal|^z&>b0#jefgtfIDxTK+LWwCm|QB60%=^EY!{T7n5o`d zYyZ_=iAmAgiO1FLI>Oo3@ffv0MxZ5Z4Oda;=JW2JCg<}8N0f(y^$CgLZ+1d*86kC6 z-@b1C2uV`}@?xJq0h+HBKrHq!0RX{OK1tX~tN?8G@eS5aST-Pw5}yXAgDo$N%3yP| zy*wI>zXJ&W$g{@7ZpN1jQb>CRY~Q{E*w|7mBH2d|IbSV3g@VT_o(9U*keh+OA}W1M z#Wjl&L!~`tOOnl5o9z-1db7&{{`l1wpp39FGe(F7l2-LD>){v<)X*0`{smB57i)eY zu-LmbLIo*WW44cT$ z2mbA7?PPJG9V8JrT$Ze0%aB4GTK{Fn@Aa>s#R7mNOBR2X*#=RA+Nb9y8}*hF@}QO9wFE=C_?9a4eB42!w9_08IaH-q;_X zaFIU58{zYpU<6ypN<&`_Li=1@Z*M%3O3F7C{3(9K#Zgk@udS{1T8OG|pgITH2?PCz z>jUrxQEjp9p8Vc-{oB8|K@Y$d@S~&jFYSiCy}fvSuaD2qBghgwAxGub9d)yVcI?yK z+(2irvalF|Jv=>WAc`oLR~K9o$iryAXXEz=ch869KO+4v&cr{ZIVXZ2pjlvzzX|ey z{QHHs@w@0Z+9=TPI|u?n@e8+5EIX`jBpH~JOATLNX`eT`tT;nE}0RPilTt7gD1MNudaR1XC|MI!D z5WvhNoHNuW|F53FN2uc$`b&RKLK^@d{TGky<3orEbns)&7csv*!T$uE_?M>q?X5gB zpj(Rw&au=U{*?&-&zF}T1L9Zr{}01oj>rF(VQ@(la3^ch*G4V=9ryPall$+N-f%p0 zIaJ-f4l4Ky1oz+P?ym`*D}=~*?5~o#(~|Ws;#Bk2mzBA+?A*~@yyg(N0T}SX4-cR( zOd5GN2~i@M9`cd)#t3TuCP3Rhedy81{nf&C5*1_NxbcxG>3>#4e{bt=O-272P?#d} zG`~R&|EF{U%dN}<1RK}IhZTQb-~UG*|JQHe0hn0}G8&x!vP&NL9#a8x407;b<}dKp z|J;cW9-;xX(@IR7z+ZIi|K=s+`U@hs;QV0kpZ8RM^;Mr=fO$<6)QU!7%_4w$WI*)S|BJr-(bpiy{hg-w7nJM2U;6n2z`~*lr~O{W{)@qgY^T=Q+OYJjuQ0!j5z>Ogq&elzy5|` znDeVdsSbq2UyTXv}QPWMD%ejM!x!66qN_!VT{koJoYJI zxcGB7{mW z11WYE-(>zn@cyn7QiEsZdfunWfH{Xd+Xw?Dl}3~{)pwbvgC1i&qv3iLOWsDFXQV8> zJy*kubd4NihcQg_9|gCD)7KEIH|C_O3^-dV<)ZAMId~$_51r6Sx*TO^;iFt6)^m!j zZTSC9Z~3tQQZk}_{(aVb6=8VRy6@}d_Bq^fr8ehf>bFAYy}RuhGPFiEtuwNgEZ|~9 ze=%`?qCIS==>ydhg}+cOMfv&hV11pk!8Pg!Mp(7}yn*(!UrpwU2d1h7HY4oHIb}x1 zVFF64I>k^NM2`|G$esM^6i?zw*Z=hEzw~$NDIynr`STkQ(a*GRhnh~K(jVu%Zf7upsg%0my%8zr?S*Y=`V#&+S!YLv@w^P67HH1EKpLi ziU+pzCa5Lld|5~%{yLIzOQKR=`WGADpO1VCcP$xUjPCm)bCr*jsY^Z|*a1W=Aj-<4 zPe1^)wzImr*6{B9ck>f{f#)=-L37%F1e-`YJ;@{o)nn;lvDHZk*BA|!YbEN`*!vo) z!-~*o;ZlXFr!hrML&H-Ur!zk%=NJW#-w&`^mA4 zhp0rQy+x^c<-4-*sDs#{MOr-O--v#*kC2GI-k{DGBMu>@G|meUY-6K05yJPFJYS`F zXfi11_r&~(@et$4&(+u5DCLSsQQFuTZ#~F+;w8A!w)%w}{eDOaZ}KTgjj)$+dvbL~ zeP|UPnVlzEHN$H>CnZ*;N}#}jb0lb0fA}MRF5~N(YKRnm#2t` zkpgl(yazJb8bH(pkKnb-o3n#SiQ*IQ^2Q|T1Bjr8wcyRrE!*7|b)~^XafS6{oT3sM z7wOz}$!=4nqjKc&jVXY4jEHH|=L~&BprGx+N6cmW4KR91z?igO>FVm{YgWD)FTs~7 z(yaP%sihq?TDsb`)#+Q^v+uk$7hvqkuTvlS<%`(%P!@PDBqSs~st?bi>nFk=`&{`_ zl*9nqSZ(zjRk4n`x4$G5IG;B=bedTs@gN|`N~H3oVEk55{y=C(u6dMgj)5OKcXIQ3 z4dSv;xU?R*ppEJKAFG67XuyJJEt<+FxH$LNo?AOt+U3xT^`1Im2oV`+BzG3A9UYuQozPG`S}3t%XIi)`PoGwxBr><rGv4nl${Qj#-m&-HKD z?Idt2=Wi;Ti0ItbHNy4 zy(*pQ`!N`vX5~O)+j3T3T}_c$LH1VAw9z~i8fr~6q+4LIRfaoLM@iRoS0zTru{q&8 zQwJj=zXNhU z|L`g)czAqPV3_*1)7JJKf+Q^xR{zcIEpVoud{Mty;khyuX<{%KL}R-pJ1Zg0+j*Yc z^&sITc64%({qG&izC<%6p9@948ZMbLD?=SGz=UQod5G_nLzG=Fx0fyGbf3no57lu8 z%NyH(icgkHNGAAP@dJq(bY42AMJq5=0^u4gfJ?gKCN!!n-@l158^~N${gO-TT0_F~ zDK>Gi@GJ(b^jqcazE3sm=nwfm ztvUX~_Ypl$l!KE!mkGK>>qMrWXV72)ivLDoN`}s3*xdThe){g2*&5m6>o{(xDYt9w z9<2iW+4vmbH(#+W-wo?#g7d9=QcfQWs+x&k0nrFibYP3w5X~nTC1Q#00Ja-WWqUY8 z_Q(z>uJu{q(zdL>(qc|kRuPvG=-6TfY?IZpdPxCcc13f&6ut_d9OR?DuCOlkUM74^TwK}XyK{7cP z?_%cyHk|#nFuS!-rF%o zy|{s}W!r(duPo@}{Uq&hHd0d3M>bQ7F$_$lZplYAhm);8+p3>1eFVVlZ+wA#7`LM= zNzHSOx!a?9ZmJF)#&(i@0Lw$;2|rTaBZ6=0yyjc__mzhRC0{W#2rWIUc^O{~aoZAB zqdD)D)hu@+?g-%f8Nw3M*c~x;*|8H%0M=E7t*zm3!4F-r#`D8cZ1mpmxD7ip!UbEYnMJ^Z~xQYtvuxhN3eV zVPt6rCGEXb#w7_dN)ouJ(s0xBXkSh&aE{TcM`;8oPUzv?opHfJ<+Wg)ZCa|}?(J-m zMGUzSG?81ni4i2yB}M>aC2tQ5Ey1X)fos0#ta99m#!;EP5=1;F<$B*2jsK-FGc47OMhj z&2MIToo=`~5_y@7(H|?#*E!}oLrH+#LAjM4oOQF^(xzkRc!g0P2M@#k!FmlB;F*e# zXRrSn&tWA36jY>6ew!K`cYAt5Ui;#OLehStMJA7-eXaet`IQY6zZqt3hkRJO6M#p?cIl&L~jdonJT zAYU^J^%rZ_y7uy29eidZTej3JrJ>8x*qBNt<){*+Em;(x)f)4|??Ls+chjXx@LHP` zkoZE7hfmjzM2ZL1rTaHqwO^4Y(J0AzDm}{KzvUR2i8i1ey>Yn z(c(`9k`*sb^C_R=ZyE!F^fWb4lMYYxXV0>(&eGRw%o!JAC|}4;Ojo$l6+J(&@RIB5 z?CiB&8&*(gPeB8A5N|d7iwtHBji!EES^sHOG!pV@q9`jz&52X0RqIQgPM2BB`603I zg?c8HhImxpo04!onyba*a95vhlw=y3lLJ0|aOZpu%GW9Q3Z$Q}i#3!t(DC8%g)6R2 zEio%DG&M|nQF3AbUO>YT-vl?;yDvVxT;**GU#Mr8Z*%9Qr0~DvJxk$u_wL*lQq%X{ zE_Z{B`0EfpUDFRM2T~wQ;VGJD5hh)Re|Oq(V6j%U?_(gUR;S=7@VSQT{g0OFKwBy= zO)NZ9koO6(zCzoS)Bar6UOapYJXS4dV>KHd)!=?U99+^AChq6w_W>0`zc6>cM8Psw z(I{(u-GwA5-Lm2^>?FzIe0P4@sda!yn~je^N^y!oB6JQ-cjqZhxZ(7dYAbo7k;=dFk`Q)*TYvNJ|> zsP&XqYq?~rRdX3W$tgV_i8A*a5&4hq3oJk z^xKXH6DqTeX6u)*&e7`#v@UEk<2NSK!QE{)>uN}=QQ~vh)UqS>qy%5p1)c9c3u9LW z^ZKE-KMp-n19`T6JSQuyv>P?%4l}qIn%x9q$zBjuJGChoOw7(EG$yg?y5BD_>*uz( zi=R1Msp&?zCASA*PG^7V76pfz-jrac!!L5s1~<+l-9jpA_BCk{cDf$Ktk}x;O7Y&^ zsb5kby~e0QK4=1Gdmd#?FpWQEn!Kr0{c?Nvnd*t%Wiju;5NY_1JA8lqY5@B&uoZZR z4f0Yk$dX;U?qA*HII`U6LA{d1&wt7UO%jv~Bg=0|l@~x{VL>CuxpZ-9IgbEVosd z-!e3zv?xp$RnHZwt{-n5LGiJir~9g<)_WhXccSVoS5t1xGSgTtKSpb& zco*`9+{N~~SKZX}cncO7snF%h?Y{33vBDTs=yq-2`N7R~#bSmr8OhuuX-4=q&{~!1 z1ahAy5%{gX^X%s#_bI$Sle)Aqzf9f47>IUF{Z?bq@8_Qtma#uRHBqc1?N*a7Q08Ma zIK>Na36Ma``tWTPhtpWiLP9X-qNxUn{Wxbb5wppJ+A+IBC%$nCn5c1DeQuqHYcYsL zt1AhJ{8$7~omh4;=R1p!_%2s&X-SW)6Z*ppqN$&4@mJr^t8g)kIKrhA!>RU<1qP7^ zQ)D{fC5OE#6Vfg%31yNc4Q8(n3s@F-Y+T(#nwT1IW-ef&-X8>#`vwD#|GTWi2$k)Cz9+zs};mEaX3;JXMy) z#YyNgvMY^`Ph`VP2E}_J;Zh_k?y3y;I9LpfNyc|oQL@SPg;5R@QEd{Tqu%Zq-T3bH z@hlsV)x~?$Y0?6-qmifz&n`wONy#YjRqW@LCn}9PN{+dndE|ws#rN>x^o~BWGu@r7 zp)dm$sTdyXlB|Pq=Csal4cp@Uzl9PPEVNv5!RR5w+W~%aUjyw-R<+WcVj9aSH(0)@ z@8#mOHjH&--I3Mi6YgRniBTCV0i|rKRL@~Y%&u_!@@m2yNERM46k?|Rrjb})cP*61!giRs( z#rcK0oAwuDb|coNIIAI2bPD&rX2Lwm2&EtMf*qa+o{VvA(~HEZVUfk3@6S?;COU9Att;gBYLtA`rBYpUB2waf`&`!Ati6X zNxa|S-2IB>O=venfYZyq{}8DM6~tN29Dj}MC406#tmE$V@{^|JPiF?g@|T|H?*R}5 z!%_9z-u>IIGT#O8;K%@gJ&jUHlcb)@`ze07?Ai<#c2U zmS{4$e+>A7fpTAw#fU1AGL#F0hoUiOK%*{7Qyi?Qsfp)!FcxpF%K0ghhROQM33huJ zL^UCB)O~B12#!ITiYsrL^x{>8*=Lq(S?^MNt7+BLEM0qnovb$DY1R4U;?dgHZP`}h z@X10fNsKwxa3EA1m)m#;-R9u)uQ^h5w#4__7#k?vyp9CI8*Bu6bMg=u&;q{d=>+jYM+_3rOSL8k zS=gvk$~D(=*(f`28!c;9*ME}vJ^S(w{iyI*pbC#$SwmaDMAe9%s{x?SorYpQ(7^e) z+?@EMaIo}Kt@Z7@M>Z8|)Qw`!3(O+C{5<)LM+NpST>Q7YCo^8FQKRH)*>zugquR{2 z*PLmU*AP_jFfm_s%utZ)GNMsi*877C*!4VBbj-}m*w!;z<=aajrwHFi*7MefI1^!& z;TIWa`|cz^a;&E7zQY3&o8kQ#`Bw(!aSXP|3 zL+v=7LB5+g+qWy_p_Qfm*P2x|vW@Cvcl*d~urQvSOe2k8jluQ8;D*)|Tx|N&D!ov*NhBM9d5II(JzFef_~yt!a~deV_Vr#aUR|a$u2g>&u1bV5D7sfz8H^&}vtlQ|4PoS;_0MSb2lY z%ww*Z&(6wo%4!X?L;RH-pAp#urn2pwVRyIvyOOt-wT&Mn zcXl{%-2BUP3xQiIF%vCn_ z*R)f6@2=dFG{>WnF^EU_@Tch#+eqkuWj`>8?sUP3Y$(yE<5mx=E;9y|H}k4QxAC;~ zzJJ0d)DDOpZgJHf7en$SbxGWUDWs@Jf2gV4OBg{;{2_-s9` zY4T-AfdRQ-Q6Sq;h88}zw7M=>6LvBXP_Ny&uo^n+-Vtm%3&76ZcD}2rOqv2lu#s8S zS-pzm+QUp3EU)y4E19v~(}-R%g~wCVYJ{`^m7L}f9nb!3rC4=yn;Ew(PNU5ECpVq7 zWdbkq^}m{Yfvmqnv5!?O4yrvc__0yKO_PKhy{juq*fcaWgtSR$njB_P`9_aiL|0{d ziY@$tlamnFzGmv!>1O?@lgfaUm3);5X?U;F$`xq2Wydlb1D0gg?&r@nINDQX*+I$% zSn3|n!`_zlp4O(03rI&-h0rQRVD?v@&z)fR6OX`4G)u(-XJ$eQ=;*7;BwWk}=4w`d z))67-XxNdgH#RnoNd$AE=U5d*jmNGZw&!~%KB{w{{LHu36+${Gf(E2#eJ7`&*xD>z zWqHaKwA0dpbXn!Rd3=D^)v9d`vZz((xw|^uqHOHDjw@=^iW!_?4zahD^)M?^Dafvp zEBYy6KhNVhW*lbZi4~pfU|8@2TJLm_mRsjCrJ(67B|erva`<9)cKw>_7a!IR0b z$6i&5TKe0%{ZFS?^jFPW=2L~2#LXMlYsMqKe)Y7A^(^cbBR}{~SZO);h%S|%q_di= znoVxpj+J>C`rafY$lMaHjV$-2eIf&WgDf;g(xj(Y&0dnu^Q6WM=)4tR7Def1lBNF! zG4?2|nC+5HWQk4WUzh@W_C(>R=Hj^Lpc%Ly`nHUEa9)T{p5YyCS$ z#UV5Y+AbgQ?%CL~BE$GE)uSA>Z1{UsM3rpLLRzrmb+Rb`>GD{mU;1_^jw72-NSb&@nX=4_{0Lp<+8WE?G?+YSfZ5W z?7Emhb(zF>8?)Rj5|u(M1W)WE>2dR9>W?R!bzv z5nP+n`v>C6Pmt4c!ux-sJa*u^? zPwS8@z7dI|W2KbJH(+N-%+xPAnyj!pN*?v#-}Nm>4kHqo8*3PIuPv}(27zV^1xAl^kjI8Ng`nia#_ zn{xEA-kwbYT-}Kz<8kG%3ITfpKxEl54-qsNRUndKKkMm!z9x>f3aKb*IttN2 z93qcOnAY1BCM3o+$~J7V##0C^zePqLDJW^8?3iEaje<{Q_4#`Tm!-Dpmr-_pHrIF= z1U_gG^gk6TWZ!cSV4|oFC3rWQ4gHa07i$dPHZow6p&TsF$;xwI?PfOGRdL_HaUB>{ zaFRb?yy0FX=zp&QCh;tMD`Dy5?K5L_R>rm}D@Zk!QI=`K25$Xh;H%81MRrJFNviPk zx@Y!L{OXqr{$IbEex`BHE^F>1znm!;e(X|)47+3eKJ9Q5)t+SX>;w_#jQ%|)w)BS= z?wiquXFC!W;w#wLYjsEE;SDJa?6(Bvr$mweaKY1%B9xYvM#e`QE3E>BDpqWcM{aKo zmD;$T02N+7pa4h^-zJ-*b8#=)P?>8{C^fWSeWuKc&T7W->zfqGoPDd8N)6w{Q1d|k zvZQ=c2@?lt3Y^s$k^PqWYTU8MV&0H1lh%s6SiO+v@5rJkG9v~`WBWdBPMMi6)T|wN zM}s5`pEQB(`0>TQytM#ao8>dKXFIrJp(9S(I?Ib+x4)sNY}oH?_e}XHp*3aUAHHwCwKDhPEtMZF;qxf7C`Kiul2BFgMDwQ-% z8I`!?WNY*4IcLSS%NmQ*+jwN+gEfnWY%^>i$0i^07%vLG&nraKS;y8Xm`t+@X^(bm zW$r3t8GOjP5!SV?K2+UnvkZU1-+7`@FA4$9W)*nFL{82L^x zb&5fbWf@&KV7iSRd6MpgFW_8Mqk^l{=skdWrdpZRD_!h_!?~~gLaA>ggx7OQ*T4p( zw0Gp*jz?F(+;^U3a{xMp#W!V6^xgM_+(AQJXe1wFCiJGV3z;{fQys}4x7frD zyH3b>OoK5ME|L<{-n_8NM3!c_e|3#dll~@_MS6SL^hvKWe`BM7d5m^h7lg;ywz>V? z&P36N-44co=ns?E@ks^1w@?JPp=Xa$ioGp;KqQyJyW!j zzQV|vZ4+_5LSq1JS{4Nl<)nC%C8(F`lOx_gtPXP=n`kuT&?mwvowxLKfXbHJK2U1n&+fK*cFl@UmzY`E|zOZiEfA9 zhq2%pG!u)-!Np``h6K6|rT!b%rRlwQuf7Dxx`nhXdq%T-!{(8l^EUFq2$18;bZkUJ zwV_>#VB>dn79g&d%$ABVdb6`asaf7x8_{R};pnXY%Bgr4IS5K&Lt1>6ml^fTN-D2!jh^#?gci#$Q zijv}Mg2~sPK|oX;4Z{A7$C7*(H+SvvI*l)a=yIbIi{7u%*i|De`B@VM2Blq_tx;$*Rg`q}oABDI zP!A2deS59BY!*-5F#&f*@~t zZIo*z7k2w@E3Ym7t5Yi-h&q9n#1rA|nz{qXZM#9}NOOV>J^B7IGp=IvwNTMne?Tm(vf1zOE>8M54WoA&}TB>^0#uIv*>-`^((kN6kayh+ERnZ2}0 zBPfRdEj%9B`T{Y{xumt~H4Hrff=CRdOE^^@%XSjxSAC%qArs&VZz{N~SWStlIA3}q zB`rfCSfU;OwwQ_CS~EeFK~v_$OIvz?P;4k_?9-7aV+uKWLAbLire~8q2C;xw^i@@^ z?4A~Tnh@D86-pSVAVom<$*t-5*FAFTlG|3S+55VH?FoiY``-e%ZK?vwO$JC=-4$OD z$s34#4`VTXF7qo6%EzbPtC9NwWj>p5^E%=JP(qu>wnkpra<(Ul_CF{t7h zsGbFhMwjFB&%Ps@v#&9(dU$*NlFu(+t>j&zbL`$h<&J4v=YV~Ka|uZ%h7N6V71%NVfEf8d*@?RcK46^znE^k9Zc~O(4n({u$*PcRqEUcbWta{yBtHver4`T$Wo$cIwUUU<&2$USi3vrhv`&FV?ZWX>xindpoC zbrk9M!C4n4$TaPAp(2kwHyib=@|@49aJ<>Rs@~KFiTH^J=9-g5Mn%XuTBv6D{CqW2 zx`TLIYArY(`ZQY;D{ZW%j#PXsB%LoTf>T%wtN(*cY8D~K@bD;e$Y$C6c5vO*d=ed> z%LPqGV!eFkeo{TW+tffDovQ_%oobB0?lWWBuK*;D=eAu?PC|ucHo7M@iOuzPv*;_B zQI;d_=QARqv~(p6A~+aujBGpwh6;R}! zNOCdo8%V-!nIn@T?A7SisS-E8zfftb->SxH5+GRi%tTtMMT`0|yVXd0YB7ATc(Mxr z<`nG(jLDd(6>#hMsczYCnNt%K*^+Dk@)zR{c-^8S&*@;z?CWM4ss@47^bmkkt!cwO zc5ukMPX*s#H==KExNgC@S}Ql3(L)!U&vKx)nw`OQ53Zm6#2tLu0MEvB{ocUGodXBh zFI83UnwNm#N7F!GJYa&zDULefr`@Kp!H$E<+{Sslo450UYDMCaYX?vO^Tsauc=es$ z%B4WV$sNw4lG(IsTme6svxpQVz_zWiHgrIqcsIG|QLsnK$Ok)f?bTRP!M2Uv$_N#t zJf_1 zy1Cwp_Uzm0?pXbFIQGJvfLP4$ijCZcY{Pn{PIosbi-v6JF-lnNyGq-95O?q(5wC}QLmiJB6x9kGgbcNa8 zD6N|IN+2!N?pir{f*IReU$~p@PuEYTdg5^@7wdSYsN*PphC2(=r?PvOM5VuWS0NFw z|Dqnt=9t`w4l=QOZ)3&#i4v~3E}w@n=ZtZAjsLB}Ch+ahBjjgM;c2vNS%ljFs-DJ@c!IFI?47(uu6DE2e8#L?HyMSNr>C9?qd4WTx4v;KfB zH$7ti#`79O9=7lK2YjQf!|{{YmxrJxy9h~znbha=olC;irsZ>L?h8dB}pt`We4#QvgA(|N0- zc*bDv4EsQkg!D}zM-#rru7TW8oj%7NP-n8zqj#gzyEF;nHZ*LYx(H?jAhtju%d`4! zWg1H_xlJTzfi#DlkjF5M`sLiCu7eZ8$LP@p1qrb}EvwsdVLO`l+RNA7=jE>rN-vVS zdp?QYdnxwoQi_zFAR-xgq>vI`|D1`GMsE{XzBJj&3MlEZA{kApI}1P9*%(L|&KouP zCfd2f@6;uDo5|tZmC9oIkMxHcL;y4rBS6j6t`k$^xcM4|E76CSpOovMxa3)q&!Yzq z@ChWvgq2G|aZX&q3$AoJNq#W3lV%JcPkg(nHOZ3#5r|KeNIlu=(N8~io%wlb# zC2Yl+AVr?+P_=}dJbHb^#^QXWkfx&>-v`vq%fjI zw26d_t6dVE=u%uni#iBVLJ)nF=)DBd+Yp2xMn*5AgfM!q8NH1@YD5X&k-W*9H#ax= z=9xeCv!8SJT6>jq_St*=esX;#ZaSHF8Lc_?g`+k!4ZPrJ{|wvfB7HmQ+yGO=XQmM7 z+9PNEYW=dbrLh9-o93x@6NN;p9?XBAp$jR1CfdIM_A%&tSvsrQ zEFm+c3@IKOB~;YZasp%Bsj>NxZ4h1V){^?%_6cW)6hP;Hg&KbZmNTec!EdRpOmi7U zNu#G0Q{uQcd1|+{yPf{N+K3BztG~WW(%}*2hHIyr!b&fb(F51!EXiV^oYGbxgry0e zB7`+c&pq;Jce-s~_55H4uw1EEB0+O(59X??#+rsV)9Sm)88JT96-o7bqG|}c6*;rB zDxg2ms#RF;eMp3>R_GEFm!vkG>iy`VCU#PrMNaNtp({kRU=gL41srp;g&>I=hh89L zQ$$w#$T&C80SgsPU6gU!9yi2TC<`cNx~iU|?WcJ|wF&-aUh1(O?fgN@E!9_Y4>N@u zvtCv=jYaQHydY{4&8^0Lbm!cAnjo1PfBd>2yDu;@0D@;F) zVh=_38N9T%?M8fVJr3Wx5=uDkw!b?oENsW?Ur15NR&}4X5vWiZ=~uO9KH_LZo2umJ zzE!JG1kd@o-t*TWWe{;raAXuxVnF1}50zQTObsxb4Rmf%M%V=53q=B-^HjJ#4k+!SY2v_ek;gXV`kr7O3j9kDnVf*q=S@Sn{D*yCg`+ik0 zly`!>!QagIqg!W*dFKjGR{MaZxp??SOk3P-<+gsCl5o3*n*v8{+8_JKOmGEd7sFc* z56__s-xtJwxa1Tgdpp~?$h5Z{jW&M(Q>R1Cb}zTZaWFHgwuT+{Sgi(e_rq^|~!#T6Ruj0S>PY&Qdz^0W)V z2eTC6J;_@7$}pHRxlYWC@srzsJr(!h4}1DB)V-{<^Fcx!$9@okim@UqG}Sp=OjzzF z&GyvW9pk;~7NfYT^gsyO$lkbO+ZP6UI#aW6Jg^htINT)yo zscz`YlB!PSiUZ{zEJ0Xk zM%Ny-axB%V|0`9H z?BFXo2T^m?_jjywFI-Yg!SGY+Wq3s=CU6i;^xg1SWV_qdnqBOxi9|^ycvVavq!T&6 zEWA}f1ie!WmJ$dFdb=wwwHscZ;$}~J;bl!AZ|>ys$OLfS9bjxBu)Qq%=^!5d4k|ZB zp40Qr+F`oN`2>H4dB72^UfVCGxUGak0F-vVDZ(3Ezo`@Q=L_!22zg|I+|) zZBl;mXngLot_jnw2{vl%7F=t!s!3)??-QbDl9XbYy#b(Ms%Sk5GBv>=T*H}Q+fbOJ zjJcglO)G=9_#&DXr?g|PkumxwZ87eUEtoVk%{Nm}*nJb9g%zy|2ib0YLa_;iL8M`; zE_+tzisL+6 zxZ=D~L1(bREw7&qY2Y@$wmNAg$5j@`_AxkAn5_LSvNL@9>?@WlQt z7X8*2MFHHZeUoOw%MJ;Ks(y8JPRU%^y3Ad=0Bsjff{#xf=&W&)bkdM zc%a*s>_g$H%P5193%N8@3ZH}>iWqzux*qZfNCeK21Zh0XPxTNAsdQKbr!Nj%R;+d0 zoPDItX1iruEXFU6EHDY%3OZl9GW_#RNd(bv~3nJtk8$e*}>oZGX+Nzg4iq zT7_OLXu4@1-eP225`}YCR78MMpUM=AVW&0kpX&w^7(noPI-I}~(QPbui`Ic7a5dh} zmNu!?;+VeK5V0pZvSsODo<2qE9NL`XtdB9j#bdf;70C&*IR8<60IyFG}dl%XBE`sNG$P3e4x#j^UFp*68F+zIf=G9MrN z1=1-<;ssE}X3U_Kn#Z>n$D-=%>mM&^0ks*$4$J(`Rw2|wBP<>T3Jh=W0I@<9T$d29 z=`7}89%CJdIzvcB1F)DFNC2S!Q}n|?5_Xe6@yAL7P~*mHl)hA?=Si~aBs`#G`T89f z;CU6!LbIIp64;{JZPyHT~f3QAe*8i>Hd$_lkccHiE@zD1e$HkI*? zUe6dRWrS?>C@+9mMSXm7Tn4n&vhP1#8qSI#cF;Y6M8C$}6H1AULk}_DqA}!-3=c1B zN7FGQa!{NKqqxjj?_yX?LxXR(Zsh@Ve8}en=$;(qc^zOPxJEm)Mn#}ERO3OtI}VhO z)gu}Ml|f(E?f{guj+9`%v5yp_4A5vuAOSugHfl0bZ%-YHC$U&*+q;)o^zOv&GRydi zl@3M?>z zvle=M9Xm4ygIz&Rx?bMEx4AtJ?Cj6Jv>i4f9ii7^Q*l`W_H+rI9oc)qbtT`vdw*yM zis7+rBb(ds4XmsX3PR2)M^a*Mp)0)gi2&h~cnRH7Dfdut~(BV2M8i`D7ju9ni*H!+E&T(vuz7_a`2 zNiOr?560GXSb;*~(Q)eFwzPPux`lFuy+1(|>n-LcKWS(F5fIU^*a3Y}ptXsUunuE( z8}ISZs^b#^V$g!RL>-2`AdCVm;rRz1KG5@B!@$nVQGBq+Ow;`k#Tg#1w6l>Fibl7| z^M?x`502^DJKpe*IQ2*E%`?S%pK>gcDyp;*TwQH*jU!99 z!aol*seq3^E`W5V_)*`_1D9Uu#(&G7u{*z3GdfU0=x@o;-(A*m+EVh#(D^uvs^Tq! zzlIebd?=*UW`?Eil^7vdJ;2&#H~fOVl0c zJuj91j|ILnH6RI2sC^HnZ0cR=z@HS;BAvpiZ5pbWnq{o*0q>YUZl_F)3=ER5)z=0A0}mUsIacv4~L0wMV~4Sv=DQ-ju=QrG7K8}Id=ZlVBi!_PXVYrrObct`$z5p0il_u^KRyUw0d(LZ$i~k&KgZX zDp%(`Z=k&@LGqYm^6(8$g20LLb&SLx-7r3^miG)bsI`H`TikbwbZ69Ul~GKnx~P>t z!Vln_6tx@v0fzn zwR`c8KcIm5d2ThZN1%L9uKS=^hsBJStnd+55#cPNQU2fG{7)y55S-Sped+;ENl9a5 z`K8@~S)IjCNf_a7zR3D()AM@0P3LMcS0VjZ!+)_i0sh)sy0nYGaikm`o^=!ARnV{J z;RSe7g6B7m36sr95=he61#s>s?8V3Ga9xaeSv{mV>zs?{6K;R#ZpkLd8_Y5)Y zx}&VZKb`Y^4>17&3NQHbujM_Y1g)E_1Sfu*%TF61Vq(}SO6l)M|7SKfL%@?A!&H2~ z$yg9*{WQe?r((VZNrWLtQB_!(pAA#jnOIKv0 U*???F`~&#ikyVsINEvwlAJ{{;ivR!s diff --git a/assets/images/help/projects/project-view-switch.gif b/assets/images/help/projects/project-view-switch.gif index db7eeac72a9a4aa2f4ea77bcb7c547b8b617424c..887174b63092337cabb119bca553e1acc739089a 100644 GIT binary patch literal 445262 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

I9k=V*Xi*vxOeKQYek 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