From 89c07cd218611b3591db90e34a5dce06e86b8b7f Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 7 Oct 2024 03:37:51 -0400 Subject: [PATCH 01/19] Update audit log event data (#52542) --- src/audit-logs/data/fpt/organization.json | 5 +++++ src/audit-logs/data/ghec/enterprise.json | 5 +++++ src/audit-logs/data/ghec/organization.json | 5 +++++ src/audit-logs/data/ghes-3.15/organization.json | 5 +++++ src/audit-logs/lib/config.json | 2 +- 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/audit-logs/data/fpt/organization.json b/src/audit-logs/data/fpt/organization.json index 8d5632358e0f..8d75de024fa1 100644 --- a/src/audit-logs/data/fpt/organization.json +++ b/src/audit-logs/data/fpt/organization.json @@ -3024,6 +3024,11 @@ "description": "A secret scanning alert was reopened.", "docs_reference_links": "N/A" }, + { + "action": "secret_scanning_alert.report", + "description": "A leaked secret was reported to the secret's provider by secret scanning.", + "docs_reference_links": "/code-security/secret-scanning/managing-alerts-from-secret-scanning/resolving-alerts" + }, { "action": "secret_scanning_alert.resolve", "description": "A secret scanning alert was resolved.", diff --git a/src/audit-logs/data/ghec/enterprise.json b/src/audit-logs/data/ghec/enterprise.json index 878ab3411fc3..88ac2f9f49c7 100644 --- a/src/audit-logs/data/ghec/enterprise.json +++ b/src/audit-logs/data/ghec/enterprise.json @@ -3769,6 +3769,11 @@ "description": "A secret scanning alert was reopened.", "docs_reference_links": "N/A" }, + { + "action": "secret_scanning_alert.report", + "description": "A leaked secret was reported to the secret's provider by secret scanning.", + "docs_reference_links": "/code-security/secret-scanning/managing-alerts-from-secret-scanning/resolving-alerts" + }, { "action": "secret_scanning_alert.resolve", "description": "A secret scanning alert was resolved.", diff --git a/src/audit-logs/data/ghec/organization.json b/src/audit-logs/data/ghec/organization.json index 8d5632358e0f..8d75de024fa1 100644 --- a/src/audit-logs/data/ghec/organization.json +++ b/src/audit-logs/data/ghec/organization.json @@ -3024,6 +3024,11 @@ "description": "A secret scanning alert was reopened.", "docs_reference_links": "N/A" }, + { + "action": "secret_scanning_alert.report", + "description": "A leaked secret was reported to the secret's provider by secret scanning.", + "docs_reference_links": "/code-security/secret-scanning/managing-alerts-from-secret-scanning/resolving-alerts" + }, { "action": "secret_scanning_alert.resolve", "description": "A secret scanning alert was resolved.", diff --git a/src/audit-logs/data/ghes-3.15/organization.json b/src/audit-logs/data/ghes-3.15/organization.json index 892cc765abc7..008606185937 100644 --- a/src/audit-logs/data/ghes-3.15/organization.json +++ b/src/audit-logs/data/ghes-3.15/organization.json @@ -2994,6 +2994,11 @@ "description": "A secret scanning alert was reopened.", "docs_reference_links": "N/A" }, + { + "action": "secret_scanning_alert.report", + "description": "A leaked secret was reported to the secret's provider by secret scanning.", + "docs_reference_links": "/code-security/secret-scanning/managing-alerts-from-secret-scanning/resolving-alerts" + }, { "action": "secret_scanning_alert.resolve", "description": "A secret scanning alert was resolved.", diff --git a/src/audit-logs/lib/config.json b/src/audit-logs/lib/config.json index 5d40cb6aa2f2..6d0638335f52 100644 --- a/src/audit-logs/lib/config.json +++ b/src/audit-logs/lib/config.json @@ -3,5 +3,5 @@ "apiOnlyEvents": "This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", "apiRequestEvent": "This event is only available via audit log streaming." }, - "sha": "3a21b2ac13997a590ad1a9b1a9f3f86109c3525e" + "sha": "80525072bb4d34946c5f2c182cd746effa36a25d" } \ No newline at end of file From a5a9b346d6c24c8641d380c3753c932fedac0232 Mon Sep 17 00:00:00 2001 From: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:40:23 +0100 Subject: [PATCH 02/19] Fix lots of git-scm links (#52523) --- .../removing-sensitive-data-from-a-repository.md | 4 ++-- .../configuring-git-to-handle-line-endings.md | 4 ++-- .../managing-remote-repositories.md | 2 +- .../setting-your-username-in-git.md | 2 +- content/get-started/using-git/about-git-rebase.md | 4 ++-- .../using-git/getting-changes-from-a-remote-repository.md | 2 +- .../using-git/pushing-commits-to-a-remote-repository.md | 2 +- .../what-are-the-differences-between-subversion-and-git.md | 4 ++-- .../using-submodules-with-github-pages.md | 2 +- .../changing-a-commit-message.md | 2 +- .../commit-exists-on-github-but-not-in-my-local-clone.md | 6 +++--- .../releasing-projects-on-github/about-releases.md | 2 +- 12 files changed, 18 insertions(+), 18 deletions(-) diff --git a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md index 241c1ce56ce4..4c80bd3f5270 100644 --- a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md +++ b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md @@ -186,7 +186,7 @@ After using either the BFG tool or `git filter-repo` to remove the sensitive dat {% endif %} -1. Tell your collaborators to [rebase](https://git-scm.com/book/en/Git-Branching-Rebasing), _not_ merge, any branches they created off of your old (tainted) repository history. One merge commit could reintroduce some or all of the tainted history that you just went to the trouble of purging. +1. Tell your collaborators to [rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing), _not_ merge, any branches they created off of your old (tainted) repository history. One merge commit could reintroduce some or all of the tainted history that you just went to the trouble of purging. 1. If you used `git filter-repo`, you can skip this step. @@ -219,5 +219,5 @@ There are a few simple tricks to avoid committing things you don't want committe ## Further reading * [`git filter-repo` man page](https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html) -* [Pro Git: Git Tools - Rewriting History](https://git-scm.com/book/en/Git-Tools-Rewriting-History) +* [Pro Git: Git Tools - Rewriting History](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History) * "[AUTOTITLE](/code-security/secret-scanning/introduction/about-secret-scanning)" 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 ad92835faeef..5a46547226dc 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 @@ -138,7 +138,7 @@ To ensure that all the line endings in your repository match your new configurat ## Further reading -* [Customizing Git - Git Attributes](https://git-scm.com/book/en/Customizing-Git-Git-Attributes) in the Pro Git book +* [Customizing Git - Git Attributes](https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes) in the Pro Git book * [git-config](https://git-scm.com/docs/git-config) in the man pages for Git -* [Getting Started - First-Time Git Setup](https://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup) in the Pro Git book +* [Getting Started - First-Time Git Setup](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) in the Pro Git book * [Mind the End of Your Line](http://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/) by [Tim Clem](https://github.com/tclem) 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 755e90f52fdc..6fdab1b6af26 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 @@ -248,4 +248,4 @@ Check that you've correctly typed the remote name. ## Further reading -* ["Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes) +* ["Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes) 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 27f8dd3f36ce..5d39fcc17de5 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 @@ -57,4 +57,4 @@ Changing the name associated with your Git commits using `git config` will only ## Further reading * "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address)" -* ["Git Configuration" from the _Pro Git_ book](https://git-scm.com/book/en/Customizing-Git-Git-Configuration) +* ["Git Configuration" from the _Pro Git_ book](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration) diff --git a/content/get-started/using-git/about-git-rebase.md b/content/get-started/using-git/about-git-rebase.md index df0b98cadbd8..fd5f69289bdc 100644 --- a/content/get-started/using-git/about-git-rebase.md +++ b/content/get-started/using-git/about-git-rebase.md @@ -104,7 +104,7 @@ Breaking this information, from top to bottom, we see that: ## Further reading * "[AUTOTITLE](/get-started/using-git/using-git-rebase-on-the-command-line)" -* [The "Git Branching" chapter from the _Pro Git_ book](https://git-scm.com/book/en/Git-Branching-Rebasing) -* [The "Interactive Rebasing" chapter from the _Pro Git_ book](https://git-scm.com/book/en/Git-Tools-Rewriting-History#_changing_multiple) +* [The "Git Branching" chapter from the _Pro Git_ book](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) +* [The "Interactive Rebasing" chapter from the _Pro Git_ book](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_changing_multiple) * "[Squashing commits with rebase](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)" * "[AUTOTITLE](/desktop/working-with-your-remote-repository-on-github-or-github-enterprise/syncing-your-branch-in-github-desktop)" in the {% data variables.product.prodname_desktop %} documentation 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 d2aca2b65587..d1adc675f501 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 @@ -90,5 +90,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){% ifversion fpt or ghec %} +* ["Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes){% ifversion fpt or ghec %} * "[AUTOTITLE](/get-started/using-github/troubleshooting-connectivity-problems)"{% endif %} 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 4b1adc888cde..b877e466cd0b 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 @@ -112,7 +112,7 @@ For more information on working with forks, see "[AUTOTITLE](/pull-requests/coll ## Further reading -* [The "Remotes" chapter from the "Pro Git" book](https://git-scm.com/book/ch5-2.html) +* [The "Remotes" chapter from the "Pro Git" book](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes) * [`git remote` main page](https://git-scm.com/docs/git-remote.html) * "[AUTOTITLE](/get-started/getting-started-with-git/git-cheatsheet)" * "[AUTOTITLE](/get-started/getting-started-with-git/git-workflows)" diff --git a/content/get-started/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md b/content/get-started/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md index 88b449569d1b..2453eb049e99 100644 --- a/content/get-started/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md +++ b/content/get-started/working-with-subversion-on-github/what-are-the-differences-between-subversion-and-git.md @@ -49,7 +49,7 @@ A _subproject_ is a project that's developed and managed somewhere outside of yo In SVN, a subproject is called an _SVN external_. In Git, it's called a _Git submodule_. Although conceptually similar, Git submodules are not kept up-to-date automatically; you must explicitly ask for a new version to be brought into your project. -For more information, see "[Git Tools Submodules](https://git-scm.com/book/en/Git-Tools-Submodules)" in the Git documentation. +For more information, see "[Git Tools Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules)" in the Git documentation. ## Preserving history @@ -65,5 +65,5 @@ SVN is configured to assume that the history of a project never changes. Git all ## Further reading -* ["Branching and Merging" from the _Git SCM_ book](https://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging) +* ["Branching and Merging" from the _Git SCM_ book](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging) * "[AUTOTITLE](/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-a-subversion-repository)" 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 36fe771d85b7..bf9a213d7c4c 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 @@ -22,5 +22,5 @@ Use the `https://` read-only URL for your submodules, including nested submodule ## Further reading -* "[Git Tools - Submodules](https://git-scm.com/book/en/Git-Tools-Submodules)" from the _Pro Git_ book +* "[Git Tools - Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules)" from the _Pro Git_ book * "[AUTOTITLE](/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites)" diff --git a/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md b/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md index e7049d5ce04f..af2aea1662b2 100644 --- a/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md +++ b/content/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/changing-a-commit-message.md @@ -33,7 +33,7 @@ The new commit and message will appear on {% data variables.location.product_loc {% tip %} -You can change the default text editor for Git by changing the `core.editor` setting. For more information, see "[Basic Client Configuration](https://git-scm.com/book/en/Customizing-Git-Git-Configuration#_basic_client_configuration)" in the Git manual. +You can change the default text editor for Git by changing the `core.editor` setting. For more information, see "[Basic Client Configuration](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_basic_client_configuration)" in the Git manual. {% endtip %} diff --git a/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md b/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md index e9d8859ca2ea..e22125bc79a3 100644 --- a/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md +++ b/content/pull-requests/committing-changes-to-your-project/troubleshooting-commits/commit-exists-on-github-but-not-in-my-local-clone.md @@ -43,7 +43,7 @@ You can use `git fetch upstream` to get information from a repository you've for {% tip %} -**Tip**: For more information, read about [managing remotes and fetching data](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes) in the [Pro Git](https://git-scm.com/book) book. +**Tip**: For more information, read about [managing remotes and fetching data](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes) in the [Pro Git](https://git-scm.com/book) book. {% endtip %} @@ -87,5 +87,5 @@ Avoid force pushing to a repository unless absolutely necessary. This is especia ## Further reading -* ["Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/Git-Basics-Working-with-Remotes) -* ["Data Recovery" from the _Pro Git_ book](https://git-scm.com/book/en/Git-Internals-Maintenance-and-Data-Recovery) +* ["Working with Remotes" from the _Pro Git_ book](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes) +* ["Data Recovery" from the _Pro Git_ book](https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery) diff --git a/content/repositories/releasing-projects-on-github/about-releases.md b/content/repositories/releasing-projects-on-github/about-releases.md index b2d7a41e6138..8253bf623b53 100644 --- a/content/repositories/releasing-projects-on-github/about-releases.md +++ b/content/repositories/releasing-projects-on-github/about-releases.md @@ -20,7 +20,7 @@ topics: Releases are deployable software iterations you can package and make available for a wider audience to download and use. -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 "[AUTOTITLE](/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags)." +Releases are based on [Git tags](https://git-scm.com/book/en/v2/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 "[AUTOTITLE](/repositories/releasing-projects-on-github/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 "[AUTOTITLE](/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions)." From b8adf7148682d46929b5f14fd956066b8067f1dc Mon Sep 17 00:00:00 2001 From: eden Date: Mon, 7 Oct 2024 08:41:16 +0100 Subject: [PATCH 03/19] Remove examples from intro (#52536) --- .../removing-sensitive-data-from-a-repository.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md index 4c80bd3f5270..6bb8c0fdef9f 100644 --- a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md +++ b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md @@ -1,6 +1,6 @@ --- title: Removing sensitive data from a repository -intro: 'If you commit sensitive data, such as a password or SSH key into a Git repository, you can remove it from the history.' +intro: 'If you commit sensitive data into a Git repository, you can remove it from the history.' redirect_from: - /remove-sensitive-data - /removing-sensitive-data From 1fd4ff15401554499b6937b4b5b79caff0f92446 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 7 Oct 2024 08:41:38 +0100 Subject: [PATCH 04/19] Document CodeQL Golang extractor options (#52487) Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> --- .../codeql-code-scanning-for-compiled-languages.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md index b001cc2bfe6e..2f93484ed8bb 100644 --- a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md +++ b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md @@ -417,6 +417,12 @@ The `autobuild` process attempts to autodetect a suitable way to install the dep {% endnote %} +### Extractor options for Go + +By default, test code (code in files ending in `_test.go`) is not analyzed. You can override this with the option `--extractor-option extract_tests=true` when using the {% data variables.product.prodname_codeql_cli %}, or by setting the environment variable `CODEQL_EXTRACTOR_GO_OPTION_EXTRACT_TESTS` to `true`. + +Additionally, `vendor` directories are excluded from {% data variables.product.prodname_codeql %} Go analysis by default. You can override this by passing the `--extractor-option extract_vendor_dirs=true` option when using the {% data variables.product.prodname_codeql_cli %}, or by setting the environment variable `CODEQL_EXTRACTOR_GO_OPTION_EXTRACT_VENDOR_DIRS` to `true`. + ## Building Java and Kotlin {% ifversion codeql-no-build %}{% data variables.product.prodname_codeql %} supports the following build modes. From 9d13e610078903d707da897d0234d944e600661e Mon Sep 17 00:00:00 2001 From: Chad Bentz <1760475+felickz@users.noreply.github.com> Date: Mon, 7 Oct 2024 03:52:42 -0400 Subject: [PATCH 05/19] Refactor removed list item, adding back (#52485) --- ...ring-advanced-setup-for-code-scanning-with-codeql-at-scale.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning-with-codeql-at-scale.md b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning-with-codeql-at-scale.md index 9990322f83c6..b0d97945169a 100644 --- a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning-with-codeql-at-scale.md +++ b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning-with-codeql-at-scale.md @@ -33,6 +33,7 @@ For repositories that are not eligible for default setup, you can use a bulk con 1. Use one of the example scripts or create a custom script to add the workflow to each repository in the group. * PowerShell example: [`jhutchings1/Create-ActionsPRs`](https://github.com/jhutchings1/Create-ActionsPRs) repository * NodeJS example: [`nickliffen/ghas-enablement`](https://github.com/NickLiffen/ghas-enablement) repository + * Python example: [`Malwarebytes/ghas-cli`](https://github.com/Malwarebytes/ghas-cli) repository {% ifversion codeql-model-packs-org %} From 9940ab2b9576962bd84966a7ecc97e7e4bea102b Mon Sep 17 00:00:00 2001 From: Anne-Marie <102995847+am-stead@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:54:19 +0100 Subject: [PATCH 06/19] [Fast follow] Secret scanning renaming secondary inbox to 'experimental' (previously 'other') [GA] (#52537) --- .../secret-scanning-default-alert-view.png | Bin 0 -> 110858 bytes .../viewing-alerts.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 assets/images/help/security/secret-scanning-default-alert-view.png diff --git a/assets/images/help/security/secret-scanning-default-alert-view.png b/assets/images/help/security/secret-scanning-default-alert-view.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc7f7f309ff712127e4ab97547f1df16c081ff0 GIT binary patch literal 110858 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 Date: Mon, 7 Oct 2024 08:58:41 +0100 Subject: [PATCH 07/19] Adds content explaining different flags used for C# analysis (#52484) Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> --- ...ql-code-scanning-for-compiled-languages.md | 20 ++++++++++++++ .../c-sharp-compiler-unexpectedly-failing.md | 26 +++++++++++++++++++ .../troubleshooting-code-scanning/index.md | 1 + 3 files changed, 47 insertions(+) create mode 100644 content/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing.md diff --git a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md index 2f93484ed8bb..4231fa5d9e95 100644 --- a/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md +++ b/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md @@ -349,6 +349,26 @@ You can ensure a more accurate analysis by taking the following steps: | Operating system | Windows, macOS, and Linux | | Build system | .NET and MSbuild, as well as build scripts | +### C# compiler flags injected by {% data variables.product.prodname_codeql %} + +>[!NOTE] The following compiler flags only apply if you're using build mode `manual`. + +The {% data variables.product.prodname_codeql %} tracer enables the extraction of all compiled languages by intercepting build processes and forwarding information to the relevant {% data variables.product.prodname_codeql %} language extractors. The tracer injects certain flags into the C# compiler invocation to ensure every component is built and included in the {% data variables.product.prodname_codeql %} database, which may cause your C# code to build in a different way to what you expect during {% data variables.product.prodname_codeql %} analysis. + +#### `/p:MvcBuildViews=true` + +When this option is set to `true`, the views in ASP.NET model-view-controller (MVC) projects are precompiled as part of the build process, which can help to catch errors and improve performance. The tracer injects this flag to make sure {% data variables.product.prodname_codeql %} finds and highlights security issues that may involve dataflow through the code generated from these views. For more information, see "[Adding a View to an MVC Application](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/adding-a-view)" in Microsoft Learn. + +#### `/p:UseSharedCompilation=false` + +Setting this option to `false` disables the use of the shared compilation feature, which may result in slower build times. When `/p:UseSharedCompilation=false` is **not** specified, `msbuild` starts a compiler server process, and all the compilation will be done by that single process. However, the {% data variables.product.prodname_codeql %} tracer depends on inspecting the arguments of newly created processes. + +#### `/p:EmitCompilerGeneratedFiles=true` + +Setting this option to `true` will emit compiler-generated files during the build process. This option causes the compiler to generate additional source files that are used to support features such as improved regular expression support, serialization, and web application view generation. These generated artifacts are typically not written to disk by the compiler, but setting the option to `true` forces writing the files to disk, and so the extractor can process the files. + +For some legacy projects, and projects that use `.sqlproj` files, you may see that the injected `/p:EmitCompilerGeneratedFiles=true` property causes unexpected issues with `msbuild`. For information about troubleshooting this, see "[AUTOTITLE](/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing)." + ### Windows autodetection The `autobuild` process attempts to autodetect a suitable build method for C# using the following approach: diff --git a/content/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing.md b/content/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing.md new file mode 100644 index 000000000000..240e0a38fc39 --- /dev/null +++ b/content/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing.md @@ -0,0 +1,26 @@ +--- +title: 'C# compiler unexpectedly failing' +shortTitle: 'C# compiler failing' +allowTitleToDifferFromFilename: true +intro: 'If your MSBuild C# compilation is unexpectedly failing, you may need to amend your application project file.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +--- + +## About these errors + +The {% data variables.product.prodname_codeql %} tracer injects some flags into the C# compiler invocation to ensure every component is built and included in the {% data variables.product.prodname_codeql %} database, which may cause your C# code to build differently to what you expect during {% data variables.product.prodname_codeql %} analysis. See "[AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages)." + +`/p:EmitCompilerGeneratedFiles=true` is one of the injected properties, and emits compiler-generated files during the build process. This option causes the compiler to generate additional files that are used to support features such as improved regular expression support, serialization, and web application view generation. These generated artifacts are typically not written to disk by the compiler, but setting the option to `true` forces writing the files to disk, and so the extractor can process the files. + +For some legacy projects, and projects that use `.sqlproj` files, you may see that the injected `/p:EmitCompilerGeneratedFiles=true` property causes unexpected issues with `msbuild`. + +## Confirming the cause of the problem + +If you have set the "treat warnings as errors" flag, then `msbuild` will produce an error, which will cause the extraction to fail. + +## Fixing the problem + +You should add the `` element to the application's project file. For more information, see "[Understanding the project file](https://learn.microsoft.com/en-us/aspnet/web-forms/overview/deployment/web-deployment-in-the-enterprise/understanding-the-project-file)" in Microsoft Learn. diff --git a/content/code-security/code-scanning/troubleshooting-code-scanning/index.md b/content/code-security/code-scanning/troubleshooting-code-scanning/index.md index 9b771f93c55e..29c76568c830 100644 --- a/content/code-security/code-scanning/troubleshooting-code-scanning/index.md +++ b/content/code-security/code-scanning/troubleshooting-code-scanning/index.md @@ -19,6 +19,7 @@ children: - /alerts-in-generated-code - /analysis-takes-too-long - /automatic-build-failed + - /c-sharp-compiler-unexpectedly-failing - /cannot-enable-codeql-in-a-private-repository - /default-setup-fails-with-a-language - /enabling-default-setup-takes-too-long From 543abb3fb962eb45e15056faf4f99a10cb61ff4b Mon Sep 17 00:00:00 2001 From: Sophie <29382425+sophietheking@users.noreply.github.com> Date: Mon, 7 Oct 2024 10:18:10 +0200 Subject: [PATCH 08/19] Enterprise bug fix hour for week of September 23, 2024 (#52477) --- .../saml-configuration-reference.md | 9 +-------- .../adding-organization-members-to-a-team.md | 4 +++- data/reusables/enterprise_management_console/privacy.md | 2 +- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md b/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md index 35b2c3669982..267a32d70de4 100644 --- a/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md +++ b/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md @@ -140,11 +140,4 @@ If you define a customized session duration value less than 24 hours, {% data va To prevent authentication errors, we recommend a minimum session duration of 4 hours. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/troubleshooting-saml-authentication#users-are-repeatedly-redirected-to-authenticate)." {% endif %} -{% note %} - -**Notes**: - -* For Microsoft Entra ID (previously known as Azure AD), the configurable lifetime policy for SAML tokens does not control session timeout for {% data variables.product.product_name %}. -* Okta does not currently send the `SessionNotOnOrAfter` attribute during SAML authentication with {% data variables.product.product_name %}. For more information, contact Okta. - -{% endnote %} +>[!NOTE] For Microsoft Entra ID (previously known as Azure AD), the configurable lifetime policy for SAML tokens does not control session timeout for {% data variables.product.product_name %}. 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 b3636e2121a5..b382e81644e5 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 @@ -43,7 +43,9 @@ shortTitle: Add members to a team ## Mapping teams to LDAP groups (for instances using LDAP Sync for user authentication) -A team that's [synced to an LDAP group](/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync) is indicated with a special LDAP badge. The member list for an LDAP synced team can only be managed from the LDAP group it's mapped to. +You can create a team with LDAP Sync enabled. See "[AUTOTITLE](/organizations/organizing-members-into-teams/creating-a-team#creating-teams-with-ldap-sync-enabled)." + +A team that's synced to an LDAP group is indicated with a special LDAP badge. The member list for an LDAP synced team can only be managed from the LDAP group it's mapped to. See "[AUTOTITLE](/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync)." To add a new member to a team synced to an LDAP group, add the user as a member of the LDAP group, or contact your LDAP administrator. diff --git a/data/reusables/enterprise_management_console/privacy.md b/data/reusables/enterprise_management_console/privacy.md index 625bd02c88e3..f7de58c0a47f 100644 --- a/data/reusables/enterprise_management_console/privacy.md +++ b/data/reusables/enterprise_management_console/privacy.md @@ -1 +1 @@ -1. In the "Settings" sidebar, click **Privacy**. +1. In the "Settings" sidebar, click **Privacy** and uncheck **Privacy mode**. From b786e9d0a6dda4baa84472dfbd50a9d448656324 Mon Sep 17 00:00:00 2001 From: Andrew Eisenberg Date: Mon, 7 Oct 2024 01:18:59 -0700 Subject: [PATCH 09/19] Update setting up CodeQL docs (#52436) --- .../setting-up-the-codeql-cli.md | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli.md b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli.md index c95802d62d89..2d3bb67f517f 100644 --- a/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli.md +++ b/content/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli.md @@ -64,39 +64,41 @@ Extract the {% data variables.product.prodname_codeql_cli %} tar archive to a di After you extract the {% data variables.product.prodname_codeql_cli %} bundle, you can run the following command to verify that the CLI is correctly configured to create and analyze databases: -* `codeql resolve qlpacks` if `//codeql` is on the `PATH`. -* `//codeql/codeql resolve qlpacks` otherwise. +* `codeql resolve packs` if `//codeql` is on the `PATH`. +* `//codeql/codeql resolve packs` otherwise. -You should see output similar to the extract below, if successful: +If successful, you should see output similar to the extract below: ```shell -codeql/cpp-all (//qlpacks/codeql/cpp-all/) -codeql/cpp-examples (//qlpacks/codeql/cpp-examples/) -codeql/cpp-queries (//qlpacks/codeql/cpp-queries/) -codeql/csharp-all (//qlpacks/codeql/charp-all/) -codeql/csharp-examples (//qlpacks/codeql/charp-examples/) -codeql/csharp-queries (//qlpacks/codeql/charp-queries/) -codeql/java-all (//qlpacks/codeql/java-all/) -codeql/java-examples (//qlpacks/codeql/java-examples/) -codeql/java-queries (//qlpacks/codeql/java-queries/) -codeql/javascript-all (//qlpacks/codeql/javascript-all/) -codeql/javascript-examples (//qlpacks/codeql/javascript-examples/) -codeql/javascript-queries (//qlpacks/codeql/javascript-queries/) -codeql/python-all (//qlpacks/codeql/python-all/) -codeql/python-examples (//qlpacks/codeql/python-examples/) -codeql/python-queries (//qlpacks/codeql/python-queries/) -codeql/ruby-all (//qlpacks/codeql/ruby-all/) -codeql/ruby-examples (//qlpacks/codeql/ruby-examples/) -codeql/ruby-queries (//qlpacks/codeql/ruby-queries/) +Searching directories specified by `--additional-packs`. All directories have equal priority. + Searching in: + No packs were found at this location. +Searching directories specified by `--search-path`. Directories are searched in order. +Searching the root of the CodeQL distribution. + Searching in: + + The following packs were found: + codeql/java-all@: (library) /qlpacks/codeql/javat-all//qlpack.yml + codeql/java-queries@: (query) /qlpacks/codeql/java-queries//qlpack.yml + codeql/javascript-all@: (library) /qlpacks/codeql/javascript-all//qlpack.yml + codeql/javascript-queries@: (query) /qlpacks/codeql/javascript-queries//qlpack.yml + codeql/swift-all@: (library) /qlpacks/codeql/swift-all//qlpack.yml + codeql/swift-queries@: (query) /qlpacks/codeql/swift-queries//qlpack.yml ... ``` +The results have been truncated for brevity. The actual results will be longer and more detailed. + You should check that the output contains the expected languages and also that the directory location for the qlpack files is correct. The location should be within the extracted {% data variables.product.prodname_codeql_cli %} bundle, shown in the earlier example as ``. If the {% data variables.product.prodname_codeql_cli %} is unable to locate the qlpacks for the expected languages, check that you downloaded the {% data variables.product.prodname_codeql %} bundle and not a standalone copy of the {% data variables.product.prodname_codeql_cli %}. You can also run `codeql resolve languages` to show which languages are available for database creation. This will list the languages supported by default in your {% data variables.product.prodname_codeql_cli %} package. Optionally, you can download some CodeQL packs containing pre-compiled queries you would like to run. For more information, see "[AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs)." +The `codeql resolve packs` command is useful for diagnosing problems when the {% data variables.product.prodname_codeql_cli %} is unable to locate query packs that you expect to be available for analysis. + +>[!NOTE] The `codeql resolve packs` command is available in the {% data variables.product.prodname_codeql_cli %} versions 2.19.0 and later. For earlier versions of the CLI, you should run the `codeql resolve qlpacks` command, which produces similar, but less detailed output. + ## Next steps To learn how to prepare your code to be analyzed by the {% data variables.product.prodname_codeql_cli %}, see "[AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis)." From a10cd727d140863574a10a0950263d6e8189909f Mon Sep 17 00:00:00 2001 From: Sophie <29382425+sophietheking@users.noreply.github.com> Date: Mon, 7 Oct 2024 10:20:18 +0200 Subject: [PATCH 10/19] [Improvement]: Add step to Copilot cancellation flow on configuring policies (#52460) Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> --- data/reusables/copilot/disable-copilot-organization.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/data/reusables/copilot/disable-copilot-organization.md b/data/reusables/copilot/disable-copilot-organization.md index ff5730b4cd1c..6ccaba32fc9c 100644 --- a/data/reusables/copilot/disable-copilot-organization.md +++ b/data/reusables/copilot/disable-copilot-organization.md @@ -1,5 +1,8 @@ {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} 1. In the "Code planning, and automation" section of the sidebar, click **{% octicon "copilot" aria-hidden="true" %} {% data variables.product.prodname_copilot_short %}**, and then click **Access**. + + >[!IMPORTANT] If you have not configured all policies for {% data variables.product.prodname_copilot_short %}, you will not be able to complete the following steps. If that is the case, click **Go to policies** and ensure all policies are configured before proceeding. + 1. Under {% ifversion ghec %}"{% data variables.product.prodname_copilot_enterprise_short %} is active in your organization" or {% endif %}"{% data variables.product.prodname_copilot_business_short %} is active in your organization," to revoke {% data variables.product.prodname_copilot %} access for all users in your organization, select **Disabled**. -1. In the "Remove Copilot access" dialog, click **Confirm and remove seats**. +1. In the "Remove {% data variables.product.prodname_copilot_short %} access" dialog, click **Confirm and remove seats**. From 172df952d13eae447069342a0fec3285aceadd0c Mon Sep 17 00:00:00 2001 From: vaindil Date: Mon, 7 Oct 2024 04:25:09 -0400 Subject: [PATCH 11/19] Fix pull request review wording (#52315) Co-authored-by: Joy <105074214+ArcticEagL@users.noreply.github.com> --- data/reusables/repositories/request-changes-tips.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/reusables/repositories/request-changes-tips.md b/data/reusables/repositories/request-changes-tips.md index 1c058e294e20..2088eb6e0cec 100644 --- a/data/reusables/repositories/request-changes-tips.md +++ b/data/reusables/repositories/request-changes-tips.md @@ -1,7 +1,7 @@ {% tip %} **Tips**: -* If a collaborator with `admin`, `owner`, or `write` access to the repository submits a review requesting changes, the pull request cannot be merged until the same collaborator submits another review approving the changes in the pull request. +* The **Request changes** option is purely informational and will not prevent merging unless a ruleset or classic branch protection rule is configured with the "require a pull request" option. If configured and a collaborator with `admin`, `owner`, or `write` access to the repository submits a review requesting changes, the pull request cannot be merged until the same collaborator submits another review approving the changes in the pull request. * Repository owners and administrators can merge a pull request even if it hasn't received an approving review, or if a reviewer who requested changes has left the organization or is unavailable. * If both required reviews and stale review dismissal are enabled and a code-modifying commit is pushed to the branch of an approved pull request, the approval is dismissed. The pull request must be reviewed and approved again before it can be merged. * When several open pull requests each have a head branch pointing to the same commit, you won’t be able to merge them if one or both have a pending or rejected review. From 7454d17710fc42561ef8d1b0643fc5ef5b630bac Mon Sep 17 00:00:00 2001 From: Gaurav Ketkar <9720857+gaurav-ketkar@users.noreply.github.com> Date: Mon, 7 Oct 2024 01:25:31 -0700 Subject: [PATCH 12/19] Update viewing-and-updating-support-tickets.md (#52533) --- .../viewing-and-updating-support-tickets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/support/contacting-github-support/viewing-and-updating-support-tickets.md b/content/support/contacting-github-support/viewing-and-updating-support-tickets.md index 72721cffa1fa..c5c6323022a7 100644 --- a/content/support/contacting-github-support/viewing-and-updating-support-tickets.md +++ b/content/support/contacting-github-support/viewing-and-updating-support-tickets.md @@ -16,7 +16,7 @@ topics: {% data reusables.support.zendesk-old-tickets %} -You can use the {% data variables.contact.contact_landing_page_portal %} to view current and past support tickets and respond to {% data variables.contact.github_support %}. After 120 days, resolved tickets are archived{% ifversion ghec or ghes %}, and archived tickets can only be viewed for enterprise accounts{% endif %}. +You can use the {% data variables.contact.contact_landing_page_portal %} to view current and past support tickets and respond to {% data variables.contact.github_support %}. After 120 days, resolved tickets are archived, and archived tickets can only be viewed for enterprise accounts. Your capabilities in the {% data variables.contact.landing_page_portal %} depend on the account you select when you submit a ticket.{% ifversion ghes or ghec %} If you select an enterprise account, your role in the enterprise also affects your capabilities. From 351608617bc2de1890f06096a1ff68dab3cfec29 Mon Sep 17 00:00:00 2001 From: Steve-Glass <84886334+Steve-Glass@users.noreply.github.com> Date: Mon, 7 Oct 2024 04:25:40 -0400 Subject: [PATCH 13/19] remove supported region and update NSG template (#52399) Co-authored-by: Felicity Chapman --- .../actions/azure-vnet-procedures-prereqs.md | 12 ------------ .../actions/azure-vnet-supported-regions.md | 3 --- 2 files changed, 15 deletions(-) diff --git a/data/reusables/actions/azure-vnet-procedures-prereqs.md b/data/reusables/actions/azure-vnet-procedures-prereqs.md index 3354efe0324c..b17cab8b3d02 100644 --- a/data/reusables/actions/azure-vnet-procedures-prereqs.md +++ b/data/reusables/actions/azure-vnet-procedures-prereqs.md @@ -213,18 +213,6 @@ You will use a script to automate configuring your Azure resources. destinationAddressPrefixes: [] } } - { - name: 'DenyInternetOutBoundOverwrite' - properties: { - protocol: '*' - sourcePortRange: '*' - destinationPortRange: '*' - sourceAddressPrefix: '*' - destinationAddressPrefix: 'Internet' - access: 'Deny' - priority: 400 - direction: 'Outbound' - } } ] } diff --git a/data/reusables/actions/azure-vnet-supported-regions.md b/data/reusables/actions/azure-vnet-supported-regions.md index 1dc5667bb260..021a96bf7742 100644 --- a/data/reusables/actions/azure-vnet-supported-regions.md +++ b/data/reusables/actions/azure-vnet-supported-regions.md @@ -7,7 +7,6 @@ The {% data variables.product.prodname_actions %} service supports a subset of a
  • WestUs3
  • CentralUs
  • NorthCentralUs
  • -
  • SouthCentralUs
  • AustraliaEast
  • JapanEast
  • FranceCentral
  • @@ -25,7 +24,6 @@ Azure private networking supports GPU runners in the following regions. * `EastUs` * `WestUs` * `NorthCentralUs` -* `SouthCentralUs` Azure private networking supports arm64 runners in the following regions. @@ -34,6 +32,5 @@ Azure private networking supports arm64 runners in the following regions. * `WestUs2` * `WestUs3` * `NorthCentralUs` -* `SouthCentralUs` If your desired region is not supported, please submit a request for new region availability in [this GitHub form](https://resources.github.com/private-networking-for-github-hosted-runners-with-azure-virtual-networks/). You may also use global virtual network peering to connect virtual networks across Azure regions. For more information, see [Virtual network peering](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview) in the Azure documentation. From 566209cddae3a5e619cee6ed128573b2ce7b83f5 Mon Sep 17 00:00:00 2001 From: Dan Hardej Date: Mon, 7 Oct 2024 16:25:47 +0800 Subject: [PATCH 14/19] Add gated feature conditions for artefact attestations (#52285) Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> --- ...g-artifact-attestations-to-establish-provenance-for-builds.md | 1 + data/reusables/gated-features/attestations.md | 1 + 2 files changed, 2 insertions(+) create mode 100644 data/reusables/gated-features/attestations.md diff --git a/content/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds.md b/content/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds.md index 2c998f276042..a0fa57db6d49 100644 --- a/content/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds.md +++ b/content/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds.md @@ -1,6 +1,7 @@ --- title: Using artifact attestations to establish provenance for builds intro: Artifact attestations enable you to increase the supply chain security of your builds by establishing where and how your software was built. +product: '{% data reusables.gated-features.attestations %}' versions: fpt: '*' ghec: '*' diff --git a/data/reusables/gated-features/attestations.md b/data/reusables/gated-features/attestations.md new file mode 100644 index 000000000000..d84e777be5cb --- /dev/null +++ b/data/reusables/gated-features/attestations.md @@ -0,0 +1 @@ +Artifact attestations are available in public repositories for all current {% data variables.product.prodname_dotcom %} plans. They are not available on legacy plans, such as Bronze, Silver, or Gold. {% ifversion fpt %}If you are on a {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, or {% data variables.product.prodname_team %} plan, artefact attestations are only available for public repositories. To use artifact attestations in private or internal repositories, you must be on a {% data variables.product.prodname_ghe_cloud %} plan. {% endif %} From 68435ebcd9e46cf117219be83db26ca1fc0c752d Mon Sep 17 00:00:00 2001 From: chiph Date: Mon, 7 Oct 2024 03:26:18 -0500 Subject: [PATCH 15/19] Add instructions for site admins - removal of sensitive data on GHES (#49238) Co-authored-by: hubwriter Co-authored-by: Felicity Chapman Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> --- ...moving-sensitive-data-from-a-repository.md | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md index 6bb8c0fdef9f..255c201ccab9 100644 --- a/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md +++ b/content/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository.md @@ -180,7 +180,7 @@ To illustrate how `git filter-repo` works, we'll show you how to remove your fil After using either the BFG tool or `git filter-repo` to remove the sensitive data and pushing your changes to {% data variables.product.product_name %}, you must take a few more steps to fully remove the data from {% data variables.product.product_name %}. -1. Contact {% data variables.contact.contact_support %}, and ask to remove cached views and references to the sensitive data in pull requests on {% data variables.product.product_name %}. Please provide the name of the repository and/or a link to the commit you need removed.{% ifversion ghes %} For more information about how site administrators can remove unreachable Git objects, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-repo-gc)."{% endif %}{% ifversion fpt or ghec %} +1. Contact {% data variables.contact.contact_support %}, and ask to remove cached views and references to the sensitive data in pull requests on {% data variables.product.product_name %}. Please provide the name of the repository and/or a link to the commit you need removed.{% ifversion ghes %} For more information about how site administrators can remove unreachable Git objects, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-repo-gc)." For more information about how site administrators can identify reachable commits, see "[Identifying reachable commits](#identifying-reachable-commits)."{% endif %}{% ifversion fpt or ghec %} > [!IMPORTANT] {% data variables.contact.github_support %} won't remove non-sensitive data, and will only assist in the removal of sensitive data in cases where we determine that the risk can't be mitigated by rotating affected credentials. @@ -204,6 +204,44 @@ After using either the BFG tool or `git filter-repo` to remove the sensitive dat > [!NOTE] You can also achieve this by pushing your filtered history to a new or empty repository and then making a fresh clone from {% data variables.product.product_name %}. +{% ifversion ghes %} + +## Identifying reachable commits + +To fully remove unwanted or sensitive data from a repository, the commit that first introduced the data needs to be completely unreferenced in branches, tags, pull requests, and forks. A single reference anywhere will prevent garbage collection from being able to purge the data completely. + +You can check for existing references by using the following commands when connected to the appliance via SSH. You'll need the SHA of the commit that originally introduced the sensitive data. + +```shell +ghe-repo OWNER/REPOSITORY -c 'git ref-contains COMMIT_SHA_NUMBER' +ghe-repo OWNER/REPOSITORY -c 'cd ../network.git && git ref-contains COMMIT_SHA_NUMBER' +``` + +If either of those commands return any results, you'll need to remove those references before the commit can be successfully garbage collected. The second command will identify references that exist in forks of the repository (if the repository has no forks, you may skip running it). + +* Results beginning with `refs/heads/` or `refs/tags/` indicate branches and tags respectively which still contain references to the offending commit, suggesting that the modified repository was not fully cleaned of the commit, or that it was not force-pushed. +* Results beginning with `refs/pull/` or `refs/__gh__/pull` indicate pull requests that reference the offending commit. These pull requests need to be deleted in order to allow the commit to be garbage collected. A pull request can be deleted in the site admin dashboard at `https://HOSTNAME/stafftools/repositories/OWNER/REPOSITORY/PULL_REQUESTS/`, replacing `` with the pull request number. + +If references are found in any forks, the results will look similar, but will start with `refs/remotes/NWO/`. To identify the fork by name, you can run the following command. + +```shell +ghe-nwo NWO +``` + +The same procedure using the BFG tool or `git filter-repo` can be used to remove the sensitive data from the repository's forks. Alternatively, the forks can be deleted altogether, and if needed, the repository can be re-forked once the cleanup of the root repository is complete. + +Once you have removed the commit's references, re-run the commands to double-check. + +If there are no results from either of the `ref-contains` commands, you can run garbage collection with the `--prune` flag to remove the unreferenced commits by running the following command. + +```shell +ghe-repo-gc -v --prune OWNER/REPOSITORY +``` + +Once garbage collection has successfully removed the commit, you'll want to browse to the repository's site admin dashboard at `https://HOSTNAME/stafftools/repositories/OWNER/REPOSITORY`, select **Network**, then click **Invalidate Git cache** to remove any cached data. + +{% endif %} + ## Avoiding accidental commits in the future Preventing contributors from making accidental commits can help you prevent sensitive information from being exposed. For more information see "[AUTOTITLE](/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization)." From 91da314d5424690a90e55be2832813853c67eeb5 Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Mon, 7 Oct 2024 09:26:30 +0100 Subject: [PATCH 16/19] Update the titles and introductions of code security transparency content to meet guidelines (#52495) --- .../introduction-to-code-scanning/about-code-scanning.md | 2 +- .../disabling-autofix-for-code-scanning.md | 2 +- .../code-scanning/managing-code-scanning-alerts/index.md | 2 +- .../managing-code-scanning-alerts-for-your-repository.md | 2 +- ...canning.md => responsible-use-autofix-code-scanning.md} | 6 ++++-- .../triaging-code-scanning-alerts-in-pull-requests.md | 4 ++-- .../secret-scanning/introduction/about-secret-scanning.md | 4 ++-- .../managing-alerts-from-secret-scanning/about-alerts.md | 2 +- .../managing-alerts-from-secret-scanning/viewing-alerts.md | 2 +- .../defining-custom-patterns-for-secret-scanning.md | 2 +- ...ting-regular-expressions-for-custom-patterns-with-ai.md | 2 +- .../custom-patterns/index.md | 2 +- ...ns-with-ai.md => responsible-use-ai-regex-generator.md} | 6 ++++-- .../enabling-ai-powered-generic-secret-detection.md | 2 +- .../generic-secret-detection/index.md | 2 +- ...ecret-scanning.md => responsible-ai-generic-secrets.md} | 7 +++++-- ...uring-global-security-settings-for-your-organization.md | 4 ++-- .../security-overview/viewing-security-insights.md | 6 +++--- 18 files changed, 33 insertions(+), 26 deletions(-) rename content/code-security/code-scanning/managing-code-scanning-alerts/{about-autofix-for-codeql-code-scanning.md => responsible-use-autofix-code-scanning.md} (97%) rename content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/{about-generating-regular-expressions-with-ai.md => responsible-use-ai-regex-generator.md} (92%) rename content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/{about-the-detection-of-generic-secrets-with-secret-scanning.md => responsible-ai-generic-secrets.md} (93%) diff --git a/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning.md b/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning.md index 9764a23a836f..cd63a6ff7ac4 100644 --- a/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning.md +++ b/content/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning.md @@ -29,7 +29,7 @@ If {% data variables.product.prodname_code_scanning %} finds a potential vulnera {% ifversion code-scanning-autofix %} -{% data variables.product.prodname_copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_codeql %} analysis in private repositories, allowing developers to prevent and reduce vulnerabilities with less effort. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning)." +{% data variables.product.prodname_copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_codeql %} analysis in private repositories, allowing developers to prevent and reduce vulnerabilities with less effort. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)." {% endif %} diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning.md b/content/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning.md index 1a0690d14ab6..b339f6a0426b 100644 --- a/content/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning.md +++ b/content/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning.md @@ -16,7 +16,7 @@ topics: ## About disabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %} -{% data variables.product.prodname_copilot_autofix %} is a {% data variables.product.prodname_copilot %}-powered is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts so they can avoid introducing new security vulnerabilities. To learn more about {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning)." +{% data variables.product.prodname_copilot_autofix %} is a {% data variables.product.prodname_copilot %}-powered is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts so they can avoid introducing new security vulnerabilities. To learn more about {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)." {% data reusables.rai.code-scanning.copilot-autofix-note %} diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/index.md b/content/code-security/code-scanning/managing-code-scanning-alerts/index.md index 9c35377af5d9..d0f0f9a74e77 100644 --- a/content/code-security/code-scanning/managing-code-scanning-alerts/index.md +++ b/content/code-security/code-scanning/managing-code-scanning-alerts/index.md @@ -13,7 +13,7 @@ topics: - CodeQL children: - /about-code-scanning-alerts - - /about-autofix-for-codeql-code-scanning + - /responsible-use-autofix-code-scanning - /disabling-autofix-for-code-scanning - /managing-code-scanning-alerts-for-your-repository - /triaging-code-scanning-alerts-in-pull-requests diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository.md b/content/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository.md index 0cfd17a1addc..0f74048c7a94 100644 --- a/content/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository.md +++ b/content/code-security/code-scanning/managing-code-scanning-alerts/managing-code-scanning-alerts-for-your-repository.md @@ -136,7 +136,7 @@ Alternatively, to track a {% data variables.product.prodname_code_scanning %} al ## Generating suggested fixes for {% data variables.product.prodname_code_scanning %} alerts -{% data variables.product.prodname_copilot_autofix %} can generate fixes for alerts from {% data variables.product.prodname_codeql %} analysis. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning)." +{% data variables.product.prodname_copilot_autofix %} can generate fixes for alerts from {% data variables.product.prodname_codeql %} analysis. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)." {% data reusables.rai.code-scanning.copilot-autofix-note %} diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning.md b/content/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning.md similarity index 97% rename from content/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning.md rename to content/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning.md index a58be2312237..1e49cb31592f 100644 --- a/content/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning.md +++ b/content/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning.md @@ -1,7 +1,7 @@ --- -title: About Copilot Autofix for CodeQL code scanning +title: Responsible use of Copilot Autofix for code scanning shortTitle: Copilot Autofix for code scanning -intro: Learn how GitHub uses AI to suggest potential fixes for {% data variables.product.prodname_code_scanning %} alerts found by {% data variables.product.prodname_codeql %}. +intro: Learn how GitHub uses AI to suggest potential fixes for {% data variables.product.prodname_code_scanning %} alerts and find out how best to mitigate limitations in the AI suggestions. allowTitleToDifferFromFilename: true product: '{% data reusables.rai.code-scanning.gated-feature-autofix %}' versions: @@ -12,6 +12,8 @@ topics: - Code scanning - CodeQL - AI +redirect_from: + - /code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning --- ## About {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} diff --git a/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md b/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md index 284295fce06d..b5b741b73e91 100644 --- a/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md +++ b/content/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests.md @@ -128,7 +128,7 @@ Anyone with push access to a pull request can fix a {% data variables.product.pr ### Generating {% data variables.product.prodname_copilot_autofix_short %} suggestions and publishing to a pull request -When {% data variables.product.prodname_copilot_autofix_short %} is enabled for a repository, alerts are displayed in pull requests as normal and information from any alerts found by {% data variables.product.prodname_codeql %} is automatically sent to the LLM for processing. When LLM analysis is complete, any results are published as comments on relevant alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning)." +When {% data variables.product.prodname_copilot_autofix_short %} is enabled for a repository, alerts are displayed in pull requests as normal and information from any alerts found by {% data variables.product.prodname_codeql %} is automatically sent to the LLM for processing. When LLM analysis is complete, any results are published as comments on relevant alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)." {% note %} @@ -145,7 +145,7 @@ Usually, when you suggest changes to a pull request, your comment contains chang ### Assessing and committing an {% data variables.product.prodname_copilot_autofix_short %} suggestion -Each {% data variables.product.prodname_copilot_autofix_short %} suggestion demonstrates a potential solution for a {% data variables.product.prodname_code_scanning %} alert in your codebase. You must assess the suggested changes to determine whether they are a good solution for your codebase and to ensure that they maintain the intended behavior. For information about the limitations of {% data variables.product.prodname_copilot_autofix_short %} suggestions, see "[Limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning#limitations-of-suggestions)" and "[Mitigating the limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning#mitigating-the-limitations-of-suggestions)" in "About {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}." +Each {% data variables.product.prodname_copilot_autofix_short %} suggestion demonstrates a potential solution for a {% data variables.product.prodname_code_scanning %} alert in your codebase. You must assess the suggested changes to determine whether they are a good solution for your codebase and to ensure that they maintain the intended behavior. For information about the limitations of {% data variables.product.prodname_copilot_autofix_short %} suggestions, see "[Limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#limitations-of-suggestions)" and "[Mitigating the limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#mitigating-the-limitations-of-suggestions)" in "About {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}." 1. Click **Edit** to display the editing options and select your preferred method. * Under **Edit with {% data variables.product.prodname_cli %}**, follow the instructions for checking out the pull request locally and applying the suggested fix. diff --git a/content/code-security/secret-scanning/introduction/about-secret-scanning.md b/content/code-security/secret-scanning/introduction/about-secret-scanning.md index 3b8147990214..8514360667d6 100644 --- a/content/code-security/secret-scanning/introduction/about-secret-scanning.md +++ b/content/code-security/secret-scanning/introduction/about-secret-scanning.md @@ -108,7 +108,7 @@ Scan for and detect secrets that are not specific to a service provider, such as ### Generic secret detection -Leverage {% data variables.product.prodname_secret_scanning %}'s AI capabilities to detect unstructured secrets, such as passwords, in your repository. For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning)." +Leverage {% data variables.product.prodname_secret_scanning %}'s AI capabilities to detect unstructured secrets, such as passwords, in your repository. For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)." {% endif %} @@ -124,7 +124,7 @@ Define your own patterns for secrets used by your organization that {% data vari {% ifversion secret-scanning-custom-pattern-ai-generated %} -You can also leverage AI to generate regular expressions that will capture all your custom patterns. For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/about-generating-regular-expressions-with-ai)." +You can also leverage AI to generate regular expressions that will capture all your custom patterns. For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/responsible-use-ai-regex-generator)." {% endif %} diff --git a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/about-alerts.md b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/about-alerts.md index 112bb0fae4af..59de0ea9ac88 100644 --- a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/about-alerts.md +++ b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/about-alerts.md @@ -66,4 +66,4 @@ Partner alerts are not sent to repository administrators, so you do not need to * "[AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns){% ifversion ghec or ghes %} * "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning)"{% endif %}{% ifversion secret-scanning-non-provider-patterns %} * "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/non-provider-patterns/enabling-secret-scanning-for-non-provider-patterns)"{% endif %}{% ifversion secret-scanning-ai-generic-secret-detection %} -* "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning)"{% endif %} +* "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)"{% endif %} diff --git a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts.md b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts.md index 8698fdc41f77..a7a59be38467 100644 --- a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts.md +++ b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts.md @@ -110,7 +110,7 @@ You can apply various filters to the alerts list to help you find the alerts you |`provider:PROVIDER-NAME`|Displays alerts for a specific provider, for example, `provider:github`. For a list of supported partners, see "[AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)."| | {% ifversion secret-scanning-non-provider-patterns %} | |{% ifversion secret-scanning-alert-experimental-list %}`results:default`{% else %}`confidence:high`{% endif %}| Displays alerts for {% ifversion secret-scanning-alert-experimental-list %}{% else %}high-confidence secrets, which relate to {% endif %}supported secrets and custom patterns. For a list of supported patterns, see "[AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns)." | -|{% ifversion secret-scanning-alert-experimental-list %}`results:experimental`{% else %}`confidence:other`{% endif %}| Displays alerts for non-provider patterns, such as private keys{% ifversion secret-scanning-ai-generic-secret-detection %}, and AI-detected generic secrets, such as passwords{% endif %}. For a list of supported non-provider patterns, see "[AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#non-provider-patterns)." {% ifversion secret-scanning-ai-generic-secret-detection %}For more information about AI-detected generic secrets, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning)."{% endif %}| +|{% ifversion secret-scanning-alert-experimental-list %}`results:experimental`{% else %}`confidence:other`{% endif %}| Displays alerts for non-provider patterns, such as private keys{% ifversion secret-scanning-ai-generic-secret-detection %}, and AI-detected generic secrets, such as passwords{% endif %}. For a list of supported non-provider patterns, see "[AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#non-provider-patterns)." {% ifversion secret-scanning-ai-generic-secret-detection %}For more information about AI-detected generic secrets, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)."{% endif %}| | {% endif %} | ## Next steps diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning.md index 8c6396a2d8a1..29e9da6a59c8 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning.md @@ -46,7 +46,7 @@ For simple tokens you will usually only need to specify a secret format. The oth ### Using the regular expression generator -{% data reusables.secret-scanning.regular-expression-generator-overview %} For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/about-generating-regular-expressions-with-ai)" and "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/generating-regular-expressions-for-custom-patterns-with-ai)." +{% data reusables.secret-scanning.regular-expression-generator-overview %} For more information, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/responsible-use-ai-regex-generator)" and "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/generating-regular-expressions-for-custom-patterns-with-ai)." {% endif %} diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/generating-regular-expressions-for-custom-patterns-with-ai.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/generating-regular-expressions-for-custom-patterns-with-ai.md index b8144155c074..81fa5b401ee5 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/generating-regular-expressions-for-custom-patterns-with-ai.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/generating-regular-expressions-for-custom-patterns-with-ai.md @@ -44,4 +44,4 @@ redirect_from: ## Further reading -* "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/about-generating-regular-expressions-with-ai)" +* "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/responsible-use-ai-regex-generator)" diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/index.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/index.md index 779f371f9327..49bf9b0940a6 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/index.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/index.md @@ -14,7 +14,7 @@ topics: children: - /defining-custom-patterns-for-secret-scanning - /managing-custom-patterns - - /about-generating-regular-expressions-with-ai + - /responsible-use-ai-regex-generator - /generating-regular-expressions-for-custom-patterns-with-ai - /metrics-for-custom-patterns --- diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/about-generating-regular-expressions-with-ai.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/responsible-use-ai-regex-generator.md similarity index 92% rename from content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/about-generating-regular-expressions-with-ai.md rename to content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/responsible-use-ai-regex-generator.md index e087bdaf2ed7..7d769deb386c 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/about-generating-regular-expressions-with-ai.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/responsible-use-ai-regex-generator.md @@ -1,8 +1,9 @@ --- -title: About generating regular expressions with AI +title: Responsible use of AI to define regular expressions shortTitle: Generate regular expressions with AI -intro: 'You can define your own custom patterns to extend the capabilities of {% data variables.product.prodname_secret_scanning %} by generating one or more regular expressions for each pattern, using the {% data variables.secret-scanning.custom-pattern-regular-expression-generator %}.' +intro: 'Learn about the capabilities and limitations of the {% data variables.secret-scanning.custom-pattern-regular-expression-generator %} in helping you to define custom patterns to extend the capabilities of {% data variables.product.prodname_secret_scanning %}.' product: '{% data reusables.gated-features.secret-scanning %}' +allowTitleToDifferFromFilename: true versions: feature: secret-scanning-custom-pattern-ai-generated fpt: '*' @@ -14,6 +15,7 @@ topics: redirect_from: - /code-security/secret-scanning/about-the-regular-expression-generator-for-custom-patterns - /code-security/secret-scanning/about-generating-regular-expressions-with-ai + - /code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/about-generating-regular-expressions-with-ai --- diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/enabling-ai-powered-generic-secret-detection.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/enabling-ai-powered-generic-secret-detection.md index 7fb698011111..2542acdf76d6 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/enabling-ai-powered-generic-secret-detection.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/enabling-ai-powered-generic-secret-detection.md @@ -42,5 +42,5 @@ For information on how to view alerts for generic secrets that have been detecte ## Further reading -* [AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning) +* [AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets) * [AUTOTITLE](/code-security/secret-scanning/introduction/about-secret-scanning) diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/index.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/index.md index 7604bae5926b..73d0c0525152 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/index.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/index.md @@ -11,6 +11,6 @@ topics: - Advanced Security - Repositories children: - - /about-the-detection-of-generic-secrets-with-secret-scanning + - /responsible-ai-generic-secrets - /enabling-ai-powered-generic-secret-detection --- diff --git a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning.md b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets.md similarity index 93% rename from content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning.md rename to content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets.md index 14dfbce70698..3ba29ecca3f1 100644 --- a/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning.md +++ b/content/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets.md @@ -1,7 +1,9 @@ --- -title: About the detection of generic secrets with secret scanning +title: Responsible detection of generic secrets with AI shortTitle: Generic secret detection -intro: 'Learn how {% data variables.product.prodname_secret_scanning %} uses AI to scan and create alerts for unstructured secrets, such as passwords.' +intro: 'Learn how {% data variables.product.prodname_secret_scanning %} uses AI responsibly to scan and create alerts for unstructured secrets, such as passwords.' +product: '{% data reusables.gated-features.secret-scanning %}' +allowTitleToDifferFromFilename: true versions: feature: secret-scanning-ai-generic-secret-detection fpt: '*' @@ -12,6 +14,7 @@ topics: - AI redirect_from: - /code-security/secret-scanning/about-the-detection-of-generic-secrets-with-secret-scanning + - /code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning --- diff --git a/content/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization.md b/content/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization.md index 45736c981363..75ce70c497db 100644 --- a/content/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization.md +++ b/content/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization.md @@ -81,7 +81,7 @@ You can customize several {% data variables.product.prodname_global_settings %} ### Enabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_codeql %} -You can select **{% data variables.product.prodname_copilot_autofix_short %}** to enable {% data variables.product.prodname_copilot_autofix_short %} for all the repositories in your organization that use {% data variables.product.prodname_codeql %} default setup or {% data variables.product.prodname_codeql %} advanced setup. {% data variables.product.prodname_copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning)." +You can select **{% data variables.product.prodname_copilot_autofix_short %}** to enable {% data variables.product.prodname_copilot_autofix_short %} for all the repositories in your organization that use {% data variables.product.prodname_codeql %} default setup or {% data variables.product.prodname_codeql %} advanced setup. {% data variables.product.prodname_copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)." {% endif %} @@ -115,7 +115,7 @@ You can choose to scan for non-provider patterns, such as private keys, to detec ### Generic secret detection -Generic secret detection is an AI-powered expansion of {% data variables.product.prodname_secret_scanning %} that scans and creates alerts for unstructured secrets, such as passwords. To enable these scans, select **Use AI detection to find additional secrets**. Be aware that generic secrets often have a higher rate of false positives than other types of alert. To learn more about generic secrets, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/about-the-detection-of-generic-secrets-with-secret-scanning)." +Generic secret detection is an AI-powered expansion of {% data variables.product.prodname_secret_scanning %} that scans and creates alerts for unstructured secrets, such as passwords. To enable these scans, select **Use AI detection to find additional secrets**. Be aware that generic secrets often have a higher rate of false positives than other types of alert. To learn more about generic secrets, see "[AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/generic-secret-detection/responsible-ai-generic-secrets)." {% data reusables.secret-scanning.generic-secret-detection-ai %} diff --git a/content/code-security/security-overview/viewing-security-insights.md b/content/code-security/security-overview/viewing-security-insights.md index f67e96f1ac09..31225a10139d 100644 --- a/content/code-security/security-overview/viewing-security-insights.md +++ b/content/code-security/security-overview/viewing-security-insights.md @@ -92,7 +92,7 @@ Keep in mind that the overview page tracks changes over time for security alert * [Detection tab](#detection-tab) * [Remediation tab](#remediation-tab) * [Prevention tab](#prevention-tab) - + Some metrics in the security overview dashboard include a trend indicator, which shows the percentage gain or loss for the chosen time period relative to previous period. For example, when you select a week with 10 alerts, if the previous week had 20 alerts, the trend indicator reports that the metric has dropped by 50%. If the average age of the open alerts is 15 days, and for the previous period it was 5 days, the trend indicator reports that the metric has risen by 200%. >[!NOTE] @@ -202,7 +202,7 @@ The "Vulnerabilities fixed in pull requests" metric shows the count of pull requ #### Pull request alerts fixed with {% data variables.product.prodname_copilot_autofix_short %} suggestions -{% data variables.product.prodname_copilot_autofix %} for {% data variables.product.prodname_code_scanning %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning)." +{% data variables.product.prodname_copilot_autofix %} for {% data variables.product.prodname_code_scanning %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)." The "Pull request alerts fixed with autofix suggestions" metric shows the ratio of accepted {% data variables.product.prodname_copilot_autofix_short %} suggestions to the total number of {% data variables.product.prodname_copilot_autofix_short %} suggestions on pull request alerts detected by {% data variables.product.prodname_codeql %}. @@ -284,7 +284,7 @@ Alerts that are reopened and re-closed during the chosen time period are ignored ### {% data variables.product.prodname_copilot_autofix_short %} suggestions -{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning)." +{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts. For more information, see "[AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning)." The "{% data variables.product.prodname_copilot_autofix_short %} suggestions" metric is the total number of {% data variables.product.prodname_copilot_autofix_short %} suggestions generated in open and closed pull requests during the chosen time period. From 2b410f553649a7f438dfdd61b9afbd6317264b6f Mon Sep 17 00:00:00 2001 From: Sophie <29382425+sophietheking@users.noreply.github.com> Date: Mon, 7 Oct 2024 10:26:50 +0200 Subject: [PATCH 17/19] [Core / Unowned] Reduce usage of `{% data variables.product.prodname_dotcom_the_website %}` (#52069) Co-authored-by: Vanessa Co-authored-by: Felicity Chapman --- .../signing-in-with-a-passkey.md | 2 +- .../about-authentication-to-github.md | 4 ++-- .../switching-between-accounts.md | 2 +- ...-github-using-two-factor-authentication.md | 2 +- .../configuring-two-factor-authentication.md | 2 +- ...uthentication-for-your-personal-account.md | 2 +- ...io-subscriptions-with-github-enterprise.md | 6 +++--- ...io-subscriptions-with-github-enterprise.md | 2 +- .../about-per-user-pricing.md | 6 +++--- .../connecting-an-azure-subscription.md | 4 ++-- .../index.md | 2 +- ...n-and-usage-for-your-enterprise-account.md | 2 +- ...out-community-management-and-moderation.md | 4 ++-- ...ntributions-to-your-project-with-labels.md | 2 +- .../using-git-on-github-docs.md | 20 +++++++++---------- .../creating-a-local-environment.md | 2 +- .../troubleshooting-your-environment.md | 6 +++--- ...sing-markdown-and-liquid-in-github-docs.md | 2 +- .../using-yaml-frontmatter.md | 6 +++--- .../versioning-documentation.md | 8 ++++---- .../glossary.md | 2 +- ...-archive-of-your-personal-accounts-data.md | 4 ++-- .../contributing-to-a-project.md | 2 +- .../about-github-advanced-security.md | 2 +- .../learning-about-github/githubs-plans.md | 2 +- .../creating-an-account-on-github.md | 4 ++-- .../about-versions-of-github-docs.md | 2 +- .../migrating-from-projects-classic.md | 2 +- .../finding-your-projects.md | 2 +- ...tor-authentication-in-your-organization.md | 2 +- ...nviting-users-to-join-your-organization.md | 2 +- ...ng-a-former-member-of-your-organization.md | 4 ++-- ...saml-single-sign-on-and-scim-using-okta.md | 2 +- ...ml-single-sign-on-for-your-organization.md | 2 +- .../about-custom-domains-and-github-pages.md | 2 +- ...ng-dependency-changes-in-a-pull-request.md | 2 +- .../working-with-forks/fork-a-repo.md | 6 +++--- .../backing-up-a-repository.md | 2 +- .../repository-limits.md | 2 +- .../linking-to-releases.md | 2 +- .../about-github-code-search.md | 4 ++-- .../using-github-code-search.md | 14 ++++++------- .../searching-on-github/searching-code.md | 2 +- .../searching-github-marketplace.md | 6 +++--- ...count-from-your-github-sponsors-profile.md | 2 +- ...open-source-contributor-through-patreon.md | 8 ++++---- ...inking-your-patreon-account-from-github.md | 2 +- ...-started-with-the-github-support-portal.md | 2 +- .../about-ticket-priority.md | 4 ++-- .../accounts/unlinking-email-address.md | 2 +- .../github-community-guidelines-and-terms.md | 2 +- 51 files changed, 92 insertions(+), 92 deletions(-) diff --git a/content/authentication/authenticating-with-a-passkey/signing-in-with-a-passkey.md b/content/authentication/authenticating-with-a-passkey/signing-in-with-a-passkey.md index ce4375ce16a7..9a1d373ae758 100644 --- a/content/authentication/authenticating-with-a-passkey/signing-in-with-a-passkey.md +++ b/content/authentication/authenticating-with-a-passkey/signing-in-with-a-passkey.md @@ -26,7 +26,7 @@ Some authenticators allow passkeys to be used with nearby devices. For example, ## Signing in with a passkey using a nearby device -1. Navigate to the login page for {% data variables.product.prodname_dotcom_the_website %} at {% ifversion fpt or ghec%}[https://github.com/login?passkey=true](https://github.com/login?passkey=true){% else %}`https://HOSTNAME/login?passkey=true`{% endif %}. +1. Navigate to the login page for {% data variables.product.prodname_dotcom %} at {% ifversion fpt or ghec%}[https://github.com/login?passkey=true](https://github.com/login?passkey=true){% else %}`https://HOSTNAME/login?passkey=true`{% endif %}. 1. Click **{% octicon "passkey-fill" aria-hidden="true" %} Sign in with a passkey**. 1. Follow the prompts on your browser or platform to select a passkey that is accessible as a nearby device (such as a phone or a tablet). 1. Continue to follow the prompts to start the authentication process. For example, you might choose to scan a QR code, or trigger a push notification to the nearby device. diff --git a/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md index cf9452bebd6f..16d775747322 100644 --- a/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md +++ b/content/authentication/keeping-your-account-and-data-secure/about-authentication-to-github.md @@ -30,7 +30,7 @@ You can access your resources in {% data variables.product.product_name %} in a If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you will authenticate to {% data variables.product.product_name %} in your browser using your IdP. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#authenticating-as-a-managed-user){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} -If you're not a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you will authenticate using your {% data variables.product.prodname_dotcom_the_website %} username and password{% ifversion passkeys %}, or a passkey{% endif %}. You may also use two-factor authentication and SAML single sign-on, which can be required by organization and enterprise owners. +If you're not a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you will authenticate using your {% data variables.product.prodname_dotcom %} username and password{% ifversion passkeys %}, or a passkey{% endif %}. You may also use two-factor authentication and SAML single sign-on, which can be required by organization and enterprise owners. {% else %} @@ -53,7 +53,7 @@ If you need to use multiple accounts on {% data variables.location.product_locat * If you have not enabled 2FA, {% data variables.product.product_name %} may ask for additional verification when you first sign in from a new or unrecognized device, such as a new browser profile, a browser where the cookies have been deleted, or a new computer. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/verifying-new-devices-when-signing-in)."{% endif %} * **Two-factor authentication (2FA)** (recommended) * If you enable 2FA, after you successfully enter your username and password, we'll also prompt you to provide a code that's generated by a time-based one time password (TOTP) application on your mobile device{% ifversion fpt or ghec %} or sent as a text message (SMS).{% endif %}{% ifversion 2fa-check-up-period %} - * After you configure 2FA, your account enters a check up period for 28 days. You can leave the check up period by successfully performing 2FA within those 28 days. If you don't perform 2FA in that timespan, you'll then be asked to perform 2FA inside one of your existing {% data variables.product.prodname_dotcom_the_website %} sessions. + * After you configure 2FA, your account enters a check up period for 28 days. You can leave the check up period by successfully performing 2FA within those 28 days. If you don't perform 2FA in that timespan, you'll then be asked to perform 2FA inside one of your existing {% data variables.product.prodname_dotcom %} sessions. * If you cannot perform 2FA to pass the 28th day checkup, you will be provided a shortcut that lets you reconfigure your 2FA settings. You must reconfigure your settings before you can access the rest of {% data variables.product.prodname_dotcom %}{% endif %}. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication#providing-a-2fa-code-when-signing-in-to-the-website){% ifversion 2fa-check-up-period %}" and "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication){% endif %}." * In addition to authentication with a TOTP application{% ifversion fpt or ghec %} or a text message{% endif %}, you can optionally add an alternative method of authentication with {% ifversion fpt or ghec %}{% data variables.product.prodname_mobile %} or{% endif %} a security key using WebAuthn. For more information, see {% ifversion fpt or ghec %}"[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-github-mobile)" and {% endif %}"[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-a-security-key)." diff --git a/content/authentication/keeping-your-account-and-data-secure/switching-between-accounts.md b/content/authentication/keeping-your-account-and-data-secure/switching-between-accounts.md index 083b35869579..aa392720ac0d 100644 --- a/content/authentication/keeping-your-account-and-data-secure/switching-between-accounts.md +++ b/content/authentication/keeping-your-account-and-data-secure/switching-between-accounts.md @@ -1,6 +1,6 @@ --- title: 'Switching between accounts' -intro: 'Learn how to switch between multiple {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %} accounts and {% data variables.enterprise.prodname_managed_users %}{% else %}accounts{% endif %}.' +intro: 'Learn how to switch between multiple {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %} accounts and {% data variables.enterprise.prodname_managed_users %}{% else %}accounts{% endif %}.' allowTitleToDifferFromFilename: true versions: feature: account-switcher diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md index d8ac757b8b53..cc6270fd1509 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication.md @@ -19,7 +19,7 @@ shortTitle: Access GitHub with 2FA {% ifversion 2fa-check-up-period %} -With two-factor authentication (2FA) enabled, you'll need to use a second factor when accessing {% data variables.product.product_name %} through your browser. When you first configure 2FA, your account will enter a check up period for 28 days to ensure your account's 2FA methods are setup correctly. You can exit the check up period by successfully performing 2FA within 28 days. If you don't authenticate within 28 days, you'll be asked to perform 2FA inside one of your existing {% data variables.product.prodname_dotcom_the_website %} sessions. If you cannot perform 2FA to pass the 28th day checkup, use the provided shortcut to reconfigure your 2FA settings and retain access to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." +With two-factor authentication (2FA) enabled, you'll need to use a second factor when accessing {% data variables.product.product_name %} through your browser. When you first configure 2FA, your account will enter a check up period for 28 days to ensure your account's 2FA methods are setup correctly. You can exit the check up period by successfully performing 2FA within 28 days. If you don't authenticate within 28 days, you'll be asked to perform 2FA inside one of your existing {% data variables.product.prodname_dotcom %} sessions. If you cannot perform 2FA to pass the 28th day checkup, use the provided shortcut to reconfigure your 2FA settings and retain access to {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)." If you access {% data variables.product.product_name %} using other methods, such as the API or the command line, you'll authenticate using a token, application, or SSH key. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/about-authentication-to-github)." diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md index c66d1b7a13be..9331c16cf5c7 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication.md @@ -27,7 +27,7 @@ We strongly recommend using a time-based one-time password (TOTP) application to {% ifversion 2fa-check-up-period %} -After you configure 2FA, your account will enter a 28-day check up period. You can leave the check up period by successfully performing 2FA in those 28 days. Otherwise, you will be prompted to perform 2FA in an existing {% data variables.product.prodname_dotcom_the_website %} session on the 28th day. If you cannot perform 2FA to pass the checkup, you must use the provided shortcut to reconfigure your 2FA settings and retain access to {% data variables.product.prodname_dotcom_the_website %}. +After you configure 2FA, your account will enter a 28-day check up period. You can leave the check up period by successfully performing 2FA in those 28 days. Otherwise, you will be prompted to perform 2FA in an existing {% data variables.product.prodname_dotcom %} session on the 28th day. If you cannot perform 2FA to pass the checkup, you must use the provided shortcut to reconfigure your 2FA settings and retain access to {% data variables.product.prodname_dotcom %}. {% ifversion fpt or ghec %} diff --git a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md index 318ee301f466..00bf0a6e41c6 100644 --- a/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md +++ b/content/authentication/securing-your-account-with-two-factor-authentication-2fa/disabling-two-factor-authentication-for-your-personal-account.md @@ -27,7 +27,7 @@ shortTitle: Disable 2FA We strongly recommend using two-factor authentication (2FA) to secure your account. If you need to disable 2FA, we recommend re-enabling it as soon as possible. {% ifversion mandatory-2fa-dotcom-contributors %} -If you are part of the group that {% data variables.product.prodname_dotcom %} is requiring to enroll in 2FA in 2023, you cannot disable 2FA. A banner will display in your authentication settings to remind you that you are not allowed to disable 2FA. For more information about our 2023 2FA enrollment rollout for contributors to {% data variables.product.prodname_dotcom_the_website %}, see [this blog post](https://github.blog/2023-03-09-raising-the-bar-for-software-security-github-2fa-begins-march-13). +If you are part of the group that {% data variables.product.prodname_dotcom %} is requiring to enroll in 2FA in 2023, you cannot disable 2FA. A banner will display in your authentication settings to remind you that you are not allowed to disable 2FA. For more information about our 2023 2FA enrollment rollout for contributors to {% data variables.product.prodname_dotcom %}, see [this blog post](https://github.blog/2023-03-09-raising-the-bar-for-software-security-github-2fa-begins-march-13). You can modify your existing 2FA configuration instead of disabling it entirely. For more information, see "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/changing-your-two-factor-authentication-method)." {% endif %} diff --git a/content/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/about-visual-studio-subscriptions-with-github-enterprise.md b/content/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/about-visual-studio-subscriptions-with-github-enterprise.md index fde906e4add1..f0ddedea1973 100644 --- a/content/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/about-visual-studio-subscriptions-with-github-enterprise.md +++ b/content/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/about-visual-studio-subscriptions-with-github-enterprise.md @@ -24,19 +24,19 @@ shortTitle: About {% data reusables.enterprise-accounts.vss-ghe-description %} {% data variables.visual_studio.prodname_vss_ghe %} is available from Microsoft under the terms of the Microsoft Enterprise Agreement. For more information, see [{% data variables.visual_studio.prodname_vss_ghe %}](https://visualstudio.microsoft.com/subscriptions/visual-studio-github/) on the {% data variables.product.prodname_vs %} website. -To use the {% data variables.product.prodname_enterprise %} portion of the license, each subscriber's personal account on {% data variables.product.prodname_dotcom_the_website %} must be or become a member of an organization owned by your enterprise on {% data variables.product.prodname_dotcom_the_website %}. To accomplish this, organization owners can invite new members to an organization by email address. The subscriber can accept the invitation with an existing personal account on {% data variables.product.prodname_dotcom_the_website %} or create a new account. +To use the {% data variables.product.prodname_enterprise %} portion of the license, each subscriber's personal account on {% data variables.product.prodname_dotcom %} must be or become a member of an organization owned by your enterprise on {% data variables.product.prodname_dotcom %}. To accomplish this, organization owners can invite new members to an organization by email address. The subscriber can accept the invitation with an existing personal account or create a new account. For more information about the setup of {% data variables.visual_studio.prodname_vss_ghe %}, see "[AUTOTITLE](/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise)." ## About licenses for {% data variables.visual_studio.prodname_vss_ghec %} -After you assign a license for {% data variables.visual_studio.prodname_vss_ghec %} to a subscriber, the subscriber will use the {% data variables.product.prodname_enterprise %} portion of the license by joining an organization in your enterprise with a personal account on {% data variables.product.prodname_dotcom_the_website %}. If the verified email address for the personal account of an enterprise member on {% data variables.product.prodname_dotcom_the_website %} matches the User Principal Name (UPN) for a subscriber to your {% data variables.product.prodname_vs %} account, the {% data variables.product.prodname_vs %} subscriber will automatically consume one license for {% data variables.visual_studio.prodname_vss_ghec %}. +After you assign a license for {% data variables.visual_studio.prodname_vss_ghec %} to a subscriber, the subscriber will use the {% data variables.product.prodname_enterprise %} portion of the license by joining an organization in your enterprise with a personal account on {% data variables.product.prodname_dotcom %}. If the verified email address for the personal account of an enterprise member on {% data variables.product.prodname_dotcom %} matches the User Principal Name (UPN) for a subscriber to your {% data variables.product.prodname_vs %} account, the {% data variables.product.prodname_vs %} subscriber will automatically consume one license for {% data variables.visual_studio.prodname_vss_ghec %}. > [!NOTE] For {% data variables.product.prodname_emu %} only, to make sure a user account consumes a {% data variables.product.prodname_vs %} license, ensure the {% data variables.product.prodname_vs %} UPN matches the SCIM `userName` attribute or the email address from the linked identity on the {% data variables.product.prodname_dotcom %} account. The total quantity of your licenses for your enterprise on {% data variables.product.prodname_dotcom %} is the sum of any standard {% data variables.product.prodname_enterprise %} licenses and the number of {% data variables.product.prodname_vs %} subscription licenses that include access to {% data variables.product.prodname_dotcom %}. If the personal account for an enterprise member does not correspond with the email address for a {% data variables.product.prodname_vs %} subscriber, the license that the personal account consumes is unavailable for a {% data variables.product.prodname_vs %} subscriber. -For more information about {% data variables.product.prodname_enterprise %}, see "[AUTOTITLE](/get-started/learning-about-github/githubs-plans#github-enterprise)." For more information about accounts on {% data variables.product.prodname_dotcom_the_website %}, see "[AUTOTITLE](/get-started/learning-about-github/types-of-github-accounts)." +For more information about {% data variables.product.prodname_enterprise %}, see "[AUTOTITLE](/get-started/learning-about-github/githubs-plans#github-enterprise)." For more information about accounts on {% data variables.product.prodname_dotcom %}, see "[AUTOTITLE](/get-started/learning-about-github/types-of-github-accounts)." You can view the number of {% data variables.product.prodname_enterprise %} licenses available to your enterprise on {% data variables.location.product_location %}. The list of pending invitations includes subscribers who are not yet members of at least one organization in your enterprise. For more information, see "[AUTOTITLE](/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account)" and "[AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-members-and-outside-collaborators)." diff --git a/content/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise.md b/content/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise.md index 7b1865a4771c..2654a2b9d344 100644 --- a/content/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise.md +++ b/content/billing/managing-billing-for-your-products/managing-licenses-for-visual-studio-subscriptions-with-github-enterprise/setting-up-visual-studio-subscriptions-with-github-enterprise.md @@ -50,7 +50,7 @@ One person may be able to complete the tasks because the person has all of the r 1. If the subscription admin has not disabled email notifications, the subscriber will receive two confirmation emails. For more information, see [{% data variables.product.prodname_vs %} subscriptions with {% data variables.product.prodname_enterprise %}](https://docs.microsoft.com/en-us/visualstudio/subscriptions/access-github#what-is-the-visual-studio-subscription-with-github-enterprise-setup-process) in Microsoft Docs. -1. An organization owner must invite the subscriber to the organization on {% data variables.location.product_location %} from step 1. The subscriber can accept the invitation with an existing personal account on {% data variables.product.prodname_dotcom_the_website %} or create a new account. After the subscriber joins the organization, the subscriber becomes an enterprise member. For more information, see "[AUTOTITLE](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization)." +1. An organization owner must invite the subscriber to the organization on {% data variables.location.product_location %} from step 1. The subscriber can accept the invitation with an existing personal account or create a new account. After the subscriber joins the organization, the subscriber becomes an enterprise member. For more information, see "[AUTOTITLE](/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization)." {% tip %} diff --git a/content/billing/managing-the-plan-for-your-github-account/about-per-user-pricing.md b/content/billing/managing-the-plan-for-your-github-account/about-per-user-pricing.md index 9ddad8720276..41c738a435bb 100644 --- a/content/billing/managing-the-plan-for-your-github-account/about-per-user-pricing.md +++ b/content/billing/managing-the-plan-for-your-github-account/about-per-user-pricing.md @@ -22,7 +22,7 @@ topics: {% data reusables.billing.about-billing %} For organizations, the "plan" component of the bill is based on the number of licensed seats you choose to purchase. -New organizations on {% data variables.product.prodname_dotcom_the_website %} can build public and open-source projects with {% data variables.product.prodname_free_team %}, or upgrade to a paid plan. See "[AUTOTITLE](/get-started/learning-about-github/githubs-plans)" and "[AUTOTITLE](/billing/managing-the-plan-for-your-github-account/upgrading-your-accounts-plan)." +New organizations on {% data variables.product.prodname_dotcom %} can build public and open-source projects with {% data variables.product.prodname_free_team %}, or upgrade to a paid plan. See "[AUTOTITLE](/get-started/learning-about-github/githubs-plans)" and "[AUTOTITLE](/billing/managing-the-plan-for-your-github-account/upgrading-your-accounts-plan)." >[!NOTE] Organizations who upgraded to a paid plan before May 11, 2016 can choose to stay on their existing per-repository plan or switch to per-user pricing. {% data variables.product.company_short %} will notify you twelve months before any mandated change to your subscription. For more information on switching your subscription, see "[AUTOTITLE](/billing/managing-the-plan-for-your-github-account/upgrading-your-accounts-plan)." @@ -111,7 +111,7 @@ If your enterprise does not use {% data variables.product.prodname_emus %}, you * Anyone with a pending invitation to become a billing manager * Anyone with a pending invitation to become an outside collaborator on a public repository owned by your organization * Guest collaborators who are not organization members (see "[AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#guest-collaborators)") -* Users of {% data variables.visual_studio.prodname_vss_ghe %} whose accounts on {% data variables.product.prodname_dotcom_the_website %} are not linked, and who do not meet any of the other criteria for per-user pricing +* Users of {% data variables.visual_studio.prodname_vss_ghe %} whose accounts on {% data variables.product.prodname_dotcom %} are not linked, and who do not meet any of the other criteria for per-user pricing * Users who have been provisioned with a {% data variables.enterprise.prodname_managed_user %}, but are not members of any organizations in the enterprise ### Accounts that consume a license on {% data variables.product.prodname_ghe_server %} @@ -146,7 +146,7 @@ For more information about per-user pricing for {% data variables.product.prodna {% else %} -If you use an enterprise account on {% data variables.product.prodname_dotcom_the_website %} and have questions about changes to your subscription, contact {% data variables.contact.contact_enterprise_sales %}. +If you use an enterprise account and have questions about changes to your subscription, contact {% data variables.contact.contact_enterprise_sales %}. {% endif %} diff --git a/content/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription.md b/content/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription.md index cd676c5f580a..e16e7c20a25c 100644 --- a/content/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription.md +++ b/content/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription.md @@ -34,7 +34,7 @@ If you use {% data variables.product.product_name %} through a Microsoft Enterpr {% ifversion fpt or ghec %} -## About usage-based billing on {% data variables.product.prodname_dotcom_the_website %} +## About usage-based billing on {% data variables.product.prodname_dotcom %} {% data variables.product.company_short %} provides usage-based billing for the following features and situations. You can learn more about billing and spending limits. @@ -160,7 +160,7 @@ After you disconnect your Azure subscription from your enterprise account, your ## Troubleshooting connection of an Azure subscription -You can troubleshoot some common issues with connection of an Azure subscription to your account on {% data variables.product.prodname_dotcom_the_website %}. +You can troubleshoot some common issues with connection of an Azure subscription to your account on {% data variables.product.prodname_dotcom %}. ### Message: "Need admin approval" diff --git a/content/billing/managing-the-plan-for-your-github-account/index.md b/content/billing/managing-the-plan-for-your-github-account/index.md index 916e121ec044..ffc54dc60b50 100644 --- a/content/billing/managing-the-plan-for-your-github-account/index.md +++ b/content/billing/managing-the-plan-for-your-github-account/index.md @@ -1,7 +1,7 @@ --- title: Managing the plan for your GitHub account shortTitle: Manage your plan -intro: "{% ifversion fpt %}You can upgrade, downgrade, and view pending changes to your account's plan at any time.{% elsif ghec or ghes %}You can manage billing for {% data variables.product.product_name %} from your enterprise account on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}" +intro: "{% ifversion fpt %}You can upgrade, downgrade, and view pending changes to your account's plan at any time.{% elsif ghec or ghes %}You can manage billing for {% data variables.product.product_name %} from your enterprise account on {% data variables.product.prodname_dotcom %}.{% endif %}" redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-your-github-account - /categories/97/articles diff --git a/content/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md b/content/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md index c0bc38c59902..debf8ea0d416 100644 --- a/content/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md +++ b/content/billing/managing-the-plan-for-your-github-account/viewing-the-subscription-and-usage-for-your-enterprise-account.md @@ -26,7 +26,7 @@ shortTitle: View subscription & usage You can view an overview of {% ifversion ghec %}your subscription and paid{% elsif ghes %}the license{% endif %} usage for {% ifversion ghec %}your{% elsif ghes %}the{% endif %} enterprise account on {% ifversion ghec %}{% data variables.product.prodname_dotcom_the_website %}{% elsif ghes %}{% data variables.location.product_location %}{% endif %}.{% ifversion ghec %} {% data reusables.enterprise.create-an-enterprise-account %} For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/managing-your-enterprise-account/creating-an-enterprise-account)."{% endif %} -For invoiced {% data variables.product.prodname_enterprise %} customers{% ifversion ghes %} who use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}{% endif %}, each invoice includes details about billed services for all products. For example, in addition to your usage for {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% elsif ghes %}{% data variables.product.product_name %}{% endif %}, you may have usage for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghec %}, {% elsif ghes %}. You may also have usage on {% data variables.product.prodname_dotcom_the_website %}, like {% endif %}paid licenses in organizations outside of your enterprise account, data packs for {% data variables.large_files.product_name_long %}, or subscriptions to apps in {% data variables.product.prodname_marketplace %}. For more information about invoices, see "[Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/managing-invoices-for-your-enterprise){% ifversion ghec %}."{% elsif ghes %}" in the {% data variables.product.prodname_dotcom_the_website %} documentation.{% endif %} +For invoiced {% data variables.product.prodname_enterprise %} customers{% ifversion ghes %} who use both {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}{% endif %}, each invoice includes details about billed services for all products. For example, in addition to your usage for {% ifversion ghec %}{% data variables.product.prodname_ghe_cloud %}{% elsif ghes %}{% data variables.product.product_name %}{% endif %}, you may have usage for {% data variables.product.prodname_GH_advanced_security %}{% ifversion ghec %}, {% elsif ghes %}. You may also have usage on {% data variables.product.prodname_dotcom_the_website %}, like {% endif %}paid licenses in organizations outside of your enterprise account, data packs for {% data variables.large_files.product_name_long %}, or subscriptions to apps in {% data variables.product.prodname_marketplace %}. For more information about invoices, see "[Managing invoices for your enterprise]({% ifversion ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/managing-invoices-for-your-enterprise){% ifversion ghec %}."{% elsif ghes %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% endif %} {% ifversion ghec %} 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 b0d52a626c93..14e860389e8b 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 @@ -1,6 +1,6 @@ --- 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 %}.' +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 %}.' versions: fpt: '*' ghec: '*' @@ -15,7 +15,7 @@ shortTitle: Management & moderation {% data reusables.policies.github-community-guidelines-and-terms %} -{% data variables.product.prodname_dotcom %} also offers tools for repository maintainers to define and enforce higher standards of behavior in their own communities on {% data variables.product.prodname_dotcom_the_website %}. +{% data variables.product.prodname_dotcom %} also offers tools for repository maintainers to define and enforce higher standards of behavior in their own communities on {% data variables.product.prodname_dotcom %}. Organization owners can specify organization members as moderators. This gives these members access to moderation features otherwise reserved for organization owners. For more information, see "[AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-moderators-in-your-organization)." 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 8e19e2c7d55d..2c3ea0887577 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 @@ -15,7 +15,7 @@ shortTitle: Encourage contributions You can apply the `good first issue` label to issues in your public repository so that people can find them when searching by labels. For more information about searching by labels, see "[AUTOTITLE](/search-github/searching-on-github/searching-issues-and-pull-requests#search-by-label)." -{% data variables.product.prodname_dotcom %} uses an algorithm to determine the most approachable issues in each repository and surface them in various places on {% data variables.product.prodname_dotcom_the_website %}. Adding the `good first issue` label can increase the likelihood that your issues are surfaced. +{% data variables.product.prodname_dotcom %} uses an algorithm to determine the most approachable issues in each repository and surface them in various places on {% data variables.product.prodname_dotcom %}. Adding the `good first issue` label can increase the likelihood that your issues are surfaced. {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-issues %} diff --git a/content/contributing/collaborating-on-github-docs/using-git-on-github-docs.md b/content/contributing/collaborating-on-github-docs/using-git-on-github-docs.md index 654df4f73a7e..7ddf10da3144 100644 --- a/content/contributing/collaborating-on-github-docs/using-git-on-github-docs.md +++ b/content/contributing/collaborating-on-github-docs/using-git-on-github-docs.md @@ -8,7 +8,7 @@ versions: This article describes the process of creating a topic branch for the documentation repository, committing changes, and pushing your changes back up to the remote repository. -The article assumes you have already cloned the documentation repository locally and you will be making changes on your local computer rather than on {% data variables.product.prodname_dotcom_the_website %} or in a codespace. For more information, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/cloning-a-repository?tool=webui)." +The article assumes you have already cloned the documentation repository locally and you will be making changes on your local computer rather than on {% data variables.product.prodname_dotcom %} or in a codespace. For more information, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/cloning-a-repository?tool=webui)." ## Setting up your topic branch and making changes @@ -99,17 +99,17 @@ To keep your local branches in sync with their remotes and avoid merge conflicts ```shell git commit -m "Commit message title (max 72 characters) - - Optional fuller description of what changed (no character limit). - Note the empty line between the title and the description, + + Optional fuller description of what changed (no character limit). + Note the empty line between the title and the description, and the closing quotation mark at the end of the commit message." ``` - This commits the staged changes locally. You can now push this commit, and any other unpushed commits, to the remote repository. + This commits the staged changes locally. You can now push this commit, and any other unpushed commits, to the remote repository. To remove this commit, use `git reset --soft HEAD~1`. After running this command our changes are no longer committed but the changed files remain in the staging area. You can make further changes and then `add` and `commit` again. -1. Push your changes to the remote repository on {% data variables.product.prodname_dotcom_the_website %}. +1. Push your changes to the remote repository on {% data variables.product.prodname_dotcom %}. * The first time you push your branch you can choose to add an upstream tracking branch. This allows you to use `git pull` and `git push` on that branch without additional arguments. @@ -135,7 +135,7 @@ To keep your local branches in sync with their remotes and avoid merge conflicts {% endnote %} * Make commit messages clear, detailed, and imperative. For example: "Adds a conceptual article about 2FA," not "Add info." * Try not to leave uncommitted changes in your local branch when you finish working for the day. Get to a good stopping point and commit and push your changes so your work is backed up to the remote repository. -* Only push up to {% data variables.product.prodname_dotcom_the_website %} after you've made a few commits. Pushing after every commit adds noise to our ops channels on Slack and causes unnecessary builds to run. +* Only push up to {% data variables.product.prodname_dotcom %} after you've made a few commits. Pushing after every commit adds noise to our ops channels on Slack and causes unnecessary builds to run. ## Resolving merge conflicts @@ -143,7 +143,7 @@ When you try to merge two branches that contain different changes to the same pa There are two ways to handle merge conflicts: * Edit the file in your text editor and choose which changes to keep. Then commit the updated file to your topic branch from the command line. -* [Resolve the merge conflicts on {% data variables.product.prodname_dotcom_the_website %}](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github). +* "[AUTOTITLE](/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github)." ### Resolving merge conflicts by editing the file and committing the changes @@ -185,7 +185,7 @@ There are two ways to handle merge conflicts: git commit -m "Resolves merge conflicts" ``` -1. Push the committed changes to the remote repository on {% data variables.product.prodname_dotcom_the_website %}. +1. Push the committed changes to the remote repository on {% data variables.product.prodname_dotcom %}. ```shell git push @@ -197,7 +197,7 @@ We recommend you open your pull request on {% data variables.product.prodname_do {% note %} -**Note**: You can quickly access pull requests you've created by clicking **Pull requests** at the top of every page on {% data variables.product.prodname_dotcom_the_website %}. +**Note**: You can quickly access pull requests you've created by clicking **Pull requests** at the top of every page on {% data variables.product.prodname_dotcom %}. {% endnote %} diff --git a/content/contributing/setting-up-your-environment-to-work-on-github-docs/creating-a-local-environment.md b/content/contributing/setting-up-your-environment-to-work-on-github-docs/creating-a-local-environment.md index dca27b24fea5..8bba1b296ef8 100644 --- a/content/contributing/setting-up-your-environment-to-work-on-github-docs/creating-a-local-environment.md +++ b/content/contributing/setting-up-your-environment-to-work-on-github-docs/creating-a-local-environment.md @@ -10,7 +10,7 @@ versions: The {% data variables.product.prodname_docs %} site was originally a Ruby on Rails web application. Some time later it was converted into a static site powered by [Jekyll](https://jekyllrb.com/). A few years after that it was migrated to [Nanoc](https://nanoc.app/), another Ruby static site generator. -Today it's a dynamic Node.js webserver powered by Express, using middleware to support proper HTTP redirects, language header detection, and dynamic content generation to support the various flavors of {% data variables.product.company_short %}'s product documentation, like {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_ghe_server %}. +Today it's a dynamic Node.js webserver powered by Express, using middleware to support proper HTTP redirects, language header detection, and dynamic content generation to support the various flavors of {% data variables.product.company_short %}'s product documentation, like Free, Pro, & Team and {% data variables.product.prodname_ghe_server %}. The tooling for this site has changed over the years, but many of the tried-and-true authoring conventions of the original Jekyll site have been preserved. diff --git a/content/contributing/setting-up-your-environment-to-work-on-github-docs/troubleshooting-your-environment.md b/content/contributing/setting-up-your-environment-to-work-on-github-docs/troubleshooting-your-environment.md index 7d4d2462f872..26ef05cfa227 100644 --- a/content/contributing/setting-up-your-environment-to-work-on-github-docs/troubleshooting-your-environment.md +++ b/content/contributing/setting-up-your-environment-to-work-on-github-docs/troubleshooting-your-environment.md @@ -16,7 +16,7 @@ For more information, see "[AUTOTITLE](/contributing/setting-up-your-environment If a staging deployment is pending for more than ten minutes, try closing your pull request (without deleting the branch) and reopening it. This will trigger a new staging deployment. It won't break anything. If that doesn't work, use the commands below to trigger a new staging deployment by pushing an empty commit on the command line. - + ```shell git commit --allow-empty -m 'empty commit to redeploy staging' git push @@ -73,8 +73,8 @@ If the error does not include the location of the broken link, you will need to When you locate the broken link, make sure the link is versioned correctly. For example, if the article only exists for GHES version 3.8+, make sure the link is versioned for 3.8+. -If an article that is available for {% data variables.product.prodname_ghe_server %} links to a {% data variables.product.prodname_dotcom_the_website %}-only article, include the version in the path to prevent the URL from automatically converting to include a {% data variables.product.prodname_ghe_server %} version number. The following example demonstrates how to link from a {% data variables.product.prodname_ghe_server %} article to a {% data variables.product.prodname_dotcom_the_website %}-only article. - +If an article that is available for {% data variables.product.prodname_ghe_server %} links to a different version of {% data variables.product.prodname_docs %}, include the version in the path to prevent the URL from automatically converting to include a {% data variables.product.prodname_ghe_server %} version number. The following example demonstrates how to link from a {% data variables.product.prodname_ghe_server %} article to a Free, Pro, & Team version of an article. + ```text [{% raw %}{{ data variables.product.prodname_github_connect }} Addendum to the {{ data variables.product.prodname_enterprise }} License Agreement{% endraw %}](/free-pro-team@latest/articles/github-connect-addendum-to-the-github-enterprise-license-agreement/)" ``` diff --git a/content/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs.md b/content/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs.md index 397a7b429738..21035b8b9fbe 100644 --- a/content/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs.md +++ b/content/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs.md @@ -376,7 +376,7 @@ For example, if you include the following link in a content file: /github/writing-on-github/creating-a-saved-reply ``` -When viewed on {% data variables.product.prodname_dotcom_the_website %} docs, the link gets rendered with the language code: +When viewed on {% data variables.product.prodname_docs %}, the link gets rendered with the language code: ```text /en/github/writing-on-github/creating-a-saved-reply diff --git a/content/contributing/writing-for-github-docs/using-yaml-frontmatter.md b/content/contributing/writing-for-github-docs/using-yaml-frontmatter.md index f835fb67c02a..e79e3bba0d32 100644 --- a/content/contributing/writing-for-github-docs/using-yaml-frontmatter.md +++ b/content/contributing/writing-for-github-docs/using-yaml-frontmatter.md @@ -53,7 +53,7 @@ For more information about the different types of versioning, see "[Versioning d This frontmatter value is used by the docs site to generate "permalinks" for each version of an article. For more information, see [Permalinks](/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs#permalinks). -Example that applies to {% data variables.product.prodname_dotcom_the_website %} and recent versions of {% data variables.product.prodname_ghe_server %}: +Example that applies to Free, Pro, & Team and {% data variables.product.prodname_ghe_server %} version 3.11 and later: ```yaml title: About your personal dashboard @@ -62,7 +62,7 @@ versions: ghes: '>=3.11' ``` -Example that applies to all supported versions of {% data variables.product.prodname_ghe_server %}, but not {% data variables.product.prodname_dotcom_the_website %}: +Example that applies only to {% data variables.product.prodname_ghe_server %}: ```yaml title: Downloading your license @@ -70,7 +70,7 @@ versions: ghes: '*' ``` -You can also version a page for a range of releases. This would version the page for {% data variables.product.prodname_dotcom_the_website %}, and {% data variables.product.prodname_ghe_server %} versions 3.1 and 3.2 only: +You can also version a page for a range of releases. This would version the page for Free, Pro, & Team, and {% data variables.product.prodname_ghe_server %} versions 3.1 and 3.2 only: ```yaml versions: diff --git a/content/contributing/writing-for-github-docs/versioning-documentation.md b/content/contributing/writing-for-github-docs/versioning-documentation.md index bc1e8a1b2694..347622a71fc8 100644 --- a/content/contributing/writing-for-github-docs/versioning-documentation.md +++ b/content/contributing/writing-for-github-docs/versioning-documentation.md @@ -9,7 +9,7 @@ redirect_from: On {% data variables.product.prodname_docs %}, we provide versions of our documentation that reflect the differences in UI and functionality across {% data variables.product.company_short %}'s major product offerings. Contributors can use versioning syntax to scope content to a specific product offering. -Versioning syntax allows the reader to manually choose the version of the documentation that applies to the product they're using. {% data variables.product.prodname_docs %}' URLs can also include versioning information, which allows links from {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_ghe_server %} to send the reader directly to documentation for the product they're using. +Versioning syntax allows the reader to manually choose the version of the documentation that applies to the product they're using. {% data variables.product.prodname_docs %}' URLs can also include versioning information, which allows links from one version of {% data variables.product.prodname_docs %} to another to send the reader directly to documentation for the product they're using. ## How and where to version @@ -26,7 +26,7 @@ There are two types of versioning syntax for {% data variables.product.prodname_ ... ``` - The following example shows content versioned for {% data variables.product.prodname_dotcom_the_website %}, and all versions of {% data variables.product.prodname_ghe_server %}. + The following example shows content versioned for Free, Pro, & Team, and all versions of {% data variables.product.prodname_ghe_server %}. ```yaml versions: @@ -50,7 +50,7 @@ There are two types of versioning syntax for {% data variables.product.prodname_ ## About the different versions of {% data variables.product.company_short %} -We provide versioned documentation for users of {% data variables.product.prodname_dotcom_the_website %} plans including {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}. If multiple versions of a page exist on the site, readers can choose the version from the version picker at the top of the page. +We provide versioned documentation for users of {% data variables.product.prodname_dotcom %} plans including {% data variables.product.prodname_ghe_cloud %} and {% data variables.product.prodname_ghe_server %}. If multiple versions of a page exist on the site, readers can choose the version from the version picker at the top of the page. ### {% data variables.product.prodname_dotcom_the_website %} @@ -91,7 +91,7 @@ versions: ghes: '*' ``` -You can also version a page for a range of releases. The following example will version the page for {% data variables.product.prodname_dotcom_the_website %}, and {% data variables.product.prodname_ghe_server %} versions 3.1 and 3.2 only: +You can also version a page for a range of releases. The following example will version the page for Free, Pro, & Team, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %} versions 3.1 and 3.2 only: ```yaml versions: 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 0ed0d1f51557..f503f414e0ef 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 @@ -14,7 +14,7 @@ An assignment is coursework in {% data variables.product.prodname_classroom %}. ## classroom -A classroom is the basic unit of {% data variables.product.prodname_classroom %}. Teachers can use a classroom to organize and manage students, teaching assistants, and assignments for a single course. A classroom belongs to an organization on {% data variables.product.prodname_dotcom_the_website %}. To administer a classroom, you must be an organization owner for the organization on {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms)." +A classroom is the basic unit of {% data variables.product.prodname_classroom %}. Teachers can use a classroom to organize and manage students, teaching assistants, and assignments for a single course. A classroom belongs to an organization on {% data variables.product.prodname_dotcom %}. To administer a classroom, you must be an organization owner for the organization. For more information, see "[AUTOTITLE](/education/manage-coursework-with-github-classroom/teach-with-github-classroom/manage-classrooms)." --- diff --git a/content/get-started/archiving-your-github-personal-account-and-public-repositories/requesting-an-archive-of-your-personal-accounts-data.md b/content/get-started/archiving-your-github-personal-account-and-public-repositories/requesting-an-archive-of-your-personal-accounts-data.md index 8b27d5b22096..aca1fc57eba2 100644 --- a/content/get-started/archiving-your-github-personal-account-and-public-repositories/requesting-an-archive-of-your-personal-accounts-data.md +++ b/content/get-started/archiving-your-github-personal-account-and-public-repositories/requesting-an-archive-of-your-personal-accounts-data.md @@ -15,11 +15,11 @@ topics: shortTitle: Request account archive --- -{% data variables.product.product_name %} stores repository and profile metadata from your personal account's activity. You can export your personal account's data through settings on {% data variables.product.prodname_dotcom_the_website %} or with the User Migration API. +{% data variables.product.product_name %} stores repository and profile metadata from your personal account's activity. You can export your personal account's data through your account settings on {% data variables.product.prodname_dotcom %} or with the User Migration API. For more information about the data {% data variables.product.product_name %} stores that is available for exporting, see "[AUTOTITLE](/rest/migrations#download-a-user-migration-archive)." -When you request an export of your personal data through settings on {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.product_name %} packages your personal data in a `tar.gz` file and sends you an email to your primary email address with a download link. +When you request an export of your personal data through your account settings on {% data variables.product.prodname_dotcom %}, {% data variables.product.product_name %} packages your personal data in a `tar.gz` file and sends you an email to your primary email address with a download link. By default, the download link expires after seven days. At any time before the download link expires, you can disable the link from your user settings. For more information, see "[AUTOTITLE](/get-started/archiving-your-github-personal-account-and-public-repositories/requesting-an-archive-of-your-personal-accounts-data#deleting-access-to-an-archive-of-your-personal-accounts-data)." diff --git a/content/get-started/exploring-projects-on-github/contributing-to-a-project.md b/content/get-started/exploring-projects-on-github/contributing-to-a-project.md index df7832fa45da..89b48c9766be 100644 --- a/content/get-started/exploring-projects-on-github/contributing-to-a-project.md +++ b/content/get-started/exploring-projects-on-github/contributing-to-a-project.md @@ -26,7 +26,7 @@ You can contribute by submitting pull requests from your fork to the upstream re ## Forking a repository -This tutorial uses [the Spoon-Knife project](https://github.com/octocat/Spoon-Knife), a test repository that's hosted on {% data variables.product.prodname_dotcom_the_website %} that lets you test the fork and pull request workflow. +This tutorial uses [the Spoon-Knife project](https://github.com/octocat/Spoon-Knife), a test repository that's hosted on {% data variables.product.prodname_dotcom %} that lets you test the fork and pull request workflow. 1. Navigate to the `Spoon-Knife` project at https://github.com/octocat/Spoon-Knife. 1. In the top-right corner of the page, click **Fork**. 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 a73fc6c7243d..a4f5279c1c07 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,6 +1,6 @@ --- 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.{% ifversion fpt or ghec %} 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 or ghec %} These features are also enabled for public repositories.{% endif %}' product: '{% data reusables.gated-features.ghas %}' versions: fpt: '*' diff --git a/content/get-started/learning-about-github/githubs-plans.md b/content/get-started/learning-about-github/githubs-plans.md index 603c8938cbff..3cde4f146be1 100644 --- a/content/get-started/learning-about-github/githubs-plans.md +++ b/content/get-started/learning-about-github/githubs-plans.md @@ -135,7 +135,7 @@ In addition to the features available with {% data variables.product.prodname_te * Included minutes can be used with standard {% data variables.product.prodname_dotcom %}-hosted runners only. For more information about billing for {% data variables.actions.hosted_runners %}, see "[AUTOTITLE](/enterprise-cloud@latest/actions/using-github-hosted-runners/about-larger-runners/about-larger-runners#understanding-billing)." * 50 GB {% data variables.product.prodname_registry %} storage * A service level agreement for 99.9% monthly uptime -* The option to centrally manage policy and billing for multiple {% data variables.product.prodname_dotcom_the_website %} organizations with an enterprise account. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/managing-your-enterprise-account/about-enterprise-accounts)." +* The option to centrally manage policy and billing for multiple {% data variables.product.prodname_dotcom %} organizations with an enterprise account. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/managing-your-enterprise-account/about-enterprise-accounts)." * If you upgrade an existing organization to {% data variables.product.prodname_ghe_cloud %}, your enterprise account will contain your organization. For more information, see "[AUTOTITLE]({% ifversion fpt or ghes %}/enterprise-cloud@latest{% endif %}/billing/managing-the-plan-for-your-github-account/upgrading-your-accounts-plan#upgrading-your-organizations-plan)" and "[AUTOTITLE]({% ifversion fpt or ghes %}/enterprise-cloud@latest{% endif %}/admin/managing-your-enterprise-account/creating-an-enterprise-account#about-enterprise-account-creation){% ifversion fpt or ghes %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} * The option to provision and manage the user accounts for your developers, by using {% data variables.product.prodname_emus %}. For more information, see "[AUTOTITLE](/enterprise-cloud@latest/admin/identity-and-access-management/understanding-iam-for-enterprises/about-enterprise-managed-users)." diff --git a/content/get-started/start-your-journey/creating-an-account-on-github.md b/content/get-started/start-your-journey/creating-an-account-on-github.md index f8ff4a7af9c3..91c9d17c674c 100644 --- a/content/get-started/start-your-journey/creating-an-account-on-github.md +++ b/content/get-started/start-your-journey/creating-an-account-on-github.md @@ -18,9 +18,9 @@ topics: - Accounts --- -## About your personal account on {% data variables.product.prodname_dotcom_the_website %} +## About your personal account on {% data variables.product.prodname_dotcom %} -To get started with {% data variables.product.prodname_dotcom %}, you'll need to create a free personal account on {% data variables.product.prodname_dotcom_the_website %} and verify your email address. +To get started with {% data variables.product.prodname_dotcom %}, you'll need to create a free personal account and verify your email address. {% data reusables.accounts.your-personal-account %} diff --git a/content/get-started/using-github-docs/about-versions-of-github-docs.md b/content/get-started/using-github-docs/about-versions-of-github-docs.md index ed4bdcfeb42f..38946aadfb89 100644 --- a/content/get-started/using-github-docs/about-versions-of-github-docs.md +++ b/content/get-started/using-github-docs/about-versions-of-github-docs.md @@ -43,7 +43,7 @@ In a wide browser window, there is no text that immediately follows the {% data {% endif %} -On {% data variables.product.prodname_dotcom_the_website %}, each account has its own plan. Each personal account has an associated plan that provides access to certain features, and each organization has a different associated plan. If your personal account is a member of an organization on {% data variables.product.prodname_dotcom_the_website %}, you may have access to different features when you use resources owned by that organization than when you use resources owned by your personal account. For more information, see "[AUTOTITLE](/get-started/learning-about-github/types-of-github-accounts)." +On {% data variables.product.prodname_dotcom_the_website %}, each account has its own plan. Each personal account has an associated plan that provides access to certain features, and each organization has a different associated plan. If your personal account is a member of an organization on {% data variables.product.prodname_dotcom %}, you may have access to different features when you use resources owned by that organization than when you use resources owned by your personal account. For more information, see "[AUTOTITLE](/get-started/learning-about-github/types-of-github-accounts)." If you don't know whether an organization uses {% data variables.product.prodname_ghe_cloud %}, ask an organization owner. For more information, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization)." diff --git a/content/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic.md b/content/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic.md index 83b2127985ff..752419ccdc72 100644 --- a/content/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic.md +++ b/content/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic.md @@ -38,7 +38,7 @@ You can migrate your {% data variables.projects.projects_v1_boards %} to the new ## Migrating a user {% data variables.projects.projects_v1_board %} -1. In the upper-right corner of {% data variables.product.prodname_dotcom_the_website %}, select your profile photo, then click **Your projects**. +1. In the upper-right corner of {% data variables.product.prodname_dotcom %}, select your profile photo, then click **Your projects**. ![Screenshot showing the profile photo menu. The "Your projects" link is highlighted with an orange outline.](/assets/images/help/projects-v2/projects-profile-menu.png) diff --git a/content/issues/planning-and-tracking-with-projects/learning-about-projects/finding-your-projects.md b/content/issues/planning-and-tracking-with-projects/learning-about-projects/finding-your-projects.md index 6448795c4c00..9a9cef27c972 100644 --- a/content/issues/planning-and-tracking-with-projects/learning-about-projects/finding-your-projects.md +++ b/content/issues/planning-and-tracking-with-projects/learning-about-projects/finding-your-projects.md @@ -38,7 +38,7 @@ You can view and filter projects that you have created under your personal accou Repositories can be linked to organization-level and user-level projects. You can browse and filter the projects that are linked to a specific repository. For more information on linking projects to a repository, see "[AUTOTITLE](/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository)." -1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %}, navigate to the main page of your repository. +1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of your repository. 1. Click {% octicon "table" aria-hidden="true" %} **Projects**. ![Screenshot showing a repository's tabs. The "Projects" tab is highlighted with an orange outline.](/assets/images/help/projects-v2/repo-tab.png) diff --git a/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization.md b/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization.md index 0e933168d821..d84d26eb08f4 100644 --- a/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization.md @@ -30,7 +30,7 @@ You can also require two-factor authentication for organizations in an enterpris {% note %} -**Note**: Some of the users in your organization may have been selected for mandatory two-factor authentication enrollment by {% data variables.product.prodname_dotcom_the_website %}, but it has no impact on how you enable the 2FA requirement for your organization. If you enable the 2FA requirement in your organization, all users without 2FA currently enabled will be removed from your organization, including those that are required to enable it by {% data variables.product.prodname_dotcom_the_website %}. +**Note**: Some of the users in your organization may have been selected for mandatory two-factor authentication enrollment by {% data variables.product.prodname_dotcom %}, but it has no impact on how you enable the 2FA requirement for your organization. If you enable the 2FA requirement in your organization, all users without 2FA currently enabled will be removed from your organization, including those that are required to enable it by {% data variables.product.prodname_dotcom %}. {% endnote %} 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 cca395fe5760..849f2844913e 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 @@ -37,7 +37,7 @@ If your organization has a paid per-user subscription, an unused license must be If your organization requires members to use two-factor authentication, users that you invite must enable two-factor authentication before accepting the invitation. For more information, see "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization)" and "[AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa)." -{% ifversion fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %}{% else %}You{% endif %} can implement SCIM to add, manage, and remove organization members' access to {% data variables.product.prodname_dotcom_the_website %} through an identity provider (IdP). For more information, see "[AUTOTITLE](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} +{% ifversion fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %}{% else %}You{% endif %} can implement SCIM to add, manage, and remove organization members' access to {% data variables.product.prodname_dotcom %} through an identity provider (IdP). For more information, see "[AUTOTITLE](/enterprise-cloud@latest/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} To prevent abuse, you can only create 50 organization invitations within a 24-hour period. If your organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. {% ifversion ghec %} This limit does not apply to invitations created via SCIM provisioning.{% endif %} 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 132b7c577fb0..1c932abd314f 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 @@ -51,8 +51,8 @@ When you reinstate a former organization member, the following items can be rest The correct way to reinstate a former member depends on your organization's identity and access management configuration. -* If the user was removed via SCIM because they were unassigned from the {% data variables.product.product_name %} application in your IdP, re-invite the user via SCIM by re-assigning them to the application. The user's organization membership will be reinstated after they sign into {% data variables.product.prodname_dotcom_the_website %} and accept the invitation. -* If your organization uses SAML but not SCIM, ask the user to authenticate via SAML single sign-on, via your IP or by signing into {% data variables.product.prodname_dotcom_the_website %}, navigating to the organization, and clicking the banner to authenticate via SAML single sign-on. The user's organization membership will be reinstated after they successfully authenticate. +* If the user was removed via SCIM because they were unassigned from the {% data variables.product.product_name %} application in your IdP, re-invite the user via SCIM by re-assigning them to the application. The user's organization membership will be reinstated after they sign into {% data variables.product.prodname_dotcom %} and accept the invitation. +* If your organization uses SAML but not SCIM, ask the user to authenticate via SAML single sign-on, via your IP or by signing into {% data variables.product.prodname_dotcom %}, navigating to the organization, and clicking the banner to authenticate via SAML single sign-on. The user's organization membership will be reinstated after they successfully authenticate. * Otherwise, invite the user to rejoin your organization on {% data variables.product.prodname_dotcom %}, following the steps below. {% endif %} 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 2fc4edda84ca..c356a4b4bae6 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 @@ -46,7 +46,7 @@ Alternatively, you can configure SAML SSO for an enterprise using Okta. SCIM for {% data reusables.scim.dedicated-configuration-account %} -1. Sign into {% data variables.product.prodname_dotcom_the_website %} using an account that is an organization owner and is ideally used only for SCIM configuration. +1. Sign into {% data variables.product.prodname_dotcom %} using an account that is an organization owner and is ideally used only for SCIM configuration. 1. To create an active SAML session for your organization, navigate to `https://github.com/orgs/ORGANIZATION-NAME/sso`. For more information, see "[AUTOTITLE](/authentication/authenticating-with-saml-single-sign-on/about-authentication-with-saml-single-sign-on#about-oauth-apps-github-apps-and-saml-sso)." 1. Navigate to Okta. {% data reusables.saml.okta-dashboard-click-applications %} 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 6c6c32290f6f..5b3dad2f022e 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 @@ -14,7 +14,7 @@ shortTitle: Enforce SAML single sign-on ## About enforcement of SAML SSO for your organization -When you enable SAML SSO, {% data variables.product.prodname_dotcom %} will prompt members who visit the organization's resources on {% data variables.product.prodname_dotcom_the_website %} to authenticate on your IdP, which links the member's personal account to an identity on the IdP. Members can still access the organization's resources before authentication with your IdP. +When you enable SAML SSO, {% data variables.product.prodname_dotcom %} will prompt members who visit the organization's resources on {% data variables.product.prodname_dotcom %} to authenticate on your IdP, which links the member's personal account to an identity on the IdP. Members can still access the organization's resources before authentication with your IdP. You can also enforce SAML SSO for your organization. {% data reusables.saml.when-you-enforce %} Enforcement removes any members and administrators who have not authenticated via your IdP from the organization. {% data variables.product.company_short %} sends an email notification to each removed user. 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 83be6ce74886..484d498cdb0f 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 @@ -20,7 +20,7 @@ shortTitle: Custom domains in GitHub Pages {% data reusables.pages.custom-domain-warning %} -On {% data variables.product.prodname_dotcom_the_website %}, {% data variables.product.prodname_pages %} works with two types of domains: subdomains and apex domains. For a list of unsupported custom domains, see "[AUTOTITLE](/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages#custom-domain-names-that-are-unsupported)." +{% data variables.product.prodname_pages %} works with two types of domains: subdomains and apex domains. For a list of unsupported custom domains, see "[AUTOTITLE](/pages/configuring-a-custom-domain-for-your-github-pages-site/troubleshooting-custom-domains-and-github-pages#custom-domain-names-that-are-unsupported)." | Supported custom domain type | Example | |---|---| diff --git a/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md b/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md index baced2b2888c..8b233d2176e5 100644 --- a/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md +++ b/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request.md @@ -27,7 +27,7 @@ shortTitle: Review dependency changes {% ifversion ghec %}Before you can use dependency review in a private repository, you must enable the dependency graph. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph-for-a-private-repository)."{% endif %} -{% ifversion ghes %} Before you can use dependency review, you must enable the dependency graph and connect {% data variables.location.product_location %} to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[AUTOTITLE](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)."{% endif %} +{% ifversion ghes %}Before you can use dependency review, you must enable the dependency graph and connect {% data variables.location.product_location %} to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[AUTOTITLE](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)."{% endif %} Dependency review allows you to "shift left". You can use the provided predictive information to catch vulnerable dependencies before they hit production. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)." diff --git a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md index 5e90c58ddba2..a7c7939de73e 100644 --- a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md +++ b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo.md @@ -52,7 +52,7 @@ If you haven't yet, first set up Git and authentication with {% data variables.l You might fork a project to propose changes to the upstream repository. In this case, it's good practice to regularly sync your fork with the upstream repository. To do this, you'll need to use Git on the command line. You can practice setting the upstream repository using the same [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository you just forked. -1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. +1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. 1. In the top-right corner of the page, click **Fork**. ![Screenshot of the main page of repository. A button, labeled with a fork icon and "Fork 59.3k," is outlined in dark orange.](/assets/images/help/repository/fork-button.png) @@ -102,7 +102,7 @@ Right now, you have a fork of the Spoon-Knife repository, but you do not have th {% webui %} -1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to **your fork** of the Spoon-Knife repository. +1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to **your fork** of the Spoon-Knife repository. {% data reusables.repositories.copy-clone-url %} {% data reusables.command_line.open_the_multi_os_terminal %} {% data reusables.command_line.change-current-directory-clone %} @@ -153,7 +153,7 @@ When you fork a project in order to propose changes to the upstream repository, {% webui %} -1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. +1. On {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.location.product_location %}{% endif %}, navigate to the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. {% data reusables.repositories.copy-clone-url %} {% data reusables.command_line.open_the_multi_os_terminal %} 1. Change directories to the location of the fork you cloned. diff --git a/content/repositories/archiving-a-github-repository/backing-up-a-repository.md b/content/repositories/archiving-a-github-repository/backing-up-a-repository.md index 2712d7691fad..eb4b2df0b583 100644 --- a/content/repositories/archiving-a-github-repository/backing-up-a-repository.md +++ b/content/repositories/archiving-a-github-repository/backing-up-a-repository.md @@ -73,7 +73,7 @@ Migration archives can be restored to your {% data variables.product.prodname_gh {% endwarning %} {% else %} -There is no supported, documented way to restore migration archives on {% data variables.product.prodname_dotcom_the_website %}, so these backups are only suitable for archiving purposes. +There is no supported, documented way to restore migration archives on {% data variables.product.prodname_dotcom %}, so these backups are only suitable for archiving purposes. {% endif %} {% ifversion fpt or ghec %} diff --git a/content/repositories/creating-and-managing-repositories/repository-limits.md b/content/repositories/creating-and-managing-repositories/repository-limits.md index 8cad689046a5..3379b9069d45 100644 --- a/content/repositories/creating-and-managing-repositories/repository-limits.md +++ b/content/repositories/creating-and-managing-repositories/repository-limits.md @@ -32,7 +32,7 @@ Some portions of a limited diff may be displayed, but anything exceeding the lim The compare view and pull requests pages display a list of commits between the `base` and `head` revisions. These lists are limited to **250** commits. If they exceed that limit, a note indicates that additional commits are present (but they're not shown). -The maximum count of commits displayed on the Commits tab of {% data variables.product.prodname_dotcom_the_website %} is **10,000**. Use other tools such as `git rev-list --count mybranch` to count and enumerate a high volume of commits when needed. +The maximum count of commits displayed on the Commits tab is **10,000**. Use other tools such as `git rev-list --count mybranch` to count and enumerate a high volume of commits when needed. ## Organization Limits diff --git a/content/repositories/releasing-projects-on-github/linking-to-releases.md b/content/repositories/releasing-projects-on-github/linking-to-releases.md index d0cc66b77d07..17ec3df2c7bb 100644 --- a/content/repositories/releasing-projects-on-github/linking-to-releases.md +++ b/content/repositories/releasing-projects-on-github/linking-to-releases.md @@ -15,7 +15,7 @@ topics: ## Linking to the latest release -You can share a link to the latest release for a repository by adding `releases/latest` to the end of a repository's URL. For example, the URL for the latest release of `octo-org/octo-repo` on {% data variables.product.prodname_dotcom_the_website %} is `https://github.com/octo-org/octo-repo/releases/latest`. +You can share a link to the latest release for a repository by adding `releases/latest` to the end of a repository's URL. For example, the URL for the latest release of `octo-org/octo-repo` is `https://{% data variables.product.product_url %}/octo-org/octo-repo/releases/latest`. To link directly to a download of your latest release asset that was manually uploaded, the suffix is `/releases/latest/download/asset-name.zip`. diff --git a/content/search-github/github-code-search/about-github-code-search.md b/content/search-github/github-code-search/about-github-code-search.md index 7cc94c5d8e54..dbe3dcc75bd9 100644 --- a/content/search-github/github-code-search/about-github-code-search.md +++ b/content/search-github/github-code-search/about-github-code-search.md @@ -12,7 +12,7 @@ topics: {% data variables.product.prodname_dotcom %} code search lets you rapidly search, navigate and understand your code, your team's code, and the code of the open source community. This search engine is designed to be scalable, code-aware, and support searching code across {% data variables.product.prodname_dotcom %} using regular expressions, boolean operations, specialized qualifiers, and symbol search. For more information on the syntax of code search, see "[AUTOTITLE](/search-github/github-code-search/understanding-github-code-search-syntax)." -Code search is integrated with features in the search interface on {% data variables.product.prodname_dotcom_the_website %}, such as suggestions and completions. Your searches will be saved automatically and can be deleted at any time. On {% data variables.product.prodname_mobile %}, you can use the same methods to search through code {% ifversion global-code-search-mobile %}directly from the home screen{% else %} in a specific repository{% endif %}. For more information, see "[AUTOTITLE](/search-github/github-code-search/using-github-code-search)." +Code search is integrated with features in the search interface on {% data variables.product.prodname_dotcom %}, such as suggestions and completions. Your searches will be saved automatically and can be deleted at any time. On {% data variables.product.prodname_mobile %}, you can use the same methods to search through code {% ifversion global-code-search-mobile %}directly from the home screen{% else %} in a specific repository{% endif %}. For more information, see "[AUTOTITLE](/search-github/github-code-search/using-github-code-search)." {% data reusables.search.code-search-login-requirement %} @@ -28,7 +28,7 @@ Supported languages for code navigation include: ## Limitations -We have indexed many public repositories for code search, and continue to index more. Additionally, the private repositories of {% data variables.product.prodname_dotcom%} users are indexed and searchable by those that already have access to those private repositories on {% data variables.product.prodname_dotcom_the_website %}. However, very large repositories may not be indexed at this time, and not all code is indexed. +We have indexed many public repositories for code search, and continue to index more. Additionally, the private repositories of {% data variables.product.prodname_dotcom%} users are indexed and searchable by those that already have access to those private repositories on {% data variables.product.prodname_dotcom %}. However, very large repositories may not be indexed at this time, and not all code is indexed. The current limitations on indexed code are: diff --git a/content/search-github/github-code-search/using-github-code-search.md b/content/search-github/github-code-search/using-github-code-search.md index 3b53cdc8df6c..e19bdda5349d 100644 --- a/content/search-github/github-code-search/using-github-code-search.md +++ b/content/search-github/github-code-search/using-github-code-search.md @@ -1,6 +1,6 @@ --- title: Using GitHub Code Search -intro: "You can use suggestions, completions and saved searches in the upgraded search interface to quickly find what you are looking for across {% data variables.product.prodname_dotcom_the_website %}." +intro: "You can use suggestions, completions and saved searches in the upgraded search interface to quickly find what you are looking for across {% data variables.product.prodname_dotcom %}." allowTitleToDifferFromFilename: true versions: feature: code-search-upgrade @@ -10,7 +10,7 @@ topics: ## About using {% data variables.product.prodname_dotcom%} code search -{% data variables.product.prodname_dotcom %} indexes repositories you own and repositories in organizations you are a member of, whether public, private, or internal. This means that you can search across all of your repositories, in addition to the public repositories on {% data variables.product.prodname_dotcom_the_website %} that have already been indexed. Only users with permission to view your code on {% data variables.product.prodname_dotcom_the_website %} will be able to see your code in search results. Forks are indexed and searchable in the same way as other repositories. +{% data variables.product.prodname_dotcom %} indexes repositories you own and repositories in organizations you are a member of, whether public, private, or internal. This means that you can search across all of your repositories, in addition to the public repositories on {% data variables.product.prodname_dotcom %} that have already been indexed. Only users with permission to view your code will be able to see your code in search results. Forks are indexed and searchable in the same way as other repositories. Not all code is indexed, and you can currently only search the default branches of repositories. For more information on known limitations, see "[AUTOTITLE](/search-github/github-code-search/about-github-code-search#limitations)." @@ -18,13 +18,13 @@ Not all code is indexed, and you can currently only search the default branches ## Using the search bar -You can search using the search interface on {% data variables.product.prodname_dotcom_the_website %}. Using suggestions, completions, and saved searches, you can quickly find what you are looking for, often without having to fully type a query or view the search results page. +You can search using the search interface on {% data variables.product.prodname_dotcom %}. Using suggestions, completions, and saved searches, you can quickly find what you are looking for, often without having to fully type a query or view the search results page. For more information about the search syntax of code search, see "[AUTOTITLE](/search-github/github-code-search/understanding-github-code-search-syntax)." {% data reusables.search.non-code-search-explanation %} -1. In the top navigation of {% data variables.product.prodname_dotcom_the_website %}, click the search bar. +1. In the top navigation of {% data variables.product.prodname_dotcom %}, click the search bar. 1. Under the search bar, you will see a list of suggestions organized by category, including recent searches and suggested repositories, teams, and projects that you have access to. You can also see a list of saved searches that you have created. For more information on saved searches, see "[Creating and managing saved searches](#creating-and-managing-saved-searches)." ![Screenshot of the {% data variables.product.prodname_dotcom %} search bar. There is a list of search suggestions by category below the search bar.](/assets/images/help/search/code-search-beta-search-bar.png) @@ -39,7 +39,7 @@ For more information about the search syntax of code search, see "[AUTOTITLE](/s ## Creating and managing saved searches -1. In the top navigation of {% data variables.product.prodname_dotcom_the_website %}, click the search bar and type `saved:`. +1. In the top navigation of {% data variables.product.prodname_dotcom %}, click the search bar and type `saved:`. 1. Under the search bar, in the "Saved queries" section, click {% octicon "plus-circle" aria-hidden="true" %} **Manage saved searches**. 1. In the pop-up window, type both the name you want for your saved search and the query you want to save. 1. To finish creating your saved search, click **Create saved search**. @@ -54,9 +54,9 @@ To construct a search query, as well as view and filter results, using a visual On the search results view, you can navigate between different types of search results, including code, issues, pull request, repositories, and more. You can also view and use filters. -## Using {% data variables.product.prodname_dotcom%} code search on {% data variables.product.prodname_mobile %} +## Using {% data variables.product.prodname_dotcom %} code search on {% data variables.product.prodname_mobile %} -{% ifversion global-code-search-mobile %}On {% data variables.product.prodname_mobile %}, you can use code search directly from the search bar in the home screen.{% else %} On {% data variables.product.prodname_mobile %}, you can navigate to a repository and use code search on the code in that repository.{% endif %} Code search on {% data variables.product.prodname_mobile %} uses the same syntax as code search on {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[AUTOTITLE](/search-github/github-code-search/about-github-code-search#limitations)." +{% ifversion global-code-search-mobile %}On {% data variables.product.prodname_mobile %}, you can use code search directly from the search bar in the home screen.{% else %} On {% data variables.product.prodname_mobile %}, you can navigate to a repository and use code search on the code in that repository.{% endif %} Code search on {% data variables.product.prodname_mobile %} uses the same syntax as code search on {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/search-github/github-code-search/about-github-code-search#limitations)." {% ifversion global-code-search-mobile %} diff --git a/content/search-github/searching-on-github/searching-code.md b/content/search-github/searching-on-github/searching-code.md index 3c1f94dc5867..dcdcc5a687e9 100644 --- a/content/search-github/searching-on-github/searching-code.md +++ b/content/search-github/searching-on-github/searching-code.md @@ -20,7 +20,7 @@ topics: **Note:** This article covers the syntax for legacy code search, which you should only need to use for the [REST API endpoint for searching code](/rest/search/search#search-code). -For information on the code search syntax that you can use on {% data variables.product.prodname_dotcom_the_website %}, see "[AUTOTITLE](/search-github/github-code-search/understanding-github-code-search-syntax)." +For information on the code search syntax that you can use on {% data variables.product.prodname_dotcom %}, see "[AUTOTITLE](/search-github/github-code-search/understanding-github-code-search-syntax)." {% endnote %} {% endif %} diff --git a/content/search-github/searching-on-github/searching-github-marketplace.md b/content/search-github/searching-on-github/searching-github-marketplace.md index 74bc51a7dad7..a1f72c36b952 100644 --- a/content/search-github/searching-on-github/searching-github-marketplace.md +++ b/content/search-github/searching-on-github/searching-github-marketplace.md @@ -17,7 +17,7 @@ shortTitle: Search GitHub Marketplace You can find apps and actions on {% data variables.product.prodname_marketplace %} in two ways: * Search from in {% data variables.product.prodname_marketplace %}. -* Search across all of {% data variables.product.prodname_dotcom_the_website %} and then filter the results. +* Search across all of {% data variables.product.prodname_dotcom %} and then filter the results. ## Searching in {% data variables.product.prodname_marketplace %} @@ -25,9 +25,9 @@ You can find apps and actions on {% data variables.product.prodname_marketplace 1. Type any keywords and press **Enter**. 1. Optionally, filter your results by clicking one or more options in the left sidebar. -## Searching across {% data variables.product.prodname_dotcom_the_website %} +## Searching across {% data variables.product.prodname_dotcom %} -Anytime you search across all of {% data variables.product.prodname_dotcom_the_website %}, you can filter the results to see matching apps and actions from {% data variables.product.prodname_marketplace %}. +Anytime you search across all of {% data variables.product.prodname_dotcom %}, you can filter the results to see matching apps and actions from {% data variables.product.prodname_marketplace %}. 1. Navigate to https://github.com/search. 1. Type any keywords and press **Enter**. diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/unlinking-your-patreon-account-from-your-github-sponsors-profile.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/unlinking-your-patreon-account-from-your-github-sponsors-profile.md index 1cda6a000ebb..b48e7e44a238 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/unlinking-your-patreon-account-from-your-github-sponsors-profile.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/unlinking-your-patreon-account-from-your-github-sponsors-profile.md @@ -13,7 +13,7 @@ shortTitle: Unlink Patreon {% note %} -**Note:** Unlinking your Patreon account from your {% data variables.product.prodname_sponsors %} profile will prevent new sponsors from sponsoring you through Patreon, but it **will not** cancel existing sponsorships through Patreon. Instead, they will appear as cancelled on {% data variables.product.prodname_dotcom_the_website %} and your sponsors will have to cancel those sponsorships themselves on Patreon. For more information, see [How do I cancel?](https://support.patreon.com/hc/en-us/articles/360005502572-How-do-I-cancel-) in the Patreon documentation. +**Note:** Unlinking your Patreon account from your {% data variables.product.prodname_sponsors %} profile will prevent new sponsors from sponsoring you through Patreon, but it **will not** cancel existing sponsorships through Patreon. Instead, they will appear as cancelled on {% data variables.product.prodname_dotcom %} and your sponsors will have to cancel those sponsorships themselves on Patreon. For more information, see [How do I cancel?](https://support.patreon.com/hc/en-us/articles/360005502572-How-do-I-cancel-) in the Patreon documentation. {% endnote %} diff --git a/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor-through-patreon.md b/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor-through-patreon.md index ecbc43411103..7a891162b406 100644 --- a/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor-through-patreon.md +++ b/content/sponsors/sponsoring-open-source-contributors/sponsoring-an-open-source-contributor-through-patreon.md @@ -1,6 +1,6 @@ --- title: Sponsoring an open source contributor through Patreon -intro: 'You can make payments through Patreon on {% data variables.product.prodname_dotcom_the_website %} to a developer or organization who designs, creates, or maintains open source projects you depend on.' +intro: 'You can make payments through Patreon on {% data variables.product.prodname_dotcom %} to a developer or organization who designs, creates, or maintains open source projects you depend on.' versions: fpt: '*' ghec: '*' @@ -14,11 +14,11 @@ shortTitle: Sponsor through Patreon ## About sponsoring through Patreon -Rather than paying through {% data variables.product.prodname_dotcom %}, you can choose to sponsor eligible maintainers through Patreon on {% data variables.product.prodname_dotcom_the_website %}. +Rather than paying through {% data variables.product.prodname_dotcom %}, you can choose to sponsor eligible maintainers through Patreon on {% data variables.product.prodname_dotcom %}. -To sponsor through Patreon on {% data variables.product.prodname_dotcom_the_website %}, both you and the selected maintainer must link your Patreon accounts to your {% data variables.product.prodname_dotcom %} accounts. You can then choose to sponsor maintainers through Patreon on {% data variables.product.prodname_dotcom_the_website %}, or you can sponsor the maintainer directly through the Patreon website while receiving recognition on {% data variables.product.prodname_dotcom %}. For more information on sponsoring through the Patreon website, see [Become a patron of a creator](https://support.patreon.com/hc/en-us/articles/203913709-Become-a-patron-of-a-creator) in the Patreon documentation. +To sponsor through Patreon on {% data variables.product.prodname_dotcom %}, both you and the selected maintainer must link your Patreon accounts to your {% data variables.product.prodname_dotcom %} accounts. You can then choose to sponsor maintainers through Patreon on {% data variables.product.prodname_dotcom %}, or you can sponsor the maintainer directly through the Patreon website while receiving recognition on {% data variables.product.prodname_dotcom %}. For more information on sponsoring through the Patreon website, see [Become a patron of a creator](https://support.patreon.com/hc/en-us/articles/203913709-Become-a-patron-of-a-creator) in the Patreon documentation. -{% data variables.product.prodname_dotcom_the_website %} displays all published Patreon sponsorship tiers. Only Patreon sponsorships that respect the maintainer's minimum amount on {% data variables.product.company_short %} will be recognized. If you sponsor a maintainer both on {% data variables.product.company_short %} and Patreon, the higher value sponsorship will be prioritized when describing the relationship between a sponsor and a maintainer. +{% data variables.product.prodname_dotcom %} displays all published Patreon sponsorship tiers. Only Patreon sponsorships that respect the maintainer's minimum amount on {% data variables.product.company_short %} will be recognized. If you sponsor a maintainer both on {% data variables.product.company_short %} and Patreon, the higher value sponsorship will be prioritized when describing the relationship between a sponsor and a maintainer. ## Linking your Patreon account to your {% data variables.product.prodname_dotcom %} account diff --git a/content/sponsors/sponsoring-open-source-contributors/unlinking-your-patreon-account-from-github.md b/content/sponsors/sponsoring-open-source-contributors/unlinking-your-patreon-account-from-github.md index b1c82461891d..007fddff0a95 100644 --- a/content/sponsors/sponsoring-open-source-contributors/unlinking-your-patreon-account-from-github.md +++ b/content/sponsors/sponsoring-open-source-contributors/unlinking-your-patreon-account-from-github.md @@ -15,7 +15,7 @@ redirect_from: {% note %} -**Note:** Unlinking your Patreon account from {% data variables.product.company_short %} will not cancel any existing sponsorships you have created through Patreon. They will only appear as cancelled on {% data variables.product.prodname_dotcom_the_website %}. To stop sponsoring maintainers through Patreon, see [How do I cancel?](https://support.patreon.com/hc/en-us/articles/360005502572-How-do-I-cancel-) in the Patreon documentation. +**Note:** Unlinking your Patreon account from {% data variables.product.company_short %} will not cancel any existing sponsorships you have created through Patreon. They will only appear as cancelled on {% data variables.product.prodname_dotcom %}. To stop sponsoring maintainers through Patreon, see [How do I cancel?](https://support.patreon.com/hc/en-us/articles/360005502572-How-do-I-cancel-) in the Patreon documentation. {% endnote %} diff --git a/content/support/contacting-github-support/getting-your-enterprise-started-with-the-github-support-portal.md b/content/support/contacting-github-support/getting-your-enterprise-started-with-the-github-support-portal.md index ddaae1a068ba..da23b6cef66f 100644 --- a/content/support/contacting-github-support/getting-your-enterprise-started-with-the-github-support-portal.md +++ b/content/support/contacting-github-support/getting-your-enterprise-started-with-the-github-support-portal.md @@ -18,7 +18,7 @@ redirect_from: Anyone can use the {% data variables.contact.contact_landing_page_portal %} to view and manage support tickets about {% data variables.product.prodname_dotcom %}, but there are special steps to follow before using the {% data variables.contact.contact_landing_page_portal %} to create tickets about an enterprise account. -The {% data variables.contact.enterprise_portal %} offers single sign-on (SSO) connected to your {% data variables.product.prodname_dotcom_the_website %} account. +The {% data variables.contact.enterprise_portal %} offers single sign-on (SSO) connected to your {% data variables.product.prodname_dotcom %} account. {% else %} diff --git a/content/support/learning-about-github-support/about-ticket-priority.md b/content/support/learning-about-github-support/about-ticket-priority.md index ea718dcdc44c..bf9e749603b0 100644 --- a/content/support/learning-about-github-support/about-ticket-priority.md +++ b/content/support/learning-about-github-support/about-ticket-priority.md @@ -30,9 +30,9 @@ Ticket priority helps to ensure that support requests are handled in order, and | Priority | Description | Examples | | :---: | --- | --- | -| {% data variables.product.support_ticket_priority_urgent %}

    ([{% data variables.contact.premium_support %}](/support/learning-about-github-support/about-github-premium-support) only) | Production workflows for your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} are failing due to critical service errors or outages, and the failure directly impacts the operation of your business. |
    • Errors or outages on {% data variables.product.prodname_dotcom_the_website %} affect core Git or web application functionality for all members of your organization or enterprise
    | +| {% data variables.product.support_ticket_priority_urgent %}

    ([{% data variables.contact.premium_support %}](/support/learning-about-github-support/about-github-premium-support) only) | Production workflows for your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} are failing due to critical service errors or outages, and the failure directly impacts the operation of your business. |
    • Errors or outages on {% data variables.product.prodname_ghe_cloud %} affect core Git or web application functionality for all members of your organization or enterprise
    | | {% data variables.product.support_ticket_priority_high %} | Account or security issues with your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} are causing limited impact to your business. |
    • An organization or enterprise owner has unintentionally deleted an organization
    • An organization or enterprise member has uploaded sensitive data in a commit, issue, pull request, or issue attachment
    | -| {% data variables.product.support_ticket_priority_normal %} | Members of your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} are experiencing limited or moderate issues with {% data variables.product.prodname_dotcom_the_website %}, or you have general concerns or questions about your organization or enterprise. |
    • Questions about using APIs and features for your organization or enterprise, including rate limits
    • API request failures due to rate limits
    • Issues with tools for organization data migration that {% data variables.product.company_short %} provides
    • Features related to your organization or enterprise not working as expected
    • General security questions about your organization or enterprise
    | +| {% data variables.product.support_ticket_priority_normal %} | Members of your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} are experiencing limited or moderate issues with {% data variables.product.prodname_ghe_cloud %}, or you have general concerns or questions about your organization or enterprise. |
    • Questions about using APIs and features for your organization or enterprise, including rate limits
    • API request failures due to rate limits
    • Issues with tools for organization data migration that {% data variables.product.company_short %} provides
    • Features related to your organization or enterprise not working as expected
    • General security questions about your organization or enterprise
    | | {% data variables.product.support_ticket_priority_low %} | You have a question or suggestion about your organization or enterprise on {% data variables.product.prodname_ghe_cloud %} that is not time-sensitive, or does not otherwise block the productivity of your team. |
    • Excessive resource usage for your organization or enterprise
    • Requests for health checks
    • Help with using Gists, notifications, wikis, {% data variables.product.prodname_pages %}, {% data variables.product.prodname_desktop %}, or other peripheral services or features with your organization or enterprise
    • Feature requests
    • Product feedback
    | {% endif %} diff --git a/data/reusables/accounts/unlinking-email-address.md b/data/reusables/accounts/unlinking-email-address.md index 522ee82a8868..4c5dc7c18391 100644 --- a/data/reusables/accounts/unlinking-email-address.md +++ b/data/reusables/accounts/unlinking-email-address.md @@ -7,5 +7,5 @@ ![Screenshot of an email from {% data variables.product.prodname_dotcom %} to unlink an email address from a {% data variables.product.prodname_dotcom %} account. A link with the text "Unlink this email" is outlined in orange.](/assets/images/help/2fa/unlink-this-email.png) -1. To finish unlinking your email, on {% data variables.product.prodname_dotcom_the_website %}, click **Unlink**. +1. To finish unlinking your email, in your account settings on {% data variables.product.prodname_dotcom %}, click **Unlink**. 1. Optionally, to create a new account and link your newly unlinked email, click **Create a new account**. diff --git a/data/reusables/policies/github-community-guidelines-and-terms.md b/data/reusables/policies/github-community-guidelines-and-terms.md index 37edc58942d2..81923e5b4e60 100644 --- a/data/reusables/policies/github-community-guidelines-and-terms.md +++ b/data/reusables/policies/github-community-guidelines-and-terms.md @@ -1 +1 @@ -{% data variables.product.company_short %} provides a baseline code of conduct for everyone who uses {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-of-service)" and "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-community-guidelines)." +{% data variables.product.company_short %} provides a baseline code of conduct for everyone who uses {% data variables.product.prodname_dotcom %}. For more information, see "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-of-service)" and "[AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-community-guidelines)." From e8ea2fd822ee0c66ceb70f70a3b09ad248149308 Mon Sep 17 00:00:00 2001 From: Taylor Reis Date: Mon, 7 Oct 2024 02:55:37 -0600 Subject: [PATCH 18/19] Update ghes-beta-note.md (#52447) Co-authored-by: Joe Clark <31087804+jc-clark@users.noreply.github.com> --- data/reusables/scim/ghes-beta-note.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/reusables/scim/ghes-beta-note.md b/data/reusables/scim/ghes-beta-note.md index 1b464c8dd3c1..a93e819a7a94 100644 --- a/data/reusables/scim/ghes-beta-note.md +++ b/data/reusables/scim/ghes-beta-note.md @@ -4,7 +4,7 @@ {% elsif ghes < 3.14 %} ->[!NOTE] SCIM for {% data variables.product.product_name %} is currently in {% data variables.release-phases.private_preview %} and is subject to change. For access to the {% data variables.release-phases.public_preview %}, contact your account manager on {% data variables.contact.contact_enterprise_sales %}. Please provide feedback in the [{% data variables.product.prodname_github_community %} discussion](https://github.com/orgs/community/discussions/36825). +>[!NOTE] This is an outdated, {% data variables.release-phases.private_preview %} version of SCIM for {% data variables.product.product_name %}. Customers must upgrade to 3.14 or newer and use the {% data variables.product.product_name %} SCIM {% data variables.release-phases.public_preview %} in order for their SCIM feedback or bug reports to be considered. >[!WARNING] The {% data variables.release-phases.public_preview %} is exclusively for testing and feedback, and no support is available. {% data variables.product.company_short %} recommends testing with a staging instance. For more information, see "[AUTOTITLE](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance)." From dc64a188c07690179a7d273bf4ad8be784e5c071 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 7 Oct 2024 05:13:46 -0400 Subject: [PATCH 19/19] Delete orphaned features (2024-09-30-16-28) (#52480) --- data/features/GH-advisory-db-erlang-support.yml | 6 ------ data/features/copilot-on-dotcom.yml | 2 -- data/features/dependency-graph-dart-support.yml | 5 ----- data/features/dependency-graph-rust-support.yml | 5 ----- data/features/github-actions-in-dependency-graph.yml | 6 ------ 5 files changed, 24 deletions(-) delete mode 100644 data/features/GH-advisory-db-erlang-support.yml delete mode 100644 data/features/copilot-on-dotcom.yml delete mode 100644 data/features/dependency-graph-dart-support.yml delete mode 100644 data/features/dependency-graph-rust-support.yml delete mode 100644 data/features/github-actions-in-dependency-graph.yml diff --git a/data/features/GH-advisory-db-erlang-support.yml b/data/features/GH-advisory-db-erlang-support.yml deleted file mode 100644 index 2194c32b8908..000000000000 --- a/data/features/GH-advisory-db-erlang-support.yml +++ /dev/null @@ -1,6 +0,0 @@ -# Reference: Issue #6207. -# We have added support for Elixir advisories to the Advisory Database. -versions: - fpt: '*' - ghec: '*' - ghes: '>=3.10' diff --git a/data/features/copilot-on-dotcom.yml b/data/features/copilot-on-dotcom.yml deleted file mode 100644 index 1a45eecc8073..000000000000 --- a/data/features/copilot-on-dotcom.yml +++ /dev/null @@ -1,2 +0,0 @@ -versions: - ghec: '*' diff --git a/data/features/dependency-graph-dart-support.yml b/data/features/dependency-graph-dart-support.yml deleted file mode 100644 index 8abe977b6197..000000000000 --- a/data/features/dependency-graph-dart-support.yml +++ /dev/null @@ -1,5 +0,0 @@ -# Reference: Issue #7738 Dependency graph supports Dart (pub) - [GA] -versions: - fpt: '*' - ghec: '*' - ghes: '>= 3.8' diff --git a/data/features/dependency-graph-rust-support.yml b/data/features/dependency-graph-rust-support.yml deleted file mode 100644 index e4c500725a53..000000000000 --- a/data/features/dependency-graph-rust-support.yml +++ /dev/null @@ -1,5 +0,0 @@ -# Reference: Issue #6964 Support for Rust manifest parsing in Dependency graph -versions: - fpt: '*' - ghec: '*' - ghes: '>3.5' diff --git a/data/features/github-actions-in-dependency-graph.yml b/data/features/github-actions-in-dependency-graph.yml deleted file mode 100644 index 6b0710f92c5c..000000000000 --- a/data/features/github-actions-in-dependency-graph.yml +++ /dev/null @@ -1,6 +0,0 @@ -# Reference: #5813. -# Documentation for GitHub Actions workflow dependencies appearing in the dependency graph -versions: - fpt: '*' - ghes: '>3.4' - ghec: '*'