diff --git a/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-with-user-namespace.png b/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-with-user-namespace.png new file mode 100644 index 0000000000..f20309d9e9 Binary files /dev/null and b/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-with-user-namespace.png differ diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md index 61317d5aaa..7b27a0c33e 100644 --- a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md +++ b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md @@ -664,6 +664,41 @@ $ ghe-cluster-maintenance -u # Unsets maintenance mode ``` +{% ifversion cluster-node-removal %} + +### ghe-remove-node + +This utility removes a node from a cluster. If you're replacing a node, after you've set up a replacement node, you can use this command to take the old node offline. For more information, see "[AUTOTITLE](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node)." + +You must run this command from the primary MySQL node in your cluster, which is typically the node designated as `mysql-master` in your cluster configuration file (`cluster.conf`). You can use this command to remove any node, with the exception of the `mysql-master` or `redis-master` node. For more information, see "[AUTOTITLE](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/initializing-the-cluster#about-the-cluster-configuration-file)." + +```shell +ghe-remove-node HOSTNAME +``` + +The command does the following things: +- Evacuates data from any data services running on the node, so that the remaining nodes in your cluster contain copies of the data +- Marks the node as offline in your configuration, applies this change to the rest of the nodes in the cluster, and stops traffic being routed to the node + +You can run the command with the following flags. + +Flag | Description +---- | ---------- +`-ne/--no-evacuate` | Skips evacuation of data services (warning: may result in data loss). +`-v/--verbose` | Prints additional information to the console. +`-h/--help` | Displays help text for the command. + +{% note %} + +**Notes:** + +- This command can only be used to remove a node from a cluster configuration. It cannot be used to remove a node from a high availability configuration. +- This command does not support parallel execution. To remove multiple nodes, you must wait until this command has finished before running it for another node. + +{% endnote %} + +{% endif %} + ### ghe-cluster-status Check the health of your nodes and services in a cluster deployment of {% data variables.product.prodname_ghe_server %}. diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/index.md b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/index.md index 08d9cafffb..03efbbd0fe 100644 --- a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/index.md +++ b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/index.md @@ -13,6 +13,13 @@ redirect_from: - /enterprise/admin/configuration/accessing-the-management-console - /admin/configuration/accessing-the-management-console - /admin/configuration/administering-your-instance-from-the-management-console + - /enterprise/admin/articles/site-admin-dashboard + - /enterprise/admin/installation/site-admin-dashboard + - /enterprise/admin/configuration/site-admin-dashboard + - /admin/configuration/site-admin-dashboard + - /admin/configuration/configuring-your-enterprise/site-admin-dashboard + - /admin/administering-your-instance/site-admin-dashboard + - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/site-admin-dashboard versions: ghes: '*' type: how_to @@ -23,7 +30,7 @@ children: - /managing-access-to-the-management-console - /accessing-the-management-console - /troubleshooting-access-to-the-management-console - - /site-admin-dashboard + - /managing-search-indices-for-your-instance shortTitle: Web UI --- diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-search-indices-for-your-instance.md b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-search-indices-for-your-instance.md new file mode 100644 index 0000000000..8beea6ac4e --- /dev/null +++ b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-search-indices-for-your-instance.md @@ -0,0 +1,77 @@ +--- +title: Managing search indices for your instance +shortTitle: Manage search indices +intro: '{% data variables.product.product_name %} uses Elasticsearch to power search features, and provides tools for managing search and index behavior.' +permissions: Enterprise owners can manage search indices for a {% data variables.product.prodname_ghe_server %} instance. +versions: + ghes: '*' +type: reference +topics: + - Enterprise + - Fundamentals +--- + +## About search for {% data variables.product.prodname_ghe_server %} + +Users can search your instance to find, navigate, and understand issues, pull requests, code, and other content on {% data variables.product.product_name %}. Elasticsearch powers the search functionality on your instance. You can view the current status of Elasticsearch, and you can control search and index behavior. + +For more information about search for {% data variables.product.product_name %}, see "[AUTOTITLE](/search-github)." For more information about Elasticsearch, see the [Elasticsearch website](https://elastic.co). + +## About index management + +{% data variables.product.product_name %} reconciles the state of the search index with data on the instance automatically and regularly, including: + +- Issues, pull requests, repositories, and users in the database +- Git repositories (source code) on disk + +In normal use, enterprise owners do not need to create new indices or schedule repair jobs. For troubleshooting or other support purposes, {% data variables.contact.github_support %} may instruct you to run a repair job. + +## Viewing search indices + +1. In the upper-right corner of any page, click {% octicon "rocket" aria-label="Site admin" %}. +1. In the left sidebar, click **Search indexes**. +1. Under "Index management", click the search index you want to view. + +## Creating a new search index + +1. In the upper-right corner of any page, click {% octicon "rocket" aria-label="Site admin" %}. +1. In the left sidebar, click **Search indexes**. +1. Next to "Index management", click **Create new index**. +1. Select the **Select the index to create** dropdown, then click the search index you want to create. +1. If you want the index to be searchable, select the **Make this index searchable** checkbox. +1. If you want the index to be writable, select the **Make this index writable** checkbox. +1. Click **Create index**. + +## Managing search indices + +When you view an existing search index in the site admin dashboard, you can perform the following actions: + +- Make the index searchable. +- Make the index writable. +- Update the index. +- Delete the index. +- Reset the index repair state. +- Start a new index repair job. +- Enable or disable index repair jobs. + +## Managing code search + +You can enable or disable both search and index operations for source code. For more information about code search, see "[AUTOTITLE](/search-github/searching-on-github/searching-code)." + +1. In the upper-right corner of any page, click {% octicon "rocket" aria-label="Site admin" %}. +1. In the left sidebar, click **Search indexes**. +1. In the "Code search" section, next to "Searching" or "Indexing", click **Enable** or **Disable**. + +## Repairing search indices + +Your instance uses repair jobs to reconcile the data, and schedules a repair job in the background when the following events occur: + +- A new search index is created. +- Missing data needs to be backfilled. +- Old search data needs to be updated. + +In the "Repair" section of the search index, a progress bar shows the current status of a repair job across background workers. You can ignore the value shown in the progress bar after a repair job has completed. The progress bar shows the difference between the repair offset and the highest record ID in the database, and will decrease as more repositories are added to {% data variables.location.product_location %} even though those repositories are actually indexed. + +To minimize the effects on I/O performance and reduce the chances of operations timing out, run the repair job during off-peak hours. As the job reconciles the search index with database and Git repository data, one CPU will be used. Monitor your system's load averages and CPU usage with a utility like `top`. If you don't notice any significant increase in resource consumption, it should also be safe to run an index repair job during peak hours. + +Repair jobs use a "repair offset" for parallelization. This is an offset into the database table for the record being reconciled. Multiple background jobs can synchronize work based on this offset. diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/site-admin-dashboard.md b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/site-admin-dashboard.md deleted file mode 100644 index 4a9acc1da8..0000000000 --- a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/site-admin-dashboard.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -title: Site admin dashboard -intro: '{% data reusables.enterprise_site_admin_settings.about-the-site-admin-dashboard %}' -redirect_from: - - /enterprise/admin/articles/site-admin-dashboard - - /enterprise/admin/installation/site-admin-dashboard - - /enterprise/admin/configuration/site-admin-dashboard - - /admin/configuration/site-admin-dashboard - - /admin/configuration/configuring-your-enterprise/site-admin-dashboard - - /admin/administering-your-instance/site-admin-dashboard -versions: - ghes: '*' -type: reference -topics: - - Enterprise - - Fundamentals ---- -To access the dashboard, in the upper-right corner of any page, click {% octicon "rocket" aria-hidden="true" %}. - -## Explore - -Data for GitHub's [trending page][] is calculated into daily, weekly, and monthly time spans for both repositories and developers. You can see when this data was last cached and queue up new trending calculation jobs from the **Explore** section. - - [trending page]: https://github.com/blog/1585-explore-what-is-trending-on-github - -## Reports - -If you need to get information on the users, organizations, and repositories in {% data variables.location.product_location %}, you would ordinarily fetch JSON data through the [GitHub API](/rest). Unfortunately, the API may not provide all of the data that you want and it requires a bit of technical expertise to use. The site admin dashboard offers a **Reports** section as an alternative, making it easy for you to download CSV reports with most of the information that you are likely to need for users, organizations, and repositories. - -Specifically, you can download CSV reports that list - -- all users -- all active users -- all [dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users) -- all users who have been suspended -- all organizations -- all repositories - -You can also access these reports programmatically via standard HTTP authentication with a site admin account. You must use a {% data variables.product.pat_v1 %} with the `site_admin` scope. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - -For example, here is how you would download the "all users" report in a `curl` command: - -```shell -curl --remote-name \ - --location \ - --user 'USERNAME:TOKEN' \ - http(s)://HOSTNAME/stafftools/reports/all_users.csv -``` - -To access the other reports programmatically, replace `all_users` with `active_users`, `dormant_users`, `suspended_users`, `all_organizations`, or `all_repositories`. - -{% note %} - -**Note:** The initial `curl` request will return a 202 HTTP response if there are no cached reports available; a report will be generated in the background. You can send a second request to download the report. You can use a password or an OAuth token with the `site_admin` scope in place of a password. - -{% endnote %} - -### User reports - -Key | Description ------------------:| ------------------------------------------------------------ -`created_at` | When the user account was created (as an ISO 8601 timestamp) -`id` | Account ID for the user or organization -`login` | Account's login name -`email` | Account's primary email address -`role` | Whether the account is an admin or an ordinary user -`suspended?` | Whether the account has been suspended -`last_logged_ip` | Most recent IP address to log into the account -`repos` | Number of repositories owned by the account -`ssh_keys` | Number of SSH keys registered to the account -`org_memberships` | Number of organizations to which the account belongs -`dormant?` | Whether the account is dormant -`last_active` | When the account was last active (as an ISO 8601 timestamp) -`raw_login` | Raw login information (in JSON format) -`2fa_enabled?` | Whether the user has enabled two-factor authentication - -### Organization reports - -Key | Description ---------------:| ------------------------------------ -`id` | Organization ID -`created_at` | When the organization was created -`login` | Organization's login name -`email` | Organization's primary email address -`owners` | Number of organization owners -`members` | Number of organization members -`teams` | Number of organization teams -`repos` | Number of organization repositories -`2fa_required?`| Whether the organization requires two-factor authentication - -### Repository reports - -Key | Description ----------------:| ------------------------------------------------------------ -`created_at` | When the repository was created -`owner_id` | ID of the repository's owner -`owner_type` | Whether the repository is owned by a user or an organization -`owner_name` | Name of the repository's owner -`id` | Repository ID -`name` | Repository name -`visibility` | Whether the repository is public or private -`readable_size` | Repository's size in a human-readable format -`raw_size` | Repository's size as a number -`collaborators` | Number of repository collaborators -`fork?` | Whether the repository is a fork -`deleted?` | Whether the repository has been deleted - -## Indexing - -GitHub's search features are powered by Elasticsearch. This section of the site admin dashboard shows you the current status of your Elasticsearch cluster and provides you with several tools to control search and index behavior. - -For more information about code search, see "[AUTOTITLE](/search-github)." For more information about Elasticsearch, see the [Elasticsearch website](https://elastic.co). - -{% note %} - -**Note**: In normal use, site administrators do not need to create new indices or schedule repair jobs. For troubleshooting or other support purposes, {% data variables.contact.github_support %} may instruct you to run a repair job. - -{% endnote %} - -### Index management - -{% data variables.product.product_name %} reconciles the state of the search index with data on the instance automatically and regularly. - -- Issues, pull requests, repositories, and users in the database -- Git repositories (source code) on disk - -Your instance uses repair jobs to reconcile the data, and schedules a repair job in the background when the following events occur. - -- A new search index is created. -- Missing data needs to be backfilled. -- Old search data needs to be updated. - -You can create a new index, or you can click on an existing index in the list to manage the index. You can perform the following operations on an index. - -- Make the index searchable. -- Make the index writable. -- Update the index. -- Delete the index -- Reset the index repair state. -- Start a new index repair job. -- Enable or disable index repair jobs. - -A progress bar shows the current status of a repair job across background workers. The bar is the percentage difference of the repair offset with the highest record ID in the database. You can ignore the value shown in the progress bar after a repair job has completed. The progress bar shows the difference between the repair offset and the highest record ID in the database, and will decrease as more repositories are added to {% data variables.location.product_location %} even though those repositories are actually indexed. - -To minimize the effects on I/O performance and reduce the chances of operations timing out, run the repair job during off-peak hours. As the job reconciles the search index with database and Git repository data, one CPU will be used. Monitor your system's load averages and CPU usage with a utility like `top`. If you don't notice any significant increase in resource consumption, it should also be safe to run an index repair job during peak hours. - -Repair jobs use a "repair offset" for parallelization. This is an offset into the database table for the record being reconciled. Multiple background jobs can synchronize work based on this offset. - -### Code search - -This allows you to enable or disable both search and index operations on source code. - -## Reserved logins - -Certain words are reserved for internal use in {% data variables.location.product_location %}, which means that these words cannot be used as usernames. - -For example, the following words are reserved, among others: - -- `admin` -- `enterprise` -- `login` -- `staff` -- `support` - -For the full list or reserved words, navigate to "Reserved logins" in the site admin dashboard. diff --git a/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md b/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md index dabb273c91..ace04cc893 100644 --- a/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md +++ b/content/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise.md @@ -39,13 +39,13 @@ When you enable one or more security and analysis features for existing reposito - To the right of the feature, click **Disable all** or **Enable all**. {% ifversion ghes or ghec %}If the control for "{% data variables.product.prodname_GH_advanced_security %}" is disabled, you have no available {% ifversion ghas-billing-UI-update %}licenses{% else %}seats{% endif %} for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} - {% ifversion secret-scanning-validity-check-partner-patterns %} - ![Screenshot of the "Configure security and analysis features" section of the enterprise settings. To the right of each setting are "Enable all" and "Disable all" buttons, which are outlined in dark orange.](/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-with-validity-check.png) + {% ifversion ghec %} + ![Screenshot of the "Configure security and analysis features" section of the enterprise settings. To the right of each setting are "Enable all" and "Disable all" buttons, which are outlined in dark orange.](/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all-with-user-namespace.png) {% else %} ![Screenshot of the "Configure security and analysis features" section of the enterprise settings. To the right of each setting are "Enable all" and "Disable all" buttons, which are outlined in dark orange.](/assets/images/enterprise/security/enterprise-security-and-analysis-disable-or-enable-all.png){% endif %} - To confirm the change, click the **Enable/Disable all** or **Enable/Disable for eligible repositories** button in the dialog that is displayed. -1. Optionally, to enable or disable a feature automatically when new repositories are added, select the checkbox below the feature. +1. Optionally, to enable or disable a feature automatically when new private and internal repositories{% ifversion secret-scanning-user-owned-repos %}, user namespace repositories {% ifversion ghec %}belonging to {% data variables.product.prodname_emus %}{% endif %}{% endif %}, or public repositories and repositories with {% data variables.product.prodname_GH_advanced_security %} enabled are created, select the checkbox below the feature. {% ifversion secret-scanning-validity-check-partner-patterns %} 1. Optionally, to automatically allow {% data variables.product.prodname_secret_scanning %} to check the validity of a secret by sending it to the relevant partner, select the relevant checkbox under "{% data variables.product.prodname_secret_scanning_caps %}". You can also enable the validity check for a single repository or organization. For more information, see "[Allowing validity checks for partner patterns in a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#allowing-validity-checks-for-partner-patterns-in-a-repository)," and "[Allowing validity checks for partner patterns in an organization](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#allowing-validity-checks-for-partner-patterns-in-an-organization)." @@ -57,10 +57,10 @@ When you enable one or more security and analysis features for existing reposito {% ifversion secret-scanning-custom-link-on-block %} 1. Optionally, to include a resource link in the message that members will see when they attempt to push a secret, select **Add a resource link in the CLI and web UI when a commit is blocked**, then type a URL, and click **Save link**. - {% note %} + {% note %} - **Note**: When a custom link is configured for an organization, the organization-level value overrides the custom link set for the enterprise. For more information, see "[AUTOTITLE](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." + **Note**: When a custom link is configured for an organization, the organization-level value overrides the custom link set for the enterprise. For more information, see "[AUTOTITLE](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." - {% endnote %} + {% endnote %} ![Screenshot of the "Push protection" section of the settings for security and analysis features. The checkbox and the text field used for enabling a custom link are outlined in dark orange.](/assets/images/help/organizations/secret-scanning-custom-link.png){% endif %} diff --git a/content/admin/guides.md b/content/admin/guides.md index a9c9ef0c04..0817f9ea2f 100644 --- a/content/admin/guides.md +++ b/content/admin/guides.md @@ -36,7 +36,6 @@ includeGuides: - /admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap - /admin/identity-and-access-management/using-saml-for-enterprise-iam - /admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh - - /admin/administering-your-instance/administering-your-instance-from-the-web-ui - /admin/configuration/configuring-network-settings/configuring-the-hostname-for-your-instance - /admin/configuration/configuring-network-settings/changing-the-hostname-for-your-instance - /admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance @@ -62,7 +61,7 @@ includeGuides: - /admin/overview/initializing-github-ae - /admin/configuration/configuring-network-settings/network-ports - /admin/configuration/restricting-network-traffic-to-your-enterprise-with-an-ip-allow-list - - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/site-admin-dashboard + - /admin/administering-your-instance/administering-your-instance-from-the-web-ui - /admin/configuration/hardening-security-for-your-enterprise/troubleshooting-tls-errors - /admin/configuration/configuring-network-settings/using-github-enterprise-server-with-a-load-balancer - /admin/monitoring-managing-and-updating-your-instance/configuring-high-availability/about-high-availability-configuration @@ -139,3 +138,4 @@ includeGuides: - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/accessing-the-management-console - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console --- + diff --git a/content/admin/identity-and-access-management/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts.md b/content/admin/identity-and-access-management/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts.md index 457abe5c7b..1bcab5759f 100644 --- a/content/admin/identity-and-access-management/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts.md +++ b/content/admin/identity-and-access-management/understanding-iam-for-enterprises/abilities-and-restrictions-of-managed-user-accounts.md @@ -52,5 +52,5 @@ With {% data variables.product.prodname_emus %}, you can control the user accoun - {% data variables.enterprise.prodname_managed_users_caps %} can create {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_oauth_apps %}. {% data reusables.emus.oauth-app-note %} - +- {% data reusables.secret-scanning.secret-scanning-user-owned-enablement %} - {% data variables.enterprise.prodname_managed_users_caps %} do not have access to the {% data variables.product.prodname_certifications %} program. diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/about-reserved-usernames-for-github-enterprise-server.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/about-reserved-usernames-for-github-enterprise-server.md new file mode 100644 index 0000000000..30fda3f508 --- /dev/null +++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/about-reserved-usernames-for-github-enterprise-server.md @@ -0,0 +1,29 @@ +--- +title: About reserved usernames for GitHub Enterprise Server +shortTitle: Reserved usernames +intro: Certain words are reserved for internal use and cannot be used as usernames. +permissions: Enterprise owners can view usernames reserved by {% data variables.product.product_name %}. +versions: + ghes: '*' +type: reference +topics: + - Enterprise + - Fundamentals +--- + +## About reserved usernames + + {% data variables.product.product_name %} reserves certain usernames for internal use. You cannot assign reserved usernames to users or organizations on your instance. For example, the following words are reserved: + +- `admin` +- `enterprise` +- `login` +- `staff` +- `support` + +## Viewing reserved username + +You can view a full list of reserved usernames for {% data variables.location.product_location %}. + +1. In the upper-right corner of any page, click {% octicon "rocket" aria-label="Site admin" %}. +1. In the left sidebar, click **Reserved logins**. diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/index.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/index.md index 95d9df253a..739b6f763b 100644 --- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/index.md +++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/index.md @@ -22,6 +22,7 @@ children: - /inviting-people-to-manage-your-enterprise - /managing-invitations-to-organizations-within-your-enterprise - /managing-organization-members-in-your-enterprise + - /about-reserved-usernames-for-github-enterprise-server - /promoting-or-demoting-a-site-administrator - /managing-support-entitlements-for-your-enterprise - /viewing-people-in-your-enterprise diff --git a/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/accessing-reports-for-your-instance.md b/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/accessing-reports-for-your-instance.md new file mode 100644 index 0000000000..26adda12d0 --- /dev/null +++ b/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/accessing-reports-for-your-instance.md @@ -0,0 +1,102 @@ +--- +title: Accessing reports for your instance +shortTitle: Access reports +intro: "You can download reports with information about the users, organizations, and repositories on {% data variables.location.product_location %}." +permissions: Enterprise owners can download reports for a {% data variables.product.prodname_ghe_server %} instance. +versions: + ghes: '*' +topics: + - Enterprise +--- + +## About reports for {% data variables.product.product_name %} + +If you need to get information about the users, organizations, and repositories on {% data variables.location.product_location %}, you can fetch data using the REST API. For more information, see "[AUTOTITLE](/rest/about-the-rest-api/about-the-rest-api)." + +The REST API might not provide all of the data that you want, and requires some technical expertise to use. Alternatively, you can reports containing overviews of users, organizations, and repositories on your instance. + +## Downloading reports using the web UI + +1. From an administrative account on {% data variables.product.product_name %}, in the upper-right corner of any page, click {% octicon "rocket" aria-label="Site admin" %}. +1. In the left sidebar, click **Reports**. +1. Next to the report you want to download, click **Download**. + +You can download CSV files that report the following information: + +- All users +- All active users +- All [dormant users](/admin/user-management/managing-users-in-your-enterprise/managing-dormant-users) +- All users who have been suspended +- All organizations +- All repositories + +## Downloading reports programmatically + +You can also access reports programmatically via standard HTTP authentication and a {% data variables.product.pat_v1 %}. You must use a {% data variables.product.pat_v1 %} with the `site_admin` scope. For more information, see "[AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + +For example, you can download the "all users" report using curl: + +```shell +curl --remote-name \ + --location \ + --user 'USERNAME:TOKEN' \ + http(s)://HOSTNAME/stafftools/reports/all_users.csv +``` + +To access the other reports programmatically, replace `all_users` with `active_users`, `dormant_users`, `suspended_users`, `all_organizations`, or `all_repositories`. + +{% note %} + +**Note:** The initial curl request will return an HTTP `202` response if there are no cached reports available. Your instance will generate a report in the background. You can send a second request to download the report. You can use a password or an OAuth token with the `site_admin` scope in place of a password. + +{% endnote %} + +## User reports + +Key | Description +-----------------:| ------------------------------------------------------------ +`created_at` | When the user account was created (as an ISO 8601 timestamp) +`id` | Account ID for the user or organization +`login` | Account's login name +`email` | Account's primary email address +`role` | Whether the account is an admin or an ordinary user +`suspended?` | Whether the account has been suspended +`last_logged_ip` | Most recent IP address to log into the account +`repos` | Number of repositories owned by the account +`ssh_keys` | Number of SSH keys registered to the account +`org_memberships` | Number of organizations to which the account belongs +`dormant?` | Whether the account is dormant +`last_active` | When the account was last active (as an ISO 8601 timestamp) +`raw_login` | Raw login information (in JSON format) +`2fa_enabled?` | Whether the user has enabled two-factor authentication + +## Organization reports + +Key | Description +--------------:| ------------------------------------ +`id` | Organization ID +`created_at` | When the organization was created +`login` | Organization's login name +`email` | Organization's primary email address +`owners` | Number of organization owners +`members` | Number of organization members +`teams` | Number of organization teams +`repos` | Number of organization repositories +`2fa_required?`| Whether the organization requires two-factor authentication + +## Repository reports + +Key | Description +---------------:| ------------------------------------------------------------ +`created_at` | When the repository was created +`owner_id` | ID of the repository's owner +`owner_type` | Whether the repository is owned by a user or an organization +`owner_name` | Name of the repository's owner +`id` | Repository ID +`name` | Repository name +`visibility` | Whether the repository is public or private +`readable_size` | Repository's size in a human-readable format +`raw_size` | Repository's size as a number +`collaborators` | Number of repository collaborators +`fork?` | Whether the repository is a fork +`deleted?` | Whether the repository has been deleted diff --git a/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/index.md b/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/index.md index 9010775d07..953d9c96bb 100644 --- a/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/index.md +++ b/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/index.md @@ -8,6 +8,7 @@ topics: - Enterprise children: - /activity-dashboard + - /accessing-reports-for-your-instance - /viewing-push-logs - /log-forwarding - /managing-global-webhooks diff --git a/content/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/evacuating-a-cluster-node-running-data-services.md b/content/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/evacuating-a-cluster-node-running-data-services.md index 9ac9a4a2d0..57e085698d 100644 --- a/content/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/evacuating-a-cluster-node-running-data-services.md +++ b/content/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/evacuating-a-cluster-node-running-data-services.md @@ -10,7 +10,7 @@ redirect_from: - /admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node - /admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node-running-data-services versions: - ghes: '*' + ghes: '<=3.11' type: how_to topics: - Clustering diff --git a/content/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node.md b/content/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node.md index fe5b98a912..557b96a08d 100644 --- a/content/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node.md +++ b/content/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node.md @@ -36,20 +36,120 @@ You can replace an existing, functional node in your cluster. For example, you m To replace a functional node, install the {% data variables.product.product_name %} appliance on a new VM, configure an IP address, add the new node to the cluster configuration file, initialize the cluster and apply the configuration, then take the node you replaced offline. +{% note %} + +**Note:** If you're replacing the primary MySQL node, see "[Replacing the primary MySQL node](#replacing-the-primary-mysql-node)." + +{% endnote %} + {% data reusables.enterprise_clustering.replacing-a-cluster-node-provision %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-admin-configure-ip %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-modify-cluster-conf %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-initialize-new-node %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-config-node %} +{% ifversion cluster-node-removal %} +1. To take the node you're replacing offline, from the primary MySQL node of your cluster, run the following command. + + ```shell + ghe-remove-node NODE-HOSTNAME + ``` + + This command will evacuate data from any data services running on the node, mark the node as offline in your configuration, and stop traffic being routed to the node. For more information, see "[AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-remove-node)." +{% else %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-need-three-nodes %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-mark-offline %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-validate-config %} -{% data reusables.enterprise_clustering.replacing-a-cluster-node-replacement-name %} +{% endif %} ## Replacing a node in an emergency You can replace a failed node in your cluster. For example, a software or hardware issue may affect a node's availability. +{% note %} + +**Note:** If you're replacing the primary MySQL node, see "[Replacing the primary MySQL node](#replacing-the-primary-mysql-node)." + +{% endnote %} + +{% ifversion cluster-node-removal %} + +To replace a node in an emergency, you'll take the failed node offline, add your replacement node to the cluster, then run commands to remove references to data services on the removed node. + +1. To remove the node that is experiencing issues from the cluster, from the primary MySQL node of your cluster, run the following command. Replace NODE-HOSTNAME with the hostname of the node you're taking offline. + + ```shell + ghe-remove-node --no-evacuate NODE-HOSTNAME + ``` + + This command will mark the node as offline in your configuration and stop traffic being routed to the node. You can run this command in `no-evacuate` mode now because, later in this procedure, you'll run commands that instruct data services on the node to copy any replicas onto the other available nodes in the cluster. For more information, see "[AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-remove-node)." +1. Add your replacement node to the cluster. + {% data reusables.enterprise_clustering.replacing-a-cluster-node-provision %} + {% data reusables.enterprise_clustering.replacing-a-cluster-node-admin-configure-ip %} + 1. To add the newly provisioned replacement node, on any node, modify the `cluster.conf` file to add the replacement node. For example, this modified `cluster.conf` file adds the newly provisioned node `ghe-replacement-data-node-3`: + +
+      [cluster "ghe-replacement-data-node-3"]
+        hostname = ghe-replacement-data-node-3
+        ipv4 = 192.168.0.7
+        # ipv6 = fd12:3456:789a:1::7
+        git-server = true
+        pages-server = true
+        mysql-server = true
+        elasticsearch-server = true
+        redis-server = true
+        memcache-server = true
+        metrics-server = true
+        storage-server = true
+      
+ + {% data reusables.enterprise_clustering.replacing-a-cluster-node-initialize-new-node %} + {% data reusables.enterprise_clustering.replacing-a-cluster-node-config-node %} +1. Remove references to data services on the node you removed. + 1. Find the UUID of the node you removed. To find the UUID, run the following command, replacing `HOSTNAME` with the hostname of the node. You will use this UUID in the next step. + + ```shell + ghe-config cluster.HOSTNAME.uuid + ``` + + 1. To remove references to data services, run the following commands. Replace `UUID` with the UUID of the node. + + These commands indicate to each service that the node is permanently removed. The services will recreate any replicas contained within the node on the available nodes within the cluster. + + {% note %} + + **Note:** These commands may cause increased load on the server while data is rebalanced across replicas. + + {% endnote %} + + For the `git-server` service (used for repository data): + + ```shell + ghe-spokesctl server destroy git-server-UUID + ``` + + For the `pages-server` service (used for {% data variables.product.prodname_pages %} site builds): + + ```shell + ghe-dpages remove pages-server-UUID + ``` + + For the `storage-server` service (used for Git LFS data, avatar images, file attachments, and release archives): + + ```shell + ghe-storage destroy-host storage-server-UUID --force + ``` + +1. Optionally, delete the entry for the removed node in your `cluster.conf` file. Doing so will keep your `cluster.conf` file organized and save time during future `config-apply` runs. + 1. To remove the entry from the file, run the following command, replacing `HOSTNAME` with the hostname of the removed node. + + ```shell + ghe-config --remove-section "cluster.HOSTNAME" + ``` + + 1. To copy the configuration to other nodes in the cluster, from the administrative shell of the node where you modified `cluster.conf`, run `ghe-cluster-config-apply`. + +{% else %} + To replace a node in an emergency, install the {% data variables.product.product_name %} appliance on a new VM, configure an IP address, take the failed node offline, apply the configuration, add the new node to the cluster configuration file, initialize the cluster and apply the configuration, and optionally, evacuate the failed node. {% data reusables.enterprise_clustering.replacing-a-cluster-node-provision %} @@ -62,6 +162,8 @@ To replace a node in an emergency, install the {% data variables.product.product {% data reusables.enterprise_clustering.replacing-a-cluster-node-config-node %} {% data reusables.enterprise_clustering.replacing-a-cluster-node-need-three-nodes %} +{% endif %} + ## Replacing the primary MySQL node To provide database services, your cluster requires a primary MySQL node and at least one secondary MySQL node. For more information, see "[AUTOTITLE](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/about-cluster-nodes)." diff --git a/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md b/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md index 593bd78b51..3d13842250 100644 --- a/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md +++ b/content/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security.md @@ -73,7 +73,7 @@ For more information on viewing license usage, see "[AUTOTITLE](/billing/managin We record and display two numbers of {% ifversion ghas-billing-UI-update %}active {% endif %}committers for {% data variables.product.prodname_GH_advanced_security %} on {% data variables.location.product_location %}: -- **{% ifversion ghas-billing-UI-update %}Active committers{% else %}Committers{% endif %}** is the number of committers who contributed to at least one {% ifversion fpt or ghec %}private {% endif %}repository in an organization and who use a {% ifversion ghas-billing-UI-update %}license {% else %}seat {% endif %}in your enterprise. That is, they are also an organization member, an external collaborator, or have a pending invitation to join an organization in your enterprise, and they are not a {% data variables.product.prodname_github_app %} bot. For information about differences between bot and machine accounts, see "[AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/differences-between-github-apps-and-oauth-apps#machine-vs-bot-accounts)." +- **{% ifversion ghas-billing-UI-update %}Active committers{% else %}Committers{% endif %}** is the number of committers who contributed to at least one {% ifversion fpt or ghec %}private {% endif %}organization-owned repository{% ifversion secret-scanning-user-owned-repos %} or one user-owned repository{% ifversion ghec %} when using {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_emus %}{% endif %}{% endif %}, and who use a {% ifversion ghas-billing-UI-update %}license {% else %}seat {% endif %}in your enterprise. That is, they are also an organization member, an external collaborator, or have a pending invitation to join an organization in your enterprise, and they are not a {% data variables.product.prodname_github_app %} bot. For information about differences between bot and machine accounts, see "[AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/differences-between-github-apps-and-oauth-apps#machine-vs-bot-accounts)." - **Unique to this repository/organization** is the number of {% ifversion ghas-billing-UI-update %}active {% endif %}committers who contributed only to this repository, or to repositories in this organization. This number shows how many {% ifversion ghas-billing-UI-update %}licenses {% else %}seats {% endif %}you can free up by deactivating {% data variables.product.prodname_GH_advanced_security %} for that repository or organization. If there are no unique {% ifversion ghas-billing-UI-update %}active {% endif %}committers, all active committers also contribute to other repositories or organizations that use {% data variables.product.prodname_GH_advanced_security %}. Deactivating the feature for that repository or organization would not free any {% ifversion ghas-billing-UI-update %}licenses{% else %}seats{% endif %} for {% data variables.product.prodname_GH_advanced_security %}. diff --git a/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md b/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md index 5cfd6ceb2f..055149eed8 100644 --- a/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md +++ b/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md @@ -21,7 +21,7 @@ shortTitle: View Advanced Security usage ## About licenses for {% data variables.product.prodname_GH_advanced_security %} -Each license for {% data variables.product.prodname_GH_advanced_security %} specifies a maximum number of {% ifversion ghas-billing-UI-update %}licenses {% else %}accounts, or seats, {% endif %}that can use these features. Periodically you should check that your use is within your license capacity. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." +Each license for {% data variables.product.prodname_GH_advanced_security %} specifies a maximum number of {% ifversion ghas-billing-UI-update %}licenses {% endif %}that can use these features. Periodically you should check that your use is within your license capacity. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security)." {% ifversion ghas-committers-calculator %} You can estimate the number of licenses your enterprise would need to purchase {% data variables.product.prodname_GH_advanced_security %} or to enable {% data variables.product.prodname_GH_advanced_security %} for additional organizations and repositories. For more information, see "[AUTOTITLE](/billing/managing-billing-for-github-advanced-security/viewing-committer-information-for-github-advanced-security)." @@ -29,7 +29,7 @@ You can estimate the number of licenses your enterprise would need to purchase { ## Viewing {% data variables.product.prodname_GH_advanced_security %} license usage for your enterprise account -You can view the enterprise account's current {% ifversion ghas-billing-UI-update %}license{% else %}seat{% endif %} limits and usage. +You can view the enterprise account's current {% ifversion ghas-billing-UI-update %}license{% endif %} limits and usage. {% ifversion ghec %} @@ -48,15 +48,15 @@ You can view the enterprise account's current {% ifversion ghas-billing-UI-updat The "{% data variables.product.prodname_GH_advanced_security %}" section shows details of the current usage. You can see the total number of licenses used, as well as a table with the number of committers and unique committers for each organization. {% endif %} -{%- ifversion ghas-billing-table-ui-update -%} -1. Optionally, to see a detailed breakdown of usage per organization, in the enterprise account sidebar, click **Billing**. +{%- ifversion ghec -%} +1. Optionally, to see a detailed breakdown of usage per organization{% ifversion secret-scanning-user-owned-repos %} and user namespace when using {% data variables.product.prodname_emus %}{% endif %}, in the enterprise account sidebar, click **Billing**. - In the “{% data variables.product.prodname_GH_advanced_security %}” section, you can see a summary of your current license usage, as well as the number of committers and unique committers for each organization. The organizations in the billing table are sorted by the highest number of unique committers in descending order. + In the “{% data variables.product.prodname_GH_advanced_security %}” section, you can see a summary of your current license usage, as well as the number of committers and unique committers for each organization{% ifversion secret-scanning-user-owned-repos %} and user namespace when using {% data variables.product.prodname_emus %}{% endif %}. The organizations{% ifversion secret-scanning-user-owned-repos %} and user namespaces{% endif %} in the billing table are sorted by the highest number of unique committers in descending order. {% endif %} 1. Optionally, display the security and analysis settings for an organization. - Click the name of the organization. -{% ifversion ghas-billing-table-ui-update %} +{% ifversion ghec %} - On the "Code security & analysis" settings page, scroll to the "{% data variables.product.prodname_GH_advanced_security %} repositories" section to see an overview of your organization's license usage, as well as a detailed breakdown of usage by repository for this organization. For more information, see "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)." @@ -72,18 +72,18 @@ You can view the enterprise account's current {% ifversion ghas-billing-UI-updat You can download a CSV file with {% data variables.product.prodname_GH_advanced_security %} license usage information at both the enterprise and organization levels. The CSV file contains information about each {% data variables.product.prodname_advanced_security %} license that is in use, including: -- The username of the person using the {% ifversion ghas-billing-UI-update %}license{% else %}seat{% endif %} +- The username of the person using the {% ifversion ghas-billing-UI-update %}license{% endif %} - The {% data variables.product.prodname_advanced_security %}-enabled repositories where commits were made -- The organizations that people using {% ifversion ghas-billing-UI-update %}licenses{% else %}seats{% endif %} belong to +- The organizations{% ifversion secret-scanning-user-owned-repos %}{% ifversion ghec %} and user namespaces for {% data variables.product.prodname_emus %}{% endif %}{% endif %} that people using {% ifversion ghas-billing-UI-update %}licenses{% endif %} belong to - The most recent commit dates{% ifversion ghec or ghes > 3.11 %} and associated email addresses{% endif %} -You can use this information for insights into your {% data variables.product.prodname_advanced_security %} usage, such as which members of your enterprise are using an {% data variables.product.prodname_advanced_security %} {% ifversion ghas-billing-UI-update %}license{% else %}seat{% endif %} or how {% data variables.product.prodname_advanced_security %} licenses are being consumed across your organizations. +You can use this information for insights into your {% data variables.product.prodname_advanced_security %} usage, such as which members of your enterprise are using an {% data variables.product.prodname_advanced_security %} {% ifversion ghas-billing-UI-update %}license{% endif %} or how {% data variables.product.prodname_advanced_security %} licenses are being consumed across your organizations. You can download the {% data variables.product.prodname_advanced_security %} license usage CSV through the {% data variables.product.product_name %} user interface or the REST API. ### Downloading {% data variables.product.prodname_advanced_security %} license usage information through the UI -{% ifversion ghas-billing-table-ui-update %} +{% ifversion ghec %} #### At the repository-level @@ -106,7 +106,7 @@ You can download the {% data variables.product.prodname_advanced_security %} lic 1. Underneath "{% data variables.product.prodname_GH_advanced_security %}," next to "Committers", click **{% octicon "download" aria-hidden="true" %} CSV report**. {% endif %} -{% ifversion ghas-billing-table-ui-update %} +{% ifversion ghec %} #### At the enterprise-level diff --git a/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md b/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md index 1dca49a019..b5ccc7eda0 100644 --- a/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md +++ b/content/code-security/adopting-github-advanced-security-at-scale/phase-6-rollout-and-scale-secret-scanning.md @@ -15,7 +15,7 @@ This article is part of a series on adopting {% data variables.product.prodname_ {% endnote %} -You can enable secret scanning for individual repositories or for all repositories in an organization. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)" or "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)." +You can enable secret scanning for individual repositories or for all repositories in an organization or enterprise. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)", "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)", or "[AUTOTITLE](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)." This article explains a high-level process focusing on enabling {% data variables.product.prodname_secret_scanning %} for all repositories in an organization. The principles described in this article can still be applied even if you take a more staggered approach of enabling {% data variables.product.prodname_secret_scanning %} for individual repositories. diff --git a/content/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules.md b/content/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules.md index dbd5da1546..8994a93e7e 100644 --- a/content/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules.md +++ b/content/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules.md @@ -28,11 +28,29 @@ There are two types of {% data variables.dependabot.auto_triage_rules %}: - {% data variables.dependabot.default_rules %} - {% data variables.dependabot.custom_rules_caps %} -The {% data variables.product.company_short %}-curated default rule, `Dismiss low impact issues for development-scoped dependencies`, auto-dismisses certain types of vulnerabilities that are found in npm dependencies used in development. The rule has been curated to reduce false positives and reduce alert fatigue. The rule is enabled by default for public repositories and can be opted into for private repositories. However, you cannot modify {% data variables.dependabot.default_rules %}. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-auto-triage-rules/using-github-curated-default-rules-to-prioritize-dependabot-alerts)." +### About {% data variables.dependabot.default_rules %} + +{% note %} + +{% data reusables.dependabot.dependabot-default-auto-triage-rules %} + +{% endnote %} + +{% data reusables.dependabot.dismiss-low-impact-rule %} + +### About {% data variables.dependabot.custom_rules %} + +{% note %} + +{% data reusables.gated-features.dependabot-custom-auto-triage-rules %} + +{% endnote %} With {% data variables.dependabot.custom_rules %}, you can create your own rules to automatically dismiss or reopen alerts based on targeted metadata, such as severity, package name, CWE, and more. You can also specify which alerts you want {% data variables.product.prodname_dependabot %} to open pull requests for. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts)." -Whilst you may find it useful to auto-dismiss alerts, you can still reopen auto-dismissed alerts and filter to see which alerts have been auto-dismissed. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-auto-triage-rules/managing-automatically-dismissed-alerts)." +### About auto-dismissing alerts + +Whilst you may find it useful to use auto-triage rules to auto-dismiss alerts, you can still reopen auto-dismissed alerts and filter to see which alerts have been auto-dismissed. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-auto-triage-rules/managing-automatically-dismissed-alerts)." Additionally, auto-dismissed alerts are still available for reporting and reviewing, and can be auto-reopened if the alert metadata changes, for example: - If you change the scope of a dependency from development to production. diff --git a/content/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts.md b/content/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts.md index 96dfc33f97..7d1c640344 100644 --- a/content/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts.md +++ b/content/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts.md @@ -2,7 +2,7 @@ title: Customizing auto-triage rules to prioritize Dependabot alerts intro: 'You can create your own {% data variables.dependabot.auto_triage_rules_short %} to control which alerts are dismissed or snoozed, and which alerts you want {% data variables.product.prodname_dependabot %} to open pull requests for.' permissions: 'People with write permissions can view {% data variables.dependabot.auto_triage_rules %} for the repository. People with admin permissions to a repository can enable or disable {% data variables.dependabot.auto_triage_rules_short %} for the repository, as well as create {% data variables.dependabot.custom_rules %}. Additionally, organization owners and security managers can set {% data variables.dependabot.auto_triage_rules_short %} at the organization-level and optionally choose to enforce rules for repositories in the organization.' -product: '{% data reusables.gated-features.dependabot-auto-triage-rules %}' +product: '{% data reusables.gated-features.dependabot-custom-auto-triage-rules %}' versions: feature: dependabot-auto-triage-rules type: how_to diff --git a/content/code-security/getting-started/github-security-features.md b/content/code-security/getting-started/github-security-features.md index 176f50da2e..987d141c03 100644 --- a/content/code-security/getting-started/github-security-features.md +++ b/content/code-security/getting-started/github-security-features.md @@ -42,7 +42,7 @@ and "[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dep {% ifversion dependabot-auto-triage-rules %} -{% data reusables.dependabot.dependabot-alert-rules %} +You can use default {% data variables.dependabot.auto_triage_rules %} curated by {% data variables.product.prodname_dotcom %} to automatically filter out a substantial amount of false positives. {% data reusables.dependabot.dismiss-low-impact-rule %} {% endif %} @@ -106,6 +106,14 @@ Automatically detect security vulnerabilities and coding errors in new or modifi Automatically detect tokens or credentials that have been checked into a repository. You can view alerts for any secrets that {% data variables.product.company_short %} finds in your code, in the **Security** tab of the repository, so that you know which tokens or credentials to treat as compromised. For more information, see {% ifversion fpt or ghec %}"[AUTOTITLE](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-alerts-for-users){% elsif ghes %}"[AUTOTITLE](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-on-github-enterprise-server){% endif %}." +{% ifversion dependabot-auto-triage-rules %} + +### {% data variables.dependabot.custom_rules_caps %} + +{% data reusables.dependabot.dependabot-custom-rules-ghas %} + +{% endif %} + ### Dependency review Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)." diff --git a/content/code-security/getting-started/securing-your-repository.md b/content/code-security/getting-started/securing-your-repository.md index cb8d7888fe..d9dca8f564 100644 --- a/content/code-security/getting-started/securing-your-repository.md +++ b/content/code-security/getting-started/securing-your-repository.md @@ -131,7 +131,7 @@ Alternatively, you can use advanced setup, which generates a workflow file you c {% endif %} -{% data variables.product.prodname_code_scanning_caps %} is available {% ifversion fpt or ghec %}for all public repositories, and for private repositories owned by organizations that are part of an enterprise with a license for {% else %}for organization-owned repositories if your enterprise uses {% endif %}{% data variables.product.prodname_GH_advanced_security %}. +{% data variables.product.prodname_code_scanning_caps %} is available {% ifversion fpt or ghec %}for all public repositories, and for private repositories owned by organizations that are part of an enterprise with a license for {% else %}for organization-owned repositories if your enterprise uses {% endif %}{% data variables.product.prodname_GH_advanced_security %}. {% data reusables.secret-scanning.secret-scanning-user-owned-repos-beta %} ## Configuring {% data variables.product.prodname_secret_scanning %} diff --git a/content/code-security/secret-scanning/about-secret-scanning.md b/content/code-security/secret-scanning/about-secret-scanning.md index 2ef2b2d428..1e619c32c0 100644 --- a/content/code-security/secret-scanning/about-secret-scanning.md +++ b/content/code-security/secret-scanning/about-secret-scanning.md @@ -37,7 +37,7 @@ If your project communicates with an external service, you might use a token or {% ifversion fpt %}The following users can enable and configure additional scanning: - Owners of repositories on {% data variables.product.prodname_dotcom_the_website %}, on any _public_ repositories they own. - Organizations owning _public_ repositories, on any of these repositories. - - Organizations using {% data variables.product.prodname_ghe_cloud %}, on any public repositories (for free), and on any private and internal repositories, when you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% elsif ghec %}You can enable and configure additional scanning for repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} for any public repositories (for free), and for private and internal repositories when you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} + - Organizations using {% data variables.product.prodname_ghe_cloud %}, on any public repositories (for free), and on any private and internal repositories, when you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% elsif ghec %}You can enable and configure additional scanning for repositories owned by organizations that use {% data variables.product.prodname_ghe_cloud %} for any public repositories (for free), and for private and internal repositories when you have a license for {% data variables.product.prodname_GH_advanced_security %}. Enterprise owners can manage the automatic enablement of {% data variables.product.prodname_GH_advanced_security %} for new repositories owned by {% data variables.product.prodname_emus %} with an enterprise level setting.{% endif %} Any strings that match patterns provided by secret scanning partners, by other service providers, or defined by you or your organization, are reported as alerts in the **Security** tab of repositories. If a string in a public repository matches a partner pattern, it is also reported to the partner. For more information, see the "[About {% data variables.secret-scanning.user_alerts %}](#about-secret-scanning-alerts-for-users)" section below.{% endif %} @@ -73,12 +73,16 @@ You cannot change the configuration of {% data variables.product.prodname_secret ## About {% data variables.secret-scanning.user_alerts %}{% ifversion ghes %} on {% data variables.product.product_name %}{% endif %} -{% ifversion ghes %}{% data variables.secret-scanning.user_alerts_caps %} is available on all organization-owned repositories as part of {% data variables.product.prodname_GH_advanced_security %}. The feature is not available on user-owned repositories.{% endif %}{% ifversion fpt or ghec %}{% data variables.secret-scanning.user_alerts_caps %} are available for free on all public repositories{% endif %}{% ifversion fpt %}.{% endif %}{%ifversion ghec %}, and for private and internal repositories that are owned by organizations using {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} When you enable {% data variables.product.prodname_secret_scanning %} for a repository, {% data variables.product.prodname_dotcom %} scans the code for patterns that match secrets used by many service providers. {% ifversion secret-scanning-backfill-email %}When the scan is completed, {% data variables.product.prodname_dotcom %} sends an email alert to the enterprise and organization owners, even if no secrets were found.{% endif %} For more information about the repository content that is scanned, see "[About {% data variables.product.prodname_secret_scanning %}](#about--data-variablesproductprodname_secret_scanning)" above. +{% data variables.secret-scanning.user_alerts_caps %} is available {% ifversion secret-scanning-user-owned-repos %}{% ifversion ghes %}on all repositories with a license for {% data variables.product.prodname_GH_advanced_security %}{% else %}for free on all public repositories, and for private and internal repositories that are owned by organizations using {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %}{% endif %}{% elsif fpt %}for free on all public repositories that you own{% else %}on all organization-owned repositories with a license for {% data variables.product.prodname_GH_advanced_security %}. The feature is not available on user-owned repositories{% endif %}. {% data reusables.secret-scanning.secret-scanning-user-owned-repos-beta %} + +When you enable {% data variables.product.prodname_secret_scanning %} for a repository, {% data variables.product.prodname_dotcom %} scans the code for patterns that match secrets used by many service providers. {% ifversion secret-scanning-backfill-email %}When the scan is completed, {% data variables.product.prodname_dotcom %} sends an email alert to the enterprise and organization owners, even if no secrets were found.{% endif %} For more information about the repository content that is scanned, see "[About {% data variables.product.prodname_secret_scanning %}](#about--data-variablesproductprodname_secret_scanning)" above. When a supported secret is leaked, {% data variables.product.product_name %} generates a {% data variables.product.prodname_secret_scanning %} alert. {% ifversion secret-scanning-backfills %}{% data variables.product.prodname_dotcom %} will also periodically run a full git history scan of existing content in {% ifversion fpt %}public{% else %}{% data variables.product.prodname_GH_advanced_security %}{% endif %} repositories where {% data variables.product.prodname_secret_scanning %} is enabled, and send alert notifications following the {% data variables.product.prodname_secret_scanning %} alert notification settings.{% endif %}{% ifversion secret-scanning-non-provider-patterns %} User alerts can be of two types: high confidence alerts, or non-provider alerts.{% endif %} For more information, see "{% ifversion fpt or ghec %}[About user alerts](/code-security/secret-scanning/secret-scanning-patterns#about-user--alerts){% else %}[{% data variables.product.prodname_secret_scanning_caps %} patterns](/code-security/secret-scanning/secret-scanning-patterns#about-user-secret-scanning-alerts){% endif %}." If you're a repository administrator, you can enable {% data variables.secret-scanning.user_alerts %} for any {% ifversion fpt %}public{% endif %} repository{% ifversion ghec or ghes %}, including archived repositories{% endif %}. Organization owners can also enable {% data variables.secret-scanning.user_alerts %} for all {% ifversion fpt %}public {% endif %}repositories or for all new {% ifversion fpt %}public {% endif %}repositories within an organization. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)" and "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)." +{% data reusables.secret-scanning.secret-scanning-user-owned-enablement %} + You can also define custom {% data variables.product.prodname_secret_scanning %} patterns for a repository, organization, or enterprise. For more information, see "[AUTOTITLE]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning){% ifversion fpt %}" in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %} {% ifversion secret-scanning-store-tokens %} diff --git a/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md b/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md index 7ab35a4a65..ae225f7794 100644 --- a/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md +++ b/content/code-security/secret-scanning/configuring-secret-scanning-for-your-repositories.md @@ -23,7 +23,7 @@ shortTitle: Configure secret scans ## Enabling {% data variables.secret-scanning.user_alerts %} -You can enable {% data variables.secret-scanning.user_alerts %} for any {% ifversion fpt %}free public{% endif %} repository{% ifversion ghec or ghes %} that is owned by an organization{% else %} that you own{% endif %}. Once enabled, {% data reusables.secret-scanning.secret-scanning-process %}{% ifversion ghes < 3.11 %} {% data variables.product.prodname_secret_scanning_caps %} does not scan issues.{% endif %} {% data reusables.secret-scanning.what-is-scanned %} +You can enable {% data variables.secret-scanning.user_alerts %} for any {% ifversion secret-scanning-user-owned-repos %}{% ifversion ghes %}repository{% else %} repository that is owned by an organization, and for repositories owned by user accounts when using {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_emus %}{% endif %}{% elsif fpt %}free public repository that you own{% else %}repository that is owned by an organization{% endif %}. Once enabled, {% data reusables.secret-scanning.secret-scanning-process %}{% ifversion ghes < 3.11 %} {% data variables.product.prodname_secret_scanning_caps %} does not scan issues.{% endif %} {% data reusables.secret-scanning.what-is-scanned %} You can also enable {% data variables.product.prodname_secret_scanning %} for multiple repositories in an organization at the same time. For more information, see "[AUTOTITLE](/code-security/getting-started/securing-your-organization)." @@ -35,6 +35,8 @@ You can also enable {% data variables.product.prodname_secret_scanning %} for mu {% endnote %} {% endif %} +A repository administrator can choose to disable {% data variables.product.prodname_secret_scanning %} for a repository at any time. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)." + {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-code-security-and-analysis %}{% ifversion ghec or ghes %} diff --git a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md index 466a5f66df..e84ee7ed8e 100644 --- a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md +++ b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning.md @@ -46,7 +46,10 @@ shortTitle: Manage secret alerts {% data reusables.secret-scanning.validity-check-partner-patterns-enabled %} {% endif %}{% ifversion secret-scanning-bypass-filter %} 1. Optionally, to see which alerts are the result of a user bypassing push protection, select the "Bypassed" dropdown menu, then click **True**.{% endif %} -1. Under "{% data variables.product.prodname_secret_scanning_caps %}", click the alert you want to view.{% ifversion secret-scanning-non-provider-patterns %} +1. Under "{% data variables.product.prodname_secret_scanning_caps %}", click the alert you want to view. {% ifversion secret-scanning-user-owned-repos %}{% data reusables.secret-scanning.secret-scanning-user-owned-repo-access %}{% endif %} + + {% ifversion secret-scanning-non-provider-patterns %} + {% note %} **Note:** The **High confidence** view is the default view for the list of {% data variables.product.prodname_secret_scanning %} alerts. If the detection of non-provider patterns is enabled for your repository or organization, you'll need to use a different view to be able to see non-provider alerts. For more information, see "[Managing alerts from non-provider patterns](#managing-alerts-from-non-provider-patterns)" below. @@ -166,6 +169,8 @@ Tokens, like {% data variables.product.pat_generic %} and other credentials, are |Last used on| Date the token was last used| |Access| Whether the token has organization access| +{% ifversion secret-scanning-user-owned-repos %}{% data reusables.secret-scanning.secret-scanning-user-owned-repo-access %} If access is granted, {% data variables.product.prodname_dotcom %} will notify the owner of the repository containing the leaked secret, report the action in the repository owner and enterprise audit logs, and enable access for 2 hours.{% ifversion ghec %} For more information, see "[AUTOTITLE](/admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/accessing-user-owned-repositories-in-your-enterprise)."{% endif %}{% endif %} + {% endif %} {% ifversion secret-scanning-ai-generic-secret-detection %} diff --git a/content/code-security/secret-scanning/push-protection-for-repositories-and-organizations.md b/content/code-security/secret-scanning/push-protection-for-repositories-and-organizations.md index b141524bac..d17ed514d4 100644 --- a/content/code-security/secret-scanning/push-protection-for-repositories-and-organizations.md +++ b/content/code-security/secret-scanning/push-protection-for-repositories-and-organizations.md @@ -56,7 +56,7 @@ For information on the secrets and service providers supported for push protecti ## Enabling {% data variables.product.prodname_secret_scanning %} as a push protection -For you to use {% data variables.product.prodname_secret_scanning %} as a push protection in public repositories, the {% ifversion secret-scanning-enterprise-level %}enterprise,{% endif %} organization{% ifversion secret-scanning-enterprise-level %},{% endif %} or repository needs to have {% data variables.product.prodname_secret_scanning %} enabled.{% ifversion secret-scanning-push-protection-private-internal %} To use {% data variables.product.prodname_secret_scanning %} as a push protection in private or internal repositories, the enterprise or organization also needs to have {% data variables.product.prodname_GH_advanced_security %} enabled.{% endif %} For more information, see {% ifversion secret-scanning-enterprise-level %}"[AUTOTITLE](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise),"{% endif %} "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)," "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)," and "[AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security)." +For you to use {% data variables.product.prodname_secret_scanning %} as a push protection in public repositories, the {% ifversion secret-scanning-enterprise-level %}enterprise,{% endif %} organization{% ifversion secret-scanning-enterprise-level %},{% endif %} or repository needs to have {% data variables.product.prodname_secret_scanning %} enabled.{% ifversion secret-scanning-push-protection-private-internal %} To use {% data variables.product.prodname_secret_scanning %} as a push protection in private or internal repositories,{% ifversion secret-scanning-user-owned-repos %} or in user-owned repositories{% ifversion ghec %} for {% data variables.product.prodname_emus %}{% endif %},{% endif %} the enterprise or organization also needs to have {% data variables.product.prodname_GH_advanced_security %} enabled.{% endif %} For more information, see {% ifversion secret-scanning-enterprise-level %}"[AUTOTITLE](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise),"{% endif %} "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)," "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)," and "[AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security)." Organization owners, security managers, and repository administrators can also enable push protection for {% data variables.product.prodname_secret_scanning %} via the API. For more information, see "[AUTOTITLE](/rest/repos#update-a-repository)" and expand the "Properties of the `security_and_analysis` object" section in the REST API documentation. diff --git a/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database.md b/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database.md index 9b501242b0..a999284d89 100644 --- a/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database.md +++ b/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database.md @@ -88,7 +88,7 @@ For any {% data variables.product.company_short %}-reviewed advisory in the {% d 1. Optionally, to filter the list, use the search bar or the drop-down menus. The "Organization" drop-down menu allows you to filter the {% data variables.product.prodname_dependabot_alerts %} per owner (organization or user). 1. For more details about the advisory, and for advice on how to fix the vulnerable repository, click the repository name. -{% ifversion security-advisories-ghes-ghae %} +{% ifversion security-advisories-ghes %} ## Accessing the local advisory database on {% data variables.location.product_location %} diff --git a/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/editing-security-advisories-in-the-github-advisory-database.md b/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/editing-security-advisories-in-the-github-advisory-database.md index dfcbba4849..43a1c3c025 100644 --- a/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/editing-security-advisories-in-the-github-advisory-database.md +++ b/content/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/editing-security-advisories-in-the-github-advisory-database.md @@ -43,7 +43,7 @@ Only repository owners and administrators can edit repository-level security adv You can also open a pull request directly on an advisory file in the [github/advisory-database](https://github.com/github/advisory-database) repository. For more information, see the [contribution guidelines](https://github.com/github/advisory-database/blob/main/CONTRIBUTING.md). -{% ifversion security-advisories-ghes-ghae %} +{% ifversion security-advisories-ghes %} ## Editing advisories from {% data variables.location.product_location %} diff --git a/content/code-security/security-overview/about-security-overview.md b/content/code-security/security-overview/about-security-overview.md index ec95e0984a..1f5ca5fdea 100644 --- a/content/code-security/security-overview/about-security-overview.md +++ b/content/code-security/security-overview/about-security-overview.md @@ -167,7 +167,7 @@ For more information about access to security alerts and related views, see "[AU {% ifversion ghec or ghes %} {% note %} -**Note:** If you are an enterprise owner, you will need to join an organization as an organization owner to view data for the organization's repositories in both the organization-level and enterprise-level overview. For more information, see "[AUTOTITLE](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise)." +**Note:** If you are an enterprise owner, you will need to join an organization as an organization owner to view data for the organization's repositories in both the organization-level and enterprise-level overview.{% ifversion secret-scanning-user-owned-repos %} {% data reusables.secret-scanning.secret-scanning-user-owned-repo-access %}{% endif %} For more information, see "[AUTOTITLE](/admin/user-management/managing-organizations-in-your-enterprise/managing-your-role-in-an-organization-owned-by-your-enterprise)." {% endnote %} {% endif %} diff --git a/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-code.md b/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-code.md index eff2ec6b34..9a91c59922 100644 --- a/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-code.md +++ b/content/code-security/supply-chain-security/end-to-end-supply-chain/securing-code.md @@ -83,8 +83,10 @@ You can enable and configure additional scanning that will alert you about accid - public repositories on {% data variables.product.prodname_dotcom_the_website %}. - an organization using {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %}. {% data variables.product.prodname_secret_scanning_caps %} will also analyze your private repositories. -{% elsif ghec %} -Additionally, if your organization uses {% data variables.product.prodname_GH_advanced_security %}, you can enable {% data variables.secret-scanning.user_alerts %} on any repository owned by the organization, including private repositories. You can also define custom patterns to detect additional secrets at the repository, organization, or enterprise level. For more information, see "[AUTOTITLE](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-alerts-for-users)." +{% elsif secret-scanning-user-owned-repos %} +If your organization uses {% data variables.product.prodname_GH_advanced_security %}, you can enable {% data variables.secret-scanning.user_alerts %} on any repository owned by the organization, including private repositories. {% data reusables.secret-scanning.secret-scanning-user-owned-repos-beta %} + +You can also define custom patterns to detect additional secrets at the repository, organization, or enterprise level. For more information, see "[AUTOTITLE](/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-alerts-for-users)." {% else %} You can configure {% data variables.product.prodname_secret_scanning %} to check for secrets issued by many service providers and to notify you when any are detected. You can also define custom patterns to detect additional secrets at the repository, organization, or enterprise level. For more information, see "[AUTOTITLE](/code-security/secret-scanning/about-secret-scanning)" and "[AUTOTITLE](/code-security/secret-scanning/secret-scanning-patterns)." {% endif %} diff --git a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md index c4e0097477..42962434e4 100644 --- a/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md +++ b/content/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph.md @@ -34,7 +34,7 @@ To generate a dependency graph, {% data variables.product.product_name %} needs ## Enabling the dependency graph -{% data reusables.dependabot.ghes-ghae-enabling-dependency-graph %}{% endif %} +{% data reusables.dependabot.ghes-enabling-dependency-graph %}{% endif %} {% ifversion ghec %} diff --git a/content/copilot/configuring-github-copilot/configuring-network-settings-for-github-copilot.md b/content/copilot/configuring-github-copilot/configuring-network-settings-for-github-copilot.md index 29fcd1df13..fce48398f2 100644 --- a/content/copilot/configuring-github-copilot/configuring-network-settings-for-github-copilot.md +++ b/content/copilot/configuring-github-copilot/configuring-network-settings-for-github-copilot.md @@ -21,8 +21,6 @@ By default, {% data variables.product.prodname_copilot %} connects to {% data va Some networks use an HTTP proxy server to intercept Internet traffic before sending it to its intended location. Companies often use an HTTP proxy to detect suspicious traffic or restrict the content entering their networks. If you're working on a corporate network, you may need to configure {% data variables.product.prodname_copilot_short %} to connect via an HTTP proxy. -If you have a license for {% data variables.product.prodname_copilot_business_short %}, {% data variables.product.prodname_copilot_short %} can read custom SSL certificates installed on a user's machine. This allows a proxy server to be identified as the intended recipient of {% data variables.product.prodname_copilot_short %}'s secure connection, so network traffic can be inspected. Without a custom certificate, a company can use an HTTP proxy to monitor, route, and terminate {% data variables.product.prodname_copilot_short %}'s connection, but cannot inspect the contents of the traffic. - ## Configuring proxy settings for {% data variables.product.prodname_copilot %} {% data variables.product.prodname_copilot %} supports basic HTTP proxy setups. If you need to authenticate to a proxy, {% data variables.product.prodname_copilot %} supports basic authentication or authentication with Kerberos. If the proxy URL starts `https://`, the proxy is not currently supported. @@ -137,7 +135,7 @@ If the default SPN isn't correct for your proxy, you can override the SPN in {% ## Allowing {% data variables.product.prodname_copilot %} to use custom certificates -If your organization uses {% data variables.product.prodname_copilot_business_short %}, {% data variables.product.prodname_copilot_short %} can read custom SSL certificates installed on a user's machine. +{% data variables.product.prodname_copilot_short %} can read custom SSL certificates installed on a user's machine. This allows a proxy server to be identified as the intended recipient of {% data variables.product.prodname_copilot_short %}'s secure connection, so network traffic can be inspected. Without a custom certificate, an HTTP proxy can be used to monitor, route, and terminate {% data variables.product.prodname_copilot_short %}'s connection, but not to inspect the contents of the traffic. {% data variables.product.prodname_copilot_short %} reads certificates from the operating system's trust store. It also reads extra certificates from the file specified by the standard Node.js environment variable `NODE_EXTRA_CA_CERTS`. For more information, see the [Node.js documentation](https://nodejs.org/docs/latest-v18.x/api/cli.html#node_extra_ca_certsfile). diff --git a/content/copilot/github-copilot-chat/about-github-copilot-chat.md b/content/copilot/github-copilot-chat/about-github-copilot-chat.md index 95ded6b0e9..d0f73fa591 100644 --- a/content/copilot/github-copilot-chat/about-github-copilot-chat.md +++ b/content/copilot/github-copilot-chat/about-github-copilot-chat.md @@ -15,13 +15,109 @@ type: rai ## About {% data variables.product.prodname_copilot_chat %} -{% data variables.product.prodname_copilot_chat %} is a chat interface that lets you interact with {% data variables.product.prodname_copilot %}, to ask and receive answers to coding-related questions within {% data variables.product.prodname_dotcom_the_website %} and supported IDEs. The chat interface provides access to coding information and support without requiring you to navigate documentation or search online forums. {% data variables.product.prodname_copilot_chat_short %} is currently supported in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and the JetBrains suite of IDEs. {% ifversion ghec %}Users with a {% data variables.product.prodname_copilot_enterprise_short %} subscription can also use {% data variables.product.prodname_copilot_chat_dotcom %}.{% endif %} For more information about {% data variables.product.prodname_copilot %}, see "[AUTOTITLE](/copilot/overview-of-github-copilot/about-github-copilot-individual)" and "[AUTOTITLE](/copilot/overview-of-github-copilot/about-github-copilot-business)."{% ifversion ghec %} For more information about {% data variables.product.prodname_copilot_chat_dotcom %}, see "[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise/copilot-chat-in-github/using-github-copilot-chat-in-githubcom)."{% endif %} +{% data variables.product.prodname_copilot_chat %} is a chat interface that lets you interact with {% data variables.product.prodname_copilot %}, to ask and receive answers to coding-related questions within {% data variables.product.prodname_dotcom_the_website %} and supported IDEs. The chat interface provides access to coding information and support without requiring you to navigate documentation or search online forums. {% data variables.product.prodname_copilot_chat_short %} is currently supported in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and the JetBrains suite of IDEs (beta). Users with a {% data variables.product.prodname_copilot_enterprise_short %} subscription can also use {% data variables.product.prodname_copilot_chat_dotcom %}. For more information about {% data variables.product.prodname_copilot %}, see "[AUTOTITLE](/copilot/overview-of-github-copilot/about-github-copilot-individual)", "[AUTOTITLE](/copilot/overview-of-github-copilot/about-github-copilot-business)," and "[AUTOTITLE](/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise)." {% data variables.product.prodname_copilot_chat %} can answer a wide range of coding-related questions on topics including syntax, programming concepts, test cases, debugging, and more. {% data variables.product.prodname_copilot_chat %} is not designed to answer non-coding questions or provide general information on topics outside of coding. {% data variables.product.prodname_copilot_chat %} works by using a combination of natural language processing and machine learning to understand your question and provide you with an answer. This process can be broken down into a number of steps. -{% data reusables.rai.copilot.about-copilot-chat %} +### Input processing + +The input prompt from the user is pre-processed by the {% data variables.product.prodname_copilot_chat_short %} system and sent to a large language model to get a response based on the context and prompt. User input can take the form of code snippets or plain language. The system is only intended to respond to coding-related questions. + +### Language model analysis + +The pre-processed prompt is then passed through the {% data variables.product.prodname_copilot_chat_short %} language model, which is a neural network that has been trained on a large body of text data. The language model analyzes the input prompt. + +### Response generation + +The language model generates a response based on its analysis of the input prompt and the context provided to it. This response can take the form of generated code, code suggestions, or explanations of existing code. + +### Output formatting + +The response generated by {% data variables.product.prodname_copilot_chat_short %} is formatted and presented to the user. {% data variables.product.prodname_copilot_chat_short %} may use syntax highlighting, indentation, and other formatting features to add clarity to the generated response. Depending upon the type of question from the user, links to context that the model used when generating a response, such as source code files or documentation, may also be provided. + +{% data variables.product.prodname_copilot_chat %} is intended to provide you with the most relevant answer to your question. However, it may not always provide the answer you are looking for. Users of {% data variables.product.prodname_copilot_chat_short %} are responsible for reviewing and validating responses generated by the system to ensure they are accurate and appropriate. {% data variables.product.prodname_copilot_chat_short %} is also designed to learn from your feedback and improve over time. For more information on improving the performance of {% data variables.product.prodname_copilot_chat %}, see "[Improving performance for {% data variables.product.prodname_copilot_chat %}](/copilot/github-copilot-chat/about-github-copilot-chat#improving-performance-for-github-copilot-chat)." + +## Use cases for {% data variables.product.prodname_copilot_chat %} + +{% data variables.product.prodname_copilot_chat %} can provide coding assistance in a variety of scenarios. + +### Generating unit test cases + +{% data variables.product.prodname_copilot_chat_short %} can help you write unit test cases by generating code snippets based on the code open in the editor or the code snippet you highlight in the editor. This may help you write test cases without spending as much time on repetitive tasks. For example, if you are writing a test case for a specific function, you can use {% data variables.product.prodname_copilot_chat_short %} to suggest possible input parameters and expected output values based on the function's signature and body. {% data variables.product.prodname_copilot_chat_short %} can also suggest assertions that ensure the function is working correctly, based on the code's context and semantics. + +{% data variables.product.prodname_copilot_chat_short %} can also help you write test cases for edge cases and boundary conditions that might be difficult to identify manually. For instance, {% data variables.product.prodname_copilot_chat_short %} can suggest test cases for error handling, null values, or unexpected input types, helping you ensure your code is robust and resilient. However, it is important to note that generated test cases may not cover all possible scenarios, and manual testing and code review are still necessary to ensure the quality of the code. For more information on generating unit test cases, see "[Asking {% data variables.product.prodname_copilot_chat %} questions about your code](/copilot/github-copilot-chat/using-github-copilot-chat-in-your-ide#asking-github-copilot-chat-questions-about-your-code)." + +### Explaining code and suggesting improvements + +{% data variables.product.prodname_copilot_chat_short %} can help explain selected code by generating natural language descriptions of the code's functionality and purpose. This can be useful if you want to understand the code's behavior or for non-technical stakeholders who need to understand how the code works. For example, if you select a function or code block in the code editor, {% data variables.product.prodname_copilot_chat_short %} can generate a natural language description of what the code does and how it fits into the overall system. This can include information such as the function's input and output parameters, its dependencies, and its purpose in the larger application. + +{% data variables.product.prodname_copilot_chat_short %} can also suggest potential improvements to selected code, such as improved handling of errors and edge cases, or changes to the logical flow to make the code more readable. + +By generating explanations and suggesting related documentation, {% data variables.product.prodname_copilot_chat_short %} may help you to understand the selected code, leading to improved collaboration and more effective software development. However, it's important to note that the generated explanations and documentation may not always be accurate or complete, so you'll need to review, and occasionally correct, {% data variables.product.prodname_copilot_chat_short %}'s output. + +### Proposing code fixes + +{% data variables.product.prodname_copilot_chat_short %} can propose a fix for bugs in your code by suggesting code snippets and solutions based on the context of the error or issue. This can be useful if you are struggling to identify the root cause of a bug or you need guidance on the best way to fix it. For example, if your code produces an error message or warning, {% data variables.product.prodname_copilot_chat_short %} can suggest possible fixes based on the error message, the code's syntax, and the surrounding code. + +{% data variables.product.prodname_copilot_chat_short %} can suggest changes to variables, control structures, or function calls that might resolve the issue and generate code snippets that can be incorporated into the codebase. However, it's important to note that the suggested fixes may not always be optimal or complete, so you'll need to review and test the suggestions. + +### Answering coding questions + +You can ask {% data variables.product.prodname_copilot_chat_short %} for help or clarification on specific coding problems and receive responses in natural language format or in code snippet format. This can be a useful tool for programmers, as it can provide guidance and support for common coding tasks and challenges. + +## Improving performance for {% data variables.product.prodname_copilot_chat %} + +{% data variables.product.prodname_copilot_chat_short %} can support a wide range of practical applications like code generation, code analysis, and code fixes, each with different performance metrics and mitigation strategies. To enhance performance and address some of the the limitations of {% data variables.product.prodname_copilot_chat_short %}, there are various measures that you can adopt. For more information on the limitations of {% data variables.product.prodname_copilot_chat_short %}, see "[Limitations of {% data variables.product.prodname_copilot_chat %}](/copilot/github-copilot-chat/about-github-copilot-chat#limitations-of-github-copilot-chat)." + +### Keep your prompts on topic + +{% data variables.product.prodname_copilot_chat_short %} is intended to address queries related to coding exclusively. Therefore, limiting the prompt to coding questions or tasks can enhance the model's output quality. + +### Use {% data variables.product.prodname_copilot_chat_short %} as a tool, not a replacement + +While {% data variables.product.prodname_copilot_chat_short %} can be a powerful tool for generating code, it is important to use it as a tool rather than a replacement for human programming. You should always review and test the code generated by {% data variables.product.prodname_copilot_chat_short %} to ensure that it meets your requirements and is free of errors or security concerns. + +### Use secure coding and code review practices + +While {% data variables.product.prodname_copilot_chat_short %} can generate syntactically correct code, it may not always be secure. You should always follow best practices for secure coding, such as avoiding hard-coded passwords or SQL injection vulnerabilities, as well as following code review best practices, to address {% data variables.product.prodname_copilot_chat_short %}'s limitations. + +### Provide feedback + +If you encounter any issues or limitations with {% data variables.product.prodname_copilot_chat_short %}, we recommend that you provide feedback through the **share feedback** link in the {% data variables.product.prodname_copilot_chat_short %} interface of your IDE. This can help the developers to improve the tool and address any concerns or limitations. + +### Stay up to date + +{% data variables.product.prodname_copilot_chat_short %} is a new technology and is likely to evolve over time. You should stay up to date with any updates or changes to the tool, as well as any new security risks or best practices that may emerge. Automated extension updates are enabled by default in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and the JetBrains suite of IDEs. For {% data variables.product.prodname_copilot_chat_dotcom %} you will always have access to the latest product experience. If you have automatic updates enabled, {% data variables.product.prodname_copilot_chat_short %} will automatically update to the latest version when you open your IDE. For more information on automatic updates in your IDE, see [the {% data variables.product.prodname_vscode %} documentation](https://code.visualstudio.com/docs/editor/extension-marketplace), [the {% data variables.product.prodname_vs %} documentation](https://learn.microsoft.com/en-us/visualstudio/ide/finding-and-using-visual-studio-extensions) and [the documentation for your JetBrains IDE](https://www.jetbrains.com/help). + +## Limitations of {% data variables.product.prodname_copilot_chat %} + +Depending on factors such as your codebase and input data, you may experience different levels of performance when using {% data variables.product.prodname_copilot_chat_short %}. The following information is designed to help you understand system limitations and key concepts about performance as they apply to {% data variables.product.prodname_copilot_chat_short %}. + +### Limited scope + +{% data variables.product.prodname_copilot_chat_short %} has been trained on a large body of code but still has a limited scope and may not be able to handle more complex code structures or obscure programming languages. For each language, the quality of suggestions you receive may depend on the volume and diversity of training data for that language. For example, JavaScript is well-represented in public repositories and is one of {% data variables.product.prodname_copilot %}'s best supported languages. Languages with less representation in public repositories may be more challenging for {% data variables.product.prodname_copilot_chat_short %} to provide assistance with. Additionally, {% data variables.product.prodname_copilot_chat_short %} can only suggest code based on the context of the code being written, so it may not be able to identify larger design or architectural issues. + +### Potential biases + +{% data variables.product.prodname_copilot_short %}'s training data is drawn from existing code repositories, which may contain biases and errors that can be perpetuated by the tool. Additionally, {% data variables.product.prodname_copilot_chat_short %} may be biased towards certain programming languages or coding styles, which can lead to suboptimal or incomplete code suggestions. + +### Security risks + +{% data variables.product.prodname_copilot_chat_short %} generates code based on the context of the code being written, which can potentially expose sensitive information or vulnerabilities if not used carefully. You should be careful when using {% data variables.product.prodname_copilot_chat_short %} to generate code for security-sensitive applications and always review and test the generated code thoroughly. + +### Matches with public code + +{% data variables.product.prodname_copilot_chat_short %} is capable of generating new code, which it does in a probabilistic way. While the probability that it may produce code that matches code in the training set is low, a {% data variables.product.prodname_copilot_chat_short %} suggestion may contain some code snippets that match code in the training set. {% data variables.product.prodname_copilot_chat_short %} utilizes filters that block matches with public code on {% data variables.product.prodname_dotcom %} repositories, but you should always take the same precautions as you would with any code you write that uses material you did not independently originate, including precautions to ensure its suitability. These include rigorous testing, IP scanning, and checking for security vulnerabilities. You should make sure your IDE or editor does not automatically compile or run generated code before you review it. + +### Inaccurate code + +One of the limitations of {% data variables.product.prodname_copilot_chat_short %} is that it may generate code that appears to be valid but may not actually be semantically or syntactically correct or may not accurately reflect the intent of the developer. To mitigate the risk of inaccurate code, you should carefully review and test the generated code, particularly when dealing with critical or sensitive applications. You should also ensure that the generated code adheres to best practices and design patterns and fits within the overall architecture and style of the codebase. + +### Inaccurate responses to non-coding topics + +{% data variables.product.prodname_copilot_chat_short %} is not designed to answer non-coding questions, and therefore its responses may not always be accurate or helpful in these contexts. If a user asks {% data variables.product.prodname_copilot_chat_short %} a non-coding question, it may generate an answer that is irrelevant or nonsensical, or it may simply indicate that it is unable to provide a useful response. ## Next steps diff --git a/content/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat-in-githubcom.md b/content/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat-in-githubcom.md index 0702139a50..e1625d926e 100644 --- a/content/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat-in-githubcom.md +++ b/content/copilot/github-copilot-enterprise/copilot-chat-in-github/about-github-copilot-chat-in-githubcom.md @@ -14,6 +14,12 @@ redirect_from: - /copilot/github-copilot-enterprise/copilot-docset-management/about-copilot-docset-management --- +{% ifversion fpt %} + +{% data reusables.rai.copilot.enterprise-fpt-link %} + +{% endif %} + ## About {% data variables.product.prodname_copilot_chat_dotcom %} {% data variables.product.prodname_copilot_chat_dotcom %} is a chat interface that lets you interact with {% data variables.product.prodname_copilot %}, to ask and receive answers to coding-related questions within {% data variables.product.prodname_dotcom_the_website %}. @@ -30,7 +36,103 @@ The chat interface provides access to coding information and support without req {% data variables.product.prodname_copilot_chat %} works by using a combination of natural language processing and machine learning to understand your question and provide you with an answer. This process can be broken down into a number of steps. -{% data reusables.rai.copilot.about-copilot-dotcom-chat %} +### Input processing + +The input prompt from the user is pre-processed by the {% data variables.product.prodname_copilot_chat_short %} system and sent to a large language model to get a response based on the context and prompt. User input can take the form of code snippets or plain language. The system is only intended to respond to coding-related questions. + +### Language model analysis + +The pre-processed prompt is then passed through the {% data variables.product.prodname_copilot_chat_short %} language model, which is a neural network that has been trained on a large body of text data. The language model analyzes the input prompt. + +### Response generation + +The language model generates a response based on its analysis of the input prompt and the context provided to it. This response can take the form of generated code, code suggestions, or explanations of existing code. + +### Output formatting + +The response generated by {% data variables.product.prodname_copilot_chat_short %} is formatted and presented to the user. {% data variables.product.prodname_copilot_chat_short %} may use syntax highlighting, indentation, and other formatting features to add clarity to the generated response. Depending upon the type of question from the user, links to context that the model used when generating a response, such as source code files or documentation, may also be provided. + +{% data variables.product.prodname_copilot_chat %} is intended to provide you with the most relevant answer to your question. However, it may not always provide the answer you are looking for. Users of {% data variables.product.prodname_copilot_chat_short %} are responsible for reviewing and validating responses generated by the system to ensure they are accurate and appropriate. {% data variables.product.prodname_copilot_chat_short %} is also designed to learn from your feedback and improve over time. For more information on improving the performance of {% data variables.product.prodname_copilot_chat %}, see "[Improving performance for {% data variables.product.prodname_copilot_chat %}](/copilot/github-copilot-chat/about-github-copilot-chat#improving-performance-for-github-copilot-chat)." + +## Use cases for {% data variables.product.prodname_copilot_chat %} + +{% data variables.product.prodname_copilot_chat %} can provide coding assistance in a variety of scenarios. + +### Generating unit test cases + +{% data variables.product.prodname_copilot_chat_short %} can help you write unit test cases by generating code snippets based on the code open in the editor or the code snippet you highlight in the editor. This may help you write test cases without spending as much time on repetitive tasks. For example, if you are writing a test case for a specific function, you can use {% data variables.product.prodname_copilot_chat_short %} to suggest possible input parameters and expected output values based on the function's signature and body. {% data variables.product.prodname_copilot_chat_short %} can also suggest assertions that ensure the function is working correctly, based on the code's context and semantics. + +{% data variables.product.prodname_copilot_chat_short %} can also help you write test cases for edge cases and boundary conditions that might be difficult to identify manually. For instance, {% data variables.product.prodname_copilot_chat_short %} can suggest test cases for error handling, null values, or unexpected input types, helping you ensure your code is robust and resilient. However, it is important to note that generated test cases may not cover all possible scenarios, and manual testing and code review are still necessary to ensure the quality of the code. For more information on generating unit test cases, see "[Asking {% data variables.product.prodname_copilot_chat %} questions about your code](/copilot/github-copilot-chat/using-github-copilot-chat-in-your-ide#asking-github-copilot-chat-questions-about-your-code)." + +### Explaining code and suggesting improvements + +{% data variables.product.prodname_copilot_chat_short %} can help explain selected code by generating natural language descriptions of the code's functionality and purpose. This can be useful if you want to understand the code's behavior or for non-technical stakeholders who need to understand how the code works. For example, if you select a function or code block in the code editor, {% data variables.product.prodname_copilot_chat_short %} can generate a natural language description of what the code does and how it fits into the overall system. This can include information such as the function's input and output parameters, its dependencies, and its purpose in the larger application. + +{% data variables.product.prodname_copilot_chat_short %} can also suggest potential improvements to selected code, such as improved handling of errors and edge cases, or changes to the logical flow to make the code more readable. + +By generating explanations and suggesting related documentation, {% data variables.product.prodname_copilot_chat_short %} may help you to understand the selected code, leading to improved collaboration and more effective software development. However, it's important to note that the generated explanations and documentation may not always be accurate or complete, so you'll need to review, and occasionally correct, {% data variables.product.prodname_copilot_chat_short %}'s output. + +### Proposing code fixes + +{% data variables.product.prodname_copilot_chat_short %} can propose a fix for bugs in your code by suggesting code snippets and solutions based on the context of the error or issue. This can be useful if you are struggling to identify the root cause of a bug or you need guidance on the best way to fix it. For example, if your code produces an error message or warning, {% data variables.product.prodname_copilot_chat_short %} can suggest possible fixes based on the error message, the code's syntax, and the surrounding code. + +{% data variables.product.prodname_copilot_chat_short %} can suggest changes to variables, control structures, or function calls that might resolve the issue and generate code snippets that can be incorporated into the codebase. However, it's important to note that the suggested fixes may not always be optimal or complete, so you'll need to review and test the suggestions. + +### Answering coding questions + +You can ask {% data variables.product.prodname_copilot_chat_short %} for help or clarification on specific coding problems and receive responses in natural language format or in code snippet format. This can be a useful tool for programmers, as it can provide guidance and support for common coding tasks and challenges. + +## Improving performance for {% data variables.product.prodname_copilot_chat %} + +{% data variables.product.prodname_copilot_chat_short %} can support a wide range of practical applications like code generation, code analysis, and code fixes, each with different performance metrics and mitigation strategies. To enhance performance and address some of the the limitations of {% data variables.product.prodname_copilot_chat_short %}, there are various measures that you can adopt. For more information on the limitations of {% data variables.product.prodname_copilot_chat_short %}, see "[Limitations of {% data variables.product.prodname_copilot_chat %}](/copilot/github-copilot-chat/about-github-copilot-chat#limitations-of-github-copilot-chat)." + +### Keep your prompts on topic + +{% data variables.product.prodname_copilot_chat_short %} is intended to address queries related to coding exclusively. Therefore, limiting the prompt to coding questions or tasks can enhance the model's output quality. + +### Use {% data variables.product.prodname_copilot_chat_short %} as a tool, not a replacement + +While {% data variables.product.prodname_copilot_chat_short %} can be a powerful tool for generating code, it is important to use it as a tool rather than a replacement for human programming. You should always review and test the code generated by {% data variables.product.prodname_copilot_chat_short %} to ensure that it meets your requirements and is free of errors or security concerns. + +### Use secure coding and code review practices + +While {% data variables.product.prodname_copilot_chat_short %} can generate syntactically correct code, it may not always be secure. You should always follow best practices for secure coding, such as avoiding hard-coded passwords or SQL injection vulnerabilities, as well as following code review best practices, to address {% data variables.product.prodname_copilot_chat_short %}'s limitations. + +### Provide feedback + +If you encounter any issues or limitations with {% data variables.product.prodname_copilot_chat_short %}, we recommend that you provide feedback through the **share feedback** link in the {% data variables.product.prodname_copilot_chat_short %} interface of your IDE. This can help the developers to improve the tool and address any concerns or limitations. + +### Stay up to date + +{% data variables.product.prodname_copilot_chat_short %} is a new technology and is likely to evolve over time. You should stay up to date with any updates or changes to the tool, as well as any new security risks or best practices that may emerge. Automated extension updates are enabled by default in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and the JetBrains suite of IDEs. For {% data variables.product.prodname_copilot_chat_dotcom %} you will always have access to the latest product experience. If you have automatic updates enabled, {% data variables.product.prodname_copilot_chat_short %} will automatically update to the latest version when you open your IDE. For more information on automatic updates in your IDE, see [the {% data variables.product.prodname_vscode %} documentation](https://code.visualstudio.com/docs/editor/extension-marketplace), [the {% data variables.product.prodname_vs %} documentation](https://learn.microsoft.com/en-us/visualstudio/ide/finding-and-using-visual-studio-extensions) and [the documentation for your JetBrains IDE](https://www.jetbrains.com/help). + +## Limitations of {% data variables.product.prodname_copilot_chat %} + +Depending on factors such as your codebase and input data, you may experience different levels of performance when using {% data variables.product.prodname_copilot_chat_short %}. The following information is designed to help you understand system limitations and key concepts about performance as they apply to {% data variables.product.prodname_copilot_chat_short %}. + +### Limited scope + +{% data variables.product.prodname_copilot_chat_short %} has been trained on a large body of code but still has a limited scope and may not be able to handle more complex code structures or obscure programming languages. For each language, the quality of suggestions you receive may depend on the volume and diversity of training data for that language. For example, JavaScript is well-represented in public repositories and is one of {% data variables.product.prodname_copilot %}'s best supported languages. Languages with less representation in public repositories may be more challenging for {% data variables.product.prodname_copilot_chat_short %} to provide assistance with. Additionally, {% data variables.product.prodname_copilot_chat_short %} can only suggest code based on the context of the code being written, so it may not be able to identify larger design or architectural issues. + +### Potential biases + +{% data variables.product.prodname_copilot_short %}'s training data is drawn from existing code repositories, which may contain biases and errors that can be perpetuated by the tool. Additionally, {% data variables.product.prodname_copilot_chat_short %} may be biased towards certain programming languages or coding styles, which can lead to suboptimal or incomplete code suggestions. + +### Security risks + +{% data variables.product.prodname_copilot_chat_short %} generates code based on the context of the code being written, which can potentially expose sensitive information or vulnerabilities if not used carefully. You should be careful when using {% data variables.product.prodname_copilot_chat_short %} to generate code for security-sensitive applications and always review and test the generated code thoroughly. + +### Matches with public code + +{% data variables.product.prodname_copilot_chat_short %} is capable of generating new code, which it does in a probabilistic way. While the probability that it may produce code that matches code in the training set is low, a {% data variables.product.prodname_copilot_chat_short %} suggestion may contain some code snippets that match code in the training set. {% data variables.product.prodname_copilot_chat_short %} utilizes filters that block matches with public code on {% data variables.product.prodname_dotcom %} repositories, but you should always take the same precautions as you would with any code you write that uses material you did not independently originate, including precautions to ensure its suitability. These include rigorous testing, IP scanning, and checking for security vulnerabilities. You should make sure your IDE or editor does not automatically compile or run generated code before you review it. + +### Inaccurate code + +One of the limitations of {% data variables.product.prodname_copilot_chat_short %} is that it may generate code that appears to be valid but may not actually be semantically or syntactically correct or may not accurately reflect the intent of the developer. To mitigate the risk of inaccurate code, you should carefully review and test the generated code, particularly when dealing with critical or sensitive applications. You should also ensure that the generated code adheres to best practices and design patterns and fits within the overall architecture and style of the codebase. + +### Inaccurate responses to non-coding topics + +{% data variables.product.prodname_copilot_chat_short %} is not designed to answer non-coding questions, and therefore its responses may not always be accurate or helpful in these contexts. If a user asks {% data variables.product.prodname_copilot_chat_short %} a non-coding question, it may generate an answer that is irrelevant or nonsensical, or it may simply indicate that it is unable to provide a useful response. ## Next steps diff --git a/content/copilot/github-copilot-enterprise/copilot-pull-request-summaries/about-copilot-pull-request-summaries.md b/content/copilot/github-copilot-enterprise/copilot-pull-request-summaries/about-copilot-pull-request-summaries.md index 213be2fdb9..9c4c82b60a 100644 --- a/content/copilot/github-copilot-enterprise/copilot-pull-request-summaries/about-copilot-pull-request-summaries.md +++ b/content/copilot/github-copilot-enterprise/copilot-pull-request-summaries/about-copilot-pull-request-summaries.md @@ -10,6 +10,12 @@ topics: type: rai --- +{% ifversion fpt %} + +{% data reusables.rai.copilot.enterprise-fpt-link %} + +{% endif %} + ## About {% data variables.product.prodname_copilot_for_prs %} {% data variables.product.prodname_copilot_for_prs %} is an AI-powered feature that allows you to create a summary of the changes that were made in a pull request, which files they impact, and what a reviewer should focus on when they conduct their review. diff --git a/content/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise.md b/content/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise.md index 968dd7e4eb..1f4e47e4a6 100644 --- a/content/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise.md +++ b/content/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise.md @@ -9,6 +9,15 @@ topics: - Copilot --- + +{% ifversion fpt %} + +{% data reusables.copilot.enterprise-fpt-link %} + +{% endif %} + +## About the {% data variables.product.prodname_copilot_enterprise_short %} beta + {% data reusables.copilot.get-copilot-enterprise-cta-button %} ## About {% data variables.product.prodname_copilot_enterprise_short %} diff --git a/content/copilot/github-copilot-enterprise/overview/github-copilot-enterprise-feature-set.md b/content/copilot/github-copilot-enterprise/overview/github-copilot-enterprise-feature-set.md index 75f87e32b0..f658e4f925 100644 --- a/content/copilot/github-copilot-enterprise/overview/github-copilot-enterprise-feature-set.md +++ b/content/copilot/github-copilot-enterprise/overview/github-copilot-enterprise-feature-set.md @@ -8,6 +8,12 @@ topics: shortTitle: Copilot Enterprise feature set --- +{% ifversion fpt %} + +{% data reusables.copilot.enterprise-fpt-link %} + +{% endif %} + ## About {% data variables.product.prodname_copilot_enterprise %} {% data variables.product.prodname_copilot_enterprise %} is a {% data variables.product.prodname_copilot %} plan available to {% data variables.product.prodname_ghe_cloud %} customers. For more information on {% data variables.product.prodname_copilot_enterprise %}, see "[AUTOTITLE](/copilot/github-copilot-enterprise/overview/about-github-copilot-enterprise)." diff --git a/content/copilot/troubleshooting-github-copilot/troubleshooting-network-errors-for-github-copilot.md b/content/copilot/troubleshooting-github-copilot/troubleshooting-network-errors-for-github-copilot.md index 5bb38dd317..7c68ddb398 100644 --- a/content/copilot/troubleshooting-github-copilot/troubleshooting-network-errors-for-github-copilot.md +++ b/content/copilot/troubleshooting-github-copilot/troubleshooting-network-errors-for-github-copilot.md @@ -59,12 +59,6 @@ If you know you are connecting via a proxy, make sure the proxy is configured co Depending on your proxy setup, you may encounter errors like "certificate signature failure," "custom certificate," or "unable to verify the first certificate." These errors are usually caused by a corporate proxy setup that uses custom certificates to intercept and inspect secure connections. -{% note %} - -**Note:** {% data variables.product.prodname_copilot %} only supports custom certificates if you have a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} license. For more information, see "[AUTOTITLE](/copilot/about-github-copilot)." - -{% endnote %} - Some possible ways to resolve certificate-related errors are: - Configure a different proxy that does not intercept secure connections. - If you are using a corporate proxy, contact your IT department to see if they can configure the proxy to not intercept secure connections. diff --git a/content/copilot/troubleshooting-github-copilot/viewing-logs-for-github-copilot-in-your-environment.md b/content/copilot/troubleshooting-github-copilot/viewing-logs-for-github-copilot-in-your-environment.md index 123c6077c0..580f14edfe 100644 --- a/content/copilot/troubleshooting-github-copilot/viewing-logs-for-github-copilot-in-your-environment.md +++ b/content/copilot/troubleshooting-github-copilot/viewing-logs-for-github-copilot-in-your-environment.md @@ -74,12 +74,6 @@ If you encounter problems connecting to {% data variables.product.prodname_copil ## Troubleshooting certificate-related errors -{% note %} - -**Note:** If your error is related to certificates, it helps to check these logs for the `Custom Certificates:` line. If this line says `disabled`, you are not using {% data variables.product.prodname_copilot_for_business %}, so custom certificates are not supported. For more information, see "[AUTOTITLE](/copilot/overview-of-github-copilot/about-github-copilot-business)." - -{% endnote %} - If you're using a custom certificate, ensure the certificate is installed correctly in the operating system, see "[AUTOTITLE](/copilot/troubleshooting-github-copilot/troubleshooting-network-errors-for-github-copilot)". Then use the following troubleshooting steps. 1. In the menu bar, click **Tools**, select **{% data variables.product.prodname_copilot%}**, and click **Log CA Certificates**. @@ -133,12 +127,6 @@ If you encounter problems connecting to {% data variables.product.prodname_copil 1. Type "Diagnostics", and then select **{% data variables.product.prodname_copilot%}: Collect Diagnostics** from the list. This opens a new editor with the relevant information that you can inspect yourself or share with the support team. 1. Check the section on **Reachability** to determine if {% data variables.product.prodname_copilot%} can actually access the necessary services. -{% note %} - -**Note:** If your error is related to certificates, it helps to check these logs for the `Custom Certificates:` line. If this line says `disabled`, you are not using {% data variables.product.prodname_copilot_for_business %}, so custom certificates are not supported. For more information, see "[AUTOTITLE](/copilot/overview-of-github-copilot/about-github-copilot-business)." - -{% endnote %} - ## Viewing Electron logs In rare cases, errors might not be propagated to the corresponding error handlers and are not logged in the regular locations. If you encounter errors and there is nothing in the logs, you may try to see the logs from the process running {% data variables.product.prodname_vscode_shortname %} and the extension. 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 b8a67d2c74..cae9821189 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 @@ -38,6 +38,12 @@ A {% data variables.product.prodname_GH_advanced_security %} license provides th - **{% data variables.product.prodname_secret_scanning_caps %}** - Detect secrets, for example keys and tokens, that have been checked into {% ifversion fpt %} private repositories{% else %} the repository{% endif %}. {% ifversion fpt%}{% data variables.secret-scanning.user_alerts_caps %} and {% data variables.secret-scanning.partner_alerts %} are available and free of charge for public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}{% ifversion secret-scanning-push-protection %} If push protection is enabled, also detects secrets when they are pushed to your repository. For more information, see "[AUTOTITLE](/code-security/secret-scanning/about-secret-scanning)" and "[AUTOTITLE](/code-security/secret-scanning/push-protection-for-repositories-and-organizations)."{% else %} For more information, see "[AUTOTITLE](/code-security/secret-scanning/about-secret-scanning)."{% endif %} +{% ifversion dependabot-auto-triage-rules %} + +- **{% data variables.dependabot.custom_rules_caps %}** - {% data reusables.dependabot.dependabot-custom-rules-ghas %} + +{% endif %} + - **Dependency review** - Show the full impact of changes to dependencies and see details of any vulnerable versions before you merge a pull request. For more information, see "[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)." {% ifversion fpt or ghec %} @@ -48,7 +54,8 @@ The table below summarizes the availability of {% data variables.product.prodnam | | Public repository | Private repository
without {% data variables.product.prodname_advanced_security %} | Private repository
with {% data variables.product.prodname_advanced_security %} | | --- | --- | --- | --- | | Code scanning | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | -| Secret scanning | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | +| Secret scanning | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} |{% ifversion dependabot-auto-triage-rules %} +| {% data variables.dependabot.custom_rules_caps %} | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} |{% endif %} | Dependency review | {% octicon "check" aria-label="Yes" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} | {% endrowheaders %} diff --git a/content/get-started/onboarding/getting-started-with-your-github-account.md b/content/get-started/onboarding/getting-started-with-your-github-account.md index 4a3ac5d5fe..e6e4bcd929 100644 --- a/content/get-started/onboarding/getting-started-with-your-github-account.md +++ b/content/get-started/onboarding/getting-started-with-your-github-account.md @@ -120,7 +120,7 @@ A fork is a copy of a repository that you manage, where any changes you make wil ### 2. Importing your projects -If you have existing projects you'd like to move over to {% data variables.product.product_name %} you can import projects using the {% data variables.product.prodname_dotcom %} Importer, the command line, or external migration tools. For more information, see "[AUTOTITLE](/migrations/importing-source-code)." +If you have existing projects you'd like to move over to {% data variables.product.product_name %} you can import projects using the {% data variables.product.prodname_importer %}, the command line, or external migration tools. For more information, see "[AUTOTITLE](/migrations/importing-source-code)." ### 3. Managing collaborators and permissions 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 3d8fe2e8fc..ed4bdcfeb4 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 @@ -53,7 +53,7 @@ If you access {% data variables.product.prodname_dotcom %} at a URL other than h In a wide browser window, the word "Enterprise" immediately follows the {% data variables.product.company_short %} logo on the left side of the header. -![Screenshot of the header of any page on {% data variables.product.prodname_dotcom %}. The {% data variables.product.prodname_dotcom %} logo and "{% data variables.product.prodname_ghe_managed %}" are highlighted with an orange outline.](/assets/images/help/docs/header-ghes.png) +![Screenshot of the header of any page on {% data variables.product.prodname_dotcom %}. The {% data variables.product.prodname_dotcom %} logo and "Enterprise" are highlighted with an orange outline.](/assets/images/help/docs/header-ghes.png) You can view the version of {% data variables.product.prodname_ghe_server %} that you're using in the footer of any page. diff --git a/content/index.md b/content/index.md index f1715acfb2..6c4239b201 100644 --- a/content/index.md +++ b/content/index.md @@ -42,6 +42,8 @@ redirect_from: - /github/enforcing-best-practices-with-github-policies/sharing - /early-access/github/enforcing-best-practices-with-github-policies/syntax - /github/enforcing-best-practices-with-github-policies/syntax + - /site-policy/site-policy-deprecated/github-ae-data-protection-agreement + - /site-policy/site-policy-deprecated/github-ae-product-specific-terms versions: fpt: '*' ghes: '*' diff --git a/content/migrations/importing-source-code/index.md b/content/migrations/importing-source-code/index.md index 633546d441..f99e14a665 100644 --- a/content/migrations/importing-source-code/index.md +++ b/content/migrations/importing-source-code/index.md @@ -1,6 +1,6 @@ --- title: Importing source code -intro: "To import source code only, you can use{% ifversion fpt or ghec %} {% data variables.product.prodname_dotcom %} Importer or{% endif %} command line tools." +intro: "To import source code only, you can use{% ifversion fpt or ghec %} {% data variables.product.prodname_importer %} or{% endif %} command line tools." versions: fpt: '*' ghec: '*' diff --git a/content/migrations/importing-source-code/using-github-importer/about-github-importer.md b/content/migrations/importing-source-code/using-github-importer/about-github-importer.md index c3b83888d5..23fcc4fe84 100644 --- a/content/migrations/importing-source-code/using-github-importer/about-github-importer.md +++ b/content/migrations/importing-source-code/using-github-importer/about-github-importer.md @@ -1,6 +1,6 @@ --- title: About GitHub Importer -intro: "If your source code is stored on a code hosting service using Git, Subversion, Mercurial, or Team Foundation Version Control (TFVC) and is accessible from the public internet, you can move the code to {% data variables.product.prodname_dotcom %} using {% data variables.product.prodname_dotcom %} Importer." +intro: "If your source code is stored on a code hosting service using Git, Subversion, Mercurial, or Team Foundation Version Control (TFVC) and is accessible from the public internet, you can move the code to {% data variables.product.prodname_dotcom %} using {% data variables.product.prodname_importer %}." redirect_from: - /articles/about-github-importer - /github/importing-your-projects-to-github/about-github-importer @@ -11,9 +11,9 @@ versions: ghec: '*' --- -## About {% data variables.product.prodname_dotcom %} Importer +## About {% data variables.product.prodname_importer %} -{% data variables.product.prodname_dotcom %} Importer is a tool that quickly imports source code repositories, including commits and revision history, to {% data variables.product.prodname_dotcom_the_website %} for you. +{% data variables.product.prodname_importer %} is a tool that quickly imports source code repositories, including commits and revision history, to {% data variables.product.prodname_dotcom_the_website %} for you. During an import, depending on the version control system you're importing from, you can authenticate with your remote repository, update commit author attribution, and either import repositories with large files or, if you don't want to use {% data variables.large_files.product_name_long %}, remove large files. diff --git a/content/migrations/importing-source-code/using-github-importer/importing-a-repository-with-github-importer.md b/content/migrations/importing-source-code/using-github-importer/importing-a-repository-with-github-importer.md index 31b3faaebc..73602985c6 100644 --- a/content/migrations/importing-source-code/using-github-importer/importing-a-repository-with-github-importer.md +++ b/content/migrations/importing-source-code/using-github-importer/importing-a-repository-with-github-importer.md @@ -1,6 +1,6 @@ --- title: Importing a repository with GitHub Importer -intro: 'If you have a project hosted on another version control system, you can automatically import it to GitHub using the GitHub Importer tool.' +intro: 'If you have a project hosted on another version control system, you can automatically import it to {% data variables.product.prodname_dotcom %} using the {% data variables.product.prodname_importer %} tool.' redirect_from: - /articles/importing-from-other-version-control-systems-to-github - /articles/importing-a-repository-with-github-importer @@ -13,26 +13,29 @@ versions: shortTitle: Import a repository --- -## About repository imports with GitHub Importer +## About repository imports with {% data variables.product.prodname_importer %} -GitHub Importer is not suitable for all imports. For example, if your existing code is hosted on a private network, our tool won't be able to access it. In these cases, we recommend [importing using the command line](/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-an-external-git-repository-using-the-command-line) for Git repositories or an external [source code migration tool](/migrations/importing-source-code/using-the-command-line-to-import-source-code) for projects imported from other version control systems. +{% data variables.product.prodname_importer %} is not suitable for all imports. For example, if your existing code is hosted on a private network, our tool won't be able to access it. In these cases, we recommend [importing using the command line](/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-an-external-git-repository-using-the-command-line) for Git repositories or an external [source code migration tool](/migrations/importing-source-code/using-the-command-line-to-import-source-code) for projects imported from other version control systems. {% data reusables.migrations.github-importer-non-git-deprecation %} -If you'd like to match the commits in your repository to the authors' GitHub personal accounts during the import, make sure every contributor to your repository has a GitHub account before you begin the import. +If you'd like to match the commits in your repository to the authors' {% data variables.product.prodname_dotcom %} personal accounts during the import, make sure every contributor to your repository has a {% data variables.product.prodname_dotcom %} account before you begin the import. {% data reusables.repositories.repo-size-limit %} For more information about migration paths to {% data variables.product.prodname_dotcom %} from other products, or between {% data variables.product.prodname_dotcom %} products, see "[AUTOTITLE](/migrations/overview/migration-paths-to-github)." -## Importing a repository with GitHub Importer +## Importing a repository with {% data variables.product.prodname_importer %} + +When you import a repository using the {% data variables.product.prodname_importer %}, a new repository will be created. If you already have an existing repository you want to use, you can instead add your local repository to {% data variables.product.prodname_dotcom %} using Git. For more information, see "[AUTOTITLE](/migrations/importing-source-code/using-the-command-line-to-import-source-code/adding-locally-hosted-code-to-github#importing-a-git-repository-with-the-command-line)." 1. In the upper-right corner of any page, click {% octicon "plus" aria-label="Create new..." %}, and then click **Import repository**. ![Screenshot of the top-right corner of any page on {% data variables.product.prodname_dotcom %}. A plus icon is highlighted with an orange outline.](/assets/images/help/importer/import-repository.png) + 1. Under "Your old repository's clone URL", type the URL of the project you want to import. 1. Under "Owner", select the dropdown menu and click your personal account or an organization to own the repository -1. Under "Name", type a name for the repository on GitHub. +1. Under "Name", type a name for the repository on {% data variables.product.prodname_dotcom %}. 1. Under "Privacy", select a visibility for the repository. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility)." 1. Review the information you entered, then click **Begin import**. 1. If your old project requires credentials, type your login information for that project. If SAML SSO or 2FA are enabled for your user account on the old project, enter a {% data variables.product.pat_generic %} with repository read permissions in the "Password" field instead of your password. diff --git a/content/migrations/importing-source-code/using-github-importer/index.md b/content/migrations/importing-source-code/using-github-importer/index.md index 45b0e48316..da51010cc6 100644 --- a/content/migrations/importing-source-code/using-github-importer/index.md +++ b/content/migrations/importing-source-code/using-github-importer/index.md @@ -1,6 +1,6 @@ --- title: Using GitHub Importer -intro: 'To import repositories that are publicly accessible, you can use GitHub Importer.' +intro: 'To import repositories that are publicly accessible, you can use {% data variables.product.prodname_importer %}.' redirect_from: - /get-started/importing-your-projects-to-github/importing-source-code-to-github versions: diff --git a/content/migrations/importing-source-code/using-github-importer/updating-commit-author-attribution-with-github-importer.md b/content/migrations/importing-source-code/using-github-importer/updating-commit-author-attribution-with-github-importer.md index 018765625d..82c33a3dec 100644 --- a/content/migrations/importing-source-code/using-github-importer/updating-commit-author-attribution-with-github-importer.md +++ b/content/migrations/importing-source-code/using-github-importer/updating-commit-author-attribution-with-github-importer.md @@ -11,29 +11,29 @@ versions: ghec: '*' shortTitle: Update commit authors --- -GitHub Importer looks for GitHub users whose email addresses match the authors of the commits in the repository you're importing. You can then connect a commit to its author using their email address or the author's GitHub username. +{% data variables.product.prodname_importer %} looks for {% data variables.product.prodname_dotcom %} users whose email addresses match the authors of the commits in the repository you're importing. You can then connect a commit to its author using their email address or the author's {% data variables.product.prodname_dotcom %} username. ## Updating commit authors 1. After you've imported your repository, on the import status page, click **Match authors**. 1. Next to the author whose information you'd like to update, click **Connect**. -1. Type the email address or GitHub username of the author, then press **Enter**. +1. Type the email address or {% data variables.product.prodname_dotcom %} username of the author, then press **Enter**. -## Attributing commits to a GitHub user with a public email address +## Attributing commits to a {% data variables.product.prodname_dotcom %} user with a public email address -If the author of a commit in your imported repository has a GitHub account associated with the email address they used to author the commits, and they haven't [set their commit email address as private](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address), GitHub Importer will match the email address associated with the commit to the public email address associated with their GitHub account, and attribute the commit to their GitHub account. +If the author of a commit in your imported repository has a {% data variables.product.prodname_dotcom %} account associated with the email address they used to author the commits, and they haven't [set their commit email address as private](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address), {% data variables.product.prodname_importer %} will match the email address associated with the commit to the public email address associated with their GitHub account, and attribute the commit to their {% data variables.product.prodname_dotcom %} account. -## Attributing commits to a GitHub user without a public email address +## Attributing commits to a {% data variables.product.prodname_dotcom %} user without a public email address -If the author of a commit in your imported repository has neither set a public email address on their GitHub profile, nor [set their commit email address as private](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address), GitHub Importer may not be able to match the email address associated with the commit with their GitHub account. +If the author of a commit in your imported repository has neither set a public email address on their {% data variables.product.prodname_dotcom %} profile, nor [set their commit email address as private](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address), {% data variables.product.prodname_importer %} may not be able to match the email address associated with the commit with their {% data variables.product.prodname_dotcom %} account. The commit author can resolve this by setting their email address as private. Their commits will then be attributed to a no-reply email, and the imported commits will be associated with their GitHub account. For more information about the exact form the no-reply email address can take, see "[AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address)." ## Attributing commits using an email address -If the author's email address is not associated with their GitHub account, they can [add the address to their account](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account) after the import, and the commits will be correctly attributed. +If the author's email address is not associated with their {% data variables.product.prodname_dotcom %} account, they can [add the address to their account](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account) after the import, and the commits will be correctly attributed. -If the author does not have a GitHub account, GitHub Importer will attribute their commits to the email address associated with the commits. +If the author does not have a {% data variables.product.prodname_dotcom %} account, {% data variables.product.prodname_importer %} will attribute their commits to the email address associated with the commits. ## Further reading diff --git a/content/migrations/importing-source-code/using-the-command-line-to-import-source-code/about-source-code-imports-using-the-command-line.md b/content/migrations/importing-source-code/using-the-command-line-to-import-source-code/about-source-code-imports-using-the-command-line.md index 5120359ddf..cb9e2c2f3e 100644 --- a/content/migrations/importing-source-code/using-the-command-line-to-import-source-code/about-source-code-imports-using-the-command-line.md +++ b/content/migrations/importing-source-code/using-the-command-line-to-import-source-code/about-source-code-imports-using-the-command-line.md @@ -8,10 +8,11 @@ versions: shortTitle: About source code imports --- +{% data reusables.repositories.importing-context %} {% ifversion fpt or ghec %} -If you want to import a Git repository that is stored on a code hosting service that is publicly available on the internet, we recommend using GitHub Importer. For more information, see "[AUTOTITLE](/migrations/importing-source-code/using-github-importer)." +If you want to import a Git repository that is stored on a code hosting service that is publicly available on the internet, we recommend using {% data variables.product.prodname_importer %}. For more information, see "[AUTOTITLE](/migrations/importing-source-code/using-github-importer)." If your source code is not tracked by Git or is not publicly available, you can use the command line instead. diff --git a/content/migrations/importing-source-code/using-the-command-line-to-import-source-code/adding-locally-hosted-code-to-github.md b/content/migrations/importing-source-code/using-the-command-line-to-import-source-code/adding-locally-hosted-code-to-github.md index 7acda639e1..23600616e8 100644 --- a/content/migrations/importing-source-code/using-the-command-line-to-import-source-code/adding-locally-hosted-code-to-github.md +++ b/content/migrations/importing-source-code/using-the-command-line-to-import-source-code/adding-locally-hosted-code-to-github.md @@ -17,6 +17,8 @@ shortTitle: Local code ## About adding existing source code to {% data variables.product.product_name %} +{% data reusables.repositories.importing-context %} + If you have source code stored locally on your computer that is tracked by Git or not tracked by any version control system (VCS), you can add the code to {% data variables.product.product_name %} by typing commands in a terminal. You can do this by typing Git commands directly, or by using {% data variables.product.prodname_cli %}. {% data variables.product.prodname_cli %} is an open source tool for using {% data variables.product.prodname_dotcom %} from your computer's command line. {% data variables.product.prodname_cli %} can simplify the process of adding an existing project to {% data variables.product.product_name %} using the command line. To learn more about {% data variables.product.prodname_cli %}, see "[AUTOTITLE](/github-cli/github-cli/about-github-cli)." @@ -126,6 +128,7 @@ Before you can add your local repository to {% data variables.product.prodname_d 1. At the top of your repository on {% data variables.location.product_location %}'s Quick Setup page, click {% octicon "copy" aria-label="Copy to clipboard" %} to copy the remote repository URL. ![Screenshot of the "Quick Setup" header in a repository. Next to the remote URL, an icon of two overlapping squares is highlighted with an orange outline.](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png) + {% data reusables.command_line.open_the_multi_os_terminal %} 1. Change the current working directory to your local project. 1. To add the URL for the remote repository where your local repository will be pushed, run the following command. Replace `REMOTE-URL` with the repository's full URL on {% data variables.product.prodname_dotcom %}. @@ -157,6 +160,7 @@ Before you can add your local repository to {% data variables.product.prodname_d 1. At the top of your repository on {% data variables.location.product_location %}'s Quick Setup page, click {% octicon "copy" aria-label="Copy to clipboard" %} to copy the remote repository URL. ![Screenshot of the "Quick Setup" header in a repository. Next to the remote URL, an icon of two overlapping squares is highlighted with an orange outline.](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png) + {% data reusables.command_line.open_the_multi_os_terminal %} 1. Change the current working directory to your local project. 1. To add the URL for the remote repository where your local repository will be pushed, run the following command. Replace `REMOTE-URL` with the repository's full URL on {% data variables.product.prodname_dotcom %}. diff --git a/content/migrations/overview/migration-paths-to-github.md b/content/migrations/overview/migration-paths-to-github.md index 311a38606f..6c25ecbc36 100644 --- a/content/migrations/overview/migration-paths-to-github.md +++ b/content/migrations/overview/migration-paths-to-github.md @@ -90,7 +90,7 @@ Migrations from {% data variables.product.prodname_dotcom_the_website %} include ### Bitbucket Cloud (Bitbucket.org) to {% data variables.product.prodname_dotcom_the_website %} - **Scope**: Source and history -- **Tooling**: Git CLI or GitHub Importer +- **Tooling**: Git CLI or {% data variables.product.prodname_importer %} - **More information**: - "[AUTOTITLE](/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-an-external-git-repository-using-the-command-line)" - "[AUTOTITLE]({% ifversion ghes %}/free-pro-team@latest{% endif %}/migrations/importing-source-code/using-github-importer/about-github-importer)" @@ -118,7 +118,7 @@ Migrations from {% data variables.product.prodname_dotcom_the_website %} include ### Any Git repository to {% data variables.product.prodname_dotcom_the_website %} - **Scope**: Source and history -- **Tooling**: Git CLI or GitHub Importer if the repository is accessible over the public internet +- **Tooling**: Git CLI or {% data variables.product.prodname_importer %} if the repository is accessible over the public internet - **More information**: - "[AUTOTITLE](/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-an-external-git-repository-using-the-command-line)" - "[AUTOTITLE]({% ifversion ghes %}/free-pro-team@latest{% endif %}/migrations/importing-source-code/using-github-importer/about-github-importer)" diff --git a/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization.md b/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization.md index b93717cf12..78a9fd5c78 100644 --- a/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization.md +++ b/content/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization.md @@ -20,6 +20,8 @@ shortTitle: Manage security & analysis {% data variables.product.prodname_dotcom %} can help you to secure the repositories in your organization. You can manage the security and analysis features for all existing or new repositories that members create in your organization. {% ifversion ghec %}If you have a license for {% data variables.product.prodname_GH_advanced_security %} then you can also manage access to these features. {% data reusables.advanced-security.more-info-ghas %}{% endif %}{% ifversion fpt %}Organizations that use {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %} can also manage access to these features. For more information, see [the {% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization).{% endif %} +{% ifversion ghec or ghes %}If your organization is owned by an enterprise with a license for {% data variables.product.prodname_GH_advanced_security %}, then extra options for managing security and analysis settings may be available. For more information, see "[AUTOTITLE](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)."{% endif %} + {% data reusables.security.some-security-and-analysis-features-are-enabled-by-default %} {% data reusables.security.security-and-analysis-features-enable-read-only %} diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md index 3b45d34cd1..880b993104 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization.md @@ -156,7 +156,7 @@ Some of the features listed below are limited to organizations using {% data var {% endrowheaders %} {% elsif ghes %} - + {% rowheaders %} @@ -205,7 +205,7 @@ Some of the features listed below are limited to organizations using {% data var {% endrowheaders %} {% else %} - + {% rowheaders %} diff --git a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md index 55cfd00037..1fe5cfd921 100644 --- a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md +++ b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md @@ -170,7 +170,7 @@ In this section, you can find the access required for security features, such as | [Dismiss {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts) | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% ifversion dependabot-alerts-permissions-write-maintain %}{% octicon "check" aria-label="Yes" %}{% endif %} | {% ifversion dependabot-alerts-permissions-write-maintain %}{% octicon "check" aria-label="Yes" %}{% endif %} | {% octicon "check" aria-label="Yes" %} |{% ifversion ghes or ghec %} | [Designate additional people or teams to receive security alerts](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} |{% endif %}{% ifversion fpt or ghec %} | Create [security advisories](/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories) | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} |{% endif %}{% ifversion ghes or ghec %} -| Manage access to {% data variables.product.prodname_GH_advanced_security %} features (see "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)") | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} |{% endif %}{% ifversion fpt or ghec %} +| Manage access to {% data variables.product.prodname_GH_advanced_security %} features (see "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)") | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} |{% endif %}{% ifversion fpt or ghec %} | [Enable the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository) for a private repository | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "x" aria-label="No" %} | {% octicon "check" aria-label="Yes" %} |{% endif %}{% ifversion ghes or ghec %} | [View dependency reviews](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review) | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} |{% endif %} | [View {% data variables.product.prodname_code_scanning %} alerts on pull requests](/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests) | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | {% octicon "check" aria-label="Yes" %} | diff --git a/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md b/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md index fb8a5eebfe..1b5a00f014 100644 --- a/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md +++ b/content/repositories/creating-and-managing-repositories/duplicating-a-repository.md @@ -17,7 +17,7 @@ topics: {% note %} -**Note:** If you have a project hosted on another version control system, you can automatically import your project to {% data variables.product.prodname_dotcom %} using the {% data variables.product.prodname_dotcom %} Importer tool. For more information, see "[AUTOTITLE](/migrations/importing-source-code/using-github-importer/about-github-importer)." +**Note:** If you have a project hosted on another version control system, you can automatically import your project to {% data variables.product.prodname_dotcom %} using the {% data variables.product.prodname_importer %} tool. For more information, see "[AUTOTITLE](/migrations/importing-source-code/using-github-importer/about-github-importer)." {% endnote %} diff --git a/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository.md b/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository.md index a626508865..680bb69fa9 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository.md @@ -48,7 +48,7 @@ You can manage a subset of security and analysis features for public repositorie ## Enabling or disabling security and analysis features{% ifversion fpt or ghec %} for private repositories{% endif %} -You can manage the security and analysis features for your {% ifversion fpt or ghec %}private or internal {% endif %}repository.{% ifversion ghes or ghec %} If your organization belongs to an enterprise with a license for {% data variables.product.prodname_GH_advanced_security %} then extra options are available. {% data reusables.advanced-security.more-info-ghas %} +You can manage the security and analysis features for your {% ifversion fpt or ghec %}private or internal {% endif %}repository.{% ifversion ghes or ghec %} If your enterprise or organization has a license for {% data variables.product.prodname_GH_advanced_security %}, then extra options are available. {% data reusables.advanced-security.more-info-ghas %} {% elsif fpt %} Organizations that use {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_advanced_security %} have extra options available. For more information, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest//repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#enabling-or-disabling-security-and-analysis-features-for-private-repositories). {% endif %} diff --git a/content/rest/copilot/copilot-user-management.md b/content/rest/copilot/copilot-user-management.md index db0e14aff0..f830c77857 100644 --- a/content/rest/copilot/copilot-user-management.md +++ b/content/rest/copilot/copilot-user-management.md @@ -16,7 +16,7 @@ redirect_from: {% note %} -**Note:** The {% data variables.product.prodname_copilot_for_business %} API endpoints are in public beta and subject to change. +**Note:** These endpoints are in public beta and subject to change. {% endnote %} diff --git a/content/site-policy/privacy-policies/github-subprocessors.md b/content/site-policy/privacy-policies/github-subprocessors.md index 39abe00890..62cb120a23 100644 --- a/content/site-policy/privacy-policies/github-subprocessors.md +++ b/content/site-policy/privacy-policies/github-subprocessors.md @@ -30,12 +30,19 @@ If you have questions about this list, please contact us at | Azure Cognitive Services | Customer support ticketing analysis | United States | United States | | Cloudflare | Content delivery service | United States | United States | | Fastly | Content delivery service | United States | United States | +| GitHub Australia Pty Ltd | GitHub Subsidiary | United States | United States | +| GitHub BV | GitHub Subsidiary | United States | United States | +| GitHub Canada ULC | GitHub Subsidiary | United States | United States | +| GitHub Germany GmbH | GitHub Subsidiary | United States | United States | +| GitHub India Pty Ltd | GitHub Subsidiary | United States | United States | | Google Cloud Platform (GCP) | Cloud Hosted Infrastructure | United States | United States | | Microsoft | Technical Services | United States | United States | | Moveworks | Customer support ticketing analysis | United States | United States | | NexMo (aka Vonage) | SMS notification provider for 2 Factor Authentication | United States | United States | +| Npm, Inc. | GitHub Subsidiary | United States | United States | | Obsidian Security | Security management | United States | United States | | Pusher | Building and managing real-time infrastructure for web and mobile applications | United States | United States | +| Semmle Inc. | GitHub Subsidiary | United States | United States | | SendGrid | SMS notification provider for 2 Factor Authentication | United States | United States | | Splunk | Logging pipeline for security log, storage, and search | United States | United States | | Twilio | SMS notification provider for 2 Factor Authentication | United States | United States | diff --git a/content/site-policy/site-policy-deprecated/github-ae-data-protection-agreement.md b/content/site-policy/site-policy-deprecated/github-ae-data-protection-agreement.md deleted file mode 100644 index e3b625dcde..0000000000 --- a/content/site-policy/site-policy-deprecated/github-ae-data-protection-agreement.md +++ /dev/null @@ -1,457 +0,0 @@ ---- -title: GitHub AE Data Protection Agreement -hidden: true -versions: - fpt: '*' -redirect_from: - - /github/site-policy/ghem-data-protection-addendum - - /github/site-policy/github-ae-data-protection-agreement - - /github/site-policy-deprecated/github-ae-data-protection-agreement ---- - - -_These terms apply to Customers who licensed the Products prior to January 4, 2021. Customers who purchase GitHub Products after that date are directed to https://github.com/customer-terms for current terms._ - -## INTRODUCTION - -The parties agree that the GitHub AE Data Protection Agreement and Security Exhibit (together, the “**Data Protection Agreement**” or “**DPA**”) set forth obligations with respect to the processing and security of Customer Personal Data in connection with GitHub AE (the “**Online Service**”). GitHub makes the commitments in this DPA to all customers using the Online Service. - -In the event of any conflict or inconsistency between the DPA and any other terms in Customer’s agreements with GitHub (“Agreement”), the DPA shall prevail. For clarity, consistent with Clause 10 of the Standard Contractual Clauses in Attachment 1, the Standard Contractual Clauses prevail over any other terms in the DPA. - -## GITHUB DATA PROTECTION AGREEMENT - -### 1. Definitions. - -1.1 “**Applicable Data Protection Laws**” means certain laws, regulations, regulatory frameworks, or other legislations relating to the processing and use of Customer Personal Data, as applicable to Customer’s use of the Online Services, including: - - a. The EU General Data Protection Regulation 2016/679 (“**GDPR**”), along with any implementing or corresponding equivalent national laws or regulations; and - - b. The California Consumer Privacy Act of 2018, Cal. Civ. Code §§1798.100 et seq. ("**CCPA**"). - -1.2 “**Controller**,” “**Data Subject**,” “**Member State**,” “**Personal Data**,” “**Personal Data Breach**,” “**Processing**,” “**Processor**,” and “**Supervisory Authority**” have the meanings given to them in the Applicable Data Protection Laws. In the event of a conflict, the meanings given in the GDPR will supersede. - -1.3 “**Customer Personal Data**” means any Personal Data for which Customer is a Controller, whether supplied by Customer for processing by GitHub or generated by GitHub in the course of performing its obligations under the Agreement. It includes data such as billing information, IP addresses, corporate email addresses, and any other Personal Data for which Customer is a Controller. - -1.4 “**Customer Repository Data**” means any data or information that is uploaded or created by Customer into any of its Private Repositories. - -1.5 “**Data Breach**” means a Personal Data Breach or any other confirmed or reasonably suspected breach of Customer’s Protected Data. - -1.6 “**GitHub Legitimate Business Operations**” consist of the following, each as incident to delivery of the Service to Customer: (1) internal reporting and business modeling; (2) combating fraud, cybercrime, or cyber-attacks that may affect GitHub; (3) improving the core functionality of accessibility or privacy; and (4) financial reporting and compliance with legal obligations. - -1.7 “**End User**” means the Customers’ End Users such as employees, contractors, or collaborators. - -1.8 “**Permitted Purposes**” for data processing are those limited and specific purposes of providing the Online Service as set forth in the Agreement and this DPA, or the purposes for which a Data Subject has authorized the use of Customer Personal Data. - -1.9 “**Protected Data**” includes any Customer Personal Data and any Customer Repository Data processed by GitHub on behalf of Customer under the Agreement. - -1.10 “**Sensitive Data**” means any Personal Data revealing racial or ethnic origin; political opinions, religious or philosophical beliefs or trade union membership; processing of genetic data or biometric data for the purposes of uniquely identifying a natural person; data concerning health, a natural person’s sex life or sexual orientation; and data relating to offences, criminal convictions, or security measures. - -### 2. Status and Compliance. - -### 2.1 Data Processing. - -GitHub acts as a Processor in regard to any Customer Personal Data it receives in connection with the Agreement, except where Customers acts as a Processor (in which case GitHub is a subprocessor). GitHub will process Customer Personal Data only for Permitted Purposes in accordance with Customer’s instructions as represented by the Agreement and other written communications. In the event that GitHub is unable to comply with Customer’s instructions, such as due to conflicts with the Applicable Data Protection Laws, or where processing is required by the Applicable Data Protection Laws or other legal requirements, GitHub will notify Customer to the extent permissible. GitHub processes all Customer Personal Data in the United States or in the European Union; however, GitHub’s subprocessors may process data outside of the United States or the European Union. Additionally, GitHub acts as a Processor for any Customer Repository Data. - -### 2.2 Data Controllers. - -Customer is a Controller only for the Customer Personal Data it transfers directly to GitHub or through the use of the Online Service except: (a) when Customer acts as a Processor of Customer Personal Data (in which case GitHub is a subprocessor); or (b) to the extent GitHub uses or otherwise processes Customer Personal Data for GitHub’s Legitimate Business Operations. In which case, GitHub will comply with the obligation of an independent data controller under GDPR for such use. - -### 2.3 GitHub Compliance; Data Transfers. - -GitHub will comply with Applicable Data Protection Laws in relation to the processing of Personal Data. - -All transfers of Customer Personal Data out of the European Union, European Economic Area, United Kingdom, and Switzerland to provide the Online Service shall be governed by the Standard Contractual Clauses in Attachment 1 (Standard Contractual Clauses). - -GitHub will abide by the requirements of European Economic Area and Swiss data protection law regarding the collection, use, transfer, retention, and other processing of Personal Data from the European Economic Area, United Kingdom, and Switzerland. All transfers of Personal Data to a third country or an international organization will be subject to appropriate safeguards as described in Article 46 of the GDPR and such transfers and safeguards will be documented according to Article 30(2) of the GDPR. - -In addition, GitHub is certified to the EU-U.S. and Swiss-U.S. Privacy Shield Frameworks and the commitments they entail, although GitHub does not rely on the EU-U.S. Privacy Shield Framework as a legal basis for transfers of Personal Data in light of the judgment of the Court of Justice of the EU in Case C-311/18. GitHub agrees to notify Customer if it makes a determination that it can no longer meet its obligation to provide the same level of protection as is required by the Privacy Shield principles. - -### 2.4 Data Subject Rights; Assistance with Requests. - -GitHub will make available to Customer, in a manner consistent with the functionality of the Online Service and GitHub’s role as a processor of Customer Personal Data, the ability to fulfill data subject requests to exercise their rights under the Applicable Data Protection Laws, such as GDPR and CCPA. If GitHub receives a request from Customer’s data subject to exercise one or more of its rights in connection with the Online Service for which GitHub is a data processor or subprocessor, GitHub will redirect the data subject to make its request directly to Customer. Customer will be responsible for responding to any such request including, where necessary, by using the functionality or documentation provided by the Online Service. GitHub shall comply with reasonable requests by Customer to assist with Customer’s response to such a data subject request. - -### 3. Data Protection. - -#### 3.1 Purpose Limitation. - -GitHub will process and communicate the Protected Data only for Permitted Purposes, unless the Parties agree in writing to an expanded purpose. - -#### 3.2 Data Quality and Proportionality. - -GitHub will keep the Customer Personal Data accurate and up to date, or enable Customer to do so. GitHub will take commercially reasonable steps to ensure that any Protected Data it collects on Customer’s behalf is adequate, relevant, and not excessive in relation to the purposes for which it is transferred and processed. In no event will GitHub intentionally collect Sensitive Data on Customer’s behalf. Customer agrees that the Online Service are not intended for the storage of Sensitive Data; if Customer chooses to upload Sensitive Data to the Online Service, Customer must comply with Article 9 of the GDPR, or equivalent provisions in the Applicable Data Protection Laws. - -#### 3.3 Data Retention and Deletion. - -Upon Customer’s reasonable request, unless prohibited by law, GitHub will return, destroy, or deidentify all Customer Personal Data and related data at all locations where it is stored after it is no longer needed for the Permitted Purposes within thirty days of request. GitHub may retain Customer Personal Data and related data to the extent required by the Applicable Data Protection Laws, and only to the extent and for such period as required by the Applicable Data Protection Laws, provided that GitHub will ensure that Customer Personal Data is processed only as necessary for the purpose specified in the Applicable Data Protection Laws and no other purpose, and Customer Personal Data remains protected by the Applicable Data Protection Laws. - -#### 3.4 Data Processing. - -GitHub provides the following information, required by Article 28(3) of the GDPR, regarding its processing of Customer’s Protected Data: - -a. _The subject matter and duration of the processing_ of Customer Personal Data are set out in the Agreement and the DPA. - -b. _The nature and purpose of the processing_ of Customer Personal Data is described in Section 3.1 of the DPA. - -c. _The types of Customer Personal Data to be processed_ are described in the Agreement, and include Customer Personal Data; or any type of Personal Data that Customer elects to include in Customer Personal Data. Customer may choose to supply GitHub with additional Customer Personal Data, such as in Customer’s profile settings or by uploading Customer Personal Data to its GitHub repositories. - -d. _The categories of Data Subject to whom the Customer Personal Data relates_ are the Customer itself and its End Users. - -e. _The obligations and rights of Customer_ are set out in the Agreement and the DPA. - -### 4. Security and Audit Obligations. - -#### 4.1 Technical and Organizational Security Measures. - -Taking into account the state of the art, the costs of implementation, and the nature, scope, context and purposes of processing as well as the risk of varying likelihood and severity for the rights and freedoms of natural persons, GitHub will implement appropriate technical and organizational measures to ensure a level of security appropriate to the risks, such as against accidental or unlawful destruction, or loss, alteration, unauthorized disclosure or access, presented by processing the Protected Data. GitHub will regularly monitor compliance with these measures and will continue to take appropriate safeguards throughout the duration of the Agreement. Please see Section 1.1 of the Security Exhibit (below) regarding GitHub’s responsibilities in relation to security safeguards. - -#### 4.2 Incident Response and Breach Notification. - -GitHub will comply with the Information Security obligations in the Security Exhibit and the Applicable Data Protection Laws, including Data Breach notification obligations. Please see Section 1.2 of the Security Exhibit regarding GitHub’s responsibilities in relation to Data Breach response and notification. - -#### 4.3 GitHub Personnel. - -GitHub represents and warrants that it will take reasonable steps to ensure that all GitHub personnel processing Protected Data have agreed to keep the Protected Data confidential and have received adequate training on compliance with the DPA and the Applicable Data Protection Laws. - -#### 4.4 Records. - -GitHub will maintain complete, accurate, and up to date written records of all categories of processing activities carried out on behalf of Customer containing the information required under the Applicable Data Protection Laws. To the extent that assistance does not risk the security of GitHub or the privacy rights of individual Data Subjects, GitHub will make these records available to Customer on request as reasonably required, such as to help Customer demonstrate its compliance under the Applicable Data Protection Laws. To learn more about GitHub’s requirements to provide assistance in the event of a security incident, please see Section 1.2 of the Security Exhibit. - -#### 4.5 Compliance Reporting. - -GitHub will provide security compliance reporting in accordance with Section 2.3 of the Security Exhibit. Customer agrees that any information and audit rights granted by the Applicable Data Protection Laws (including, where applicable, Article 28(3)(h) of the GDPR) will be satisfied by these compliance reports, and will only arise to the extent that GitHub’s provision of a compliance report does not provide sufficient information, or to the extent that Customer must respond to a regulatory or Supervisory Authority audit. Section 3.1 of the Security Exhibit describes the Parties’ responsibilities in relation to a regulatory or Supervisory Authority audit. - -#### 4.6 Assistance. - -GitHub will provide reasonable assistance to Customer with concerns such as data privacy impact assessments, Data Subject rights requests, consultations with Supervisory Authorities, and other similar matters, in each case solely in relation to the processing of Customer’s Personal Data and taking into account the nature of processing. - -### 5. Use and Disclosure of Protected Data. - -No Use in Marketing and CCPA. GitHub will not use the Protected Data for the purposes of advertising third-party content. If GitHub is processing Customer Personal Data within the scope of the CCPA, GitHub will not retain, use, or disclose that data for any purpose other than for the purposes set out in the DPA and as permitted under the CCPA, including under any “sale” exemption. In no event will GitHub sell any such data. - -### 6. Subprocessing and Onward Transfer. - -#### 6.1 Protection of Data. - -GitHub is liable for onward transfers of Protected Data to its subprocessors, such as its third-party payment processor. In the event that GitHub does transfer the Protected Data to a third-party subprocessor, or GitHub installs, uses, or enables a third party or third-party services to process the Protected Data on GitHub’s behalf, GitHub will ensure that the third-party subprocessor is bound by written agreement that requires them to provide at least the same level of confidentiality, security, and privacy protection as is required of GitHub by this DPA and the Applicable Data Protection Laws. - -#### 6.2 Acceptance of GitHub Subprocessors. - -Customer authorizes GitHub and its subprocessors to appoint and use subprocessors in accordance with this Section 6 and the Agreement. - -#### 6.3 General Consent for Onward Subprocessing. - -Customer provides a general consent for GitHub to engage onward subprocessors, conditional on GitHub’s compliance with the following requirements: - -a. Any onward subprocessor must agree in writing to only process data in a country that the European Commission has declared to have an “adequate” level of protection; or to only process data on terms equivalent to the Standard Contractual Clauses, or pursuant to a Binding Corporate Rules approval granted by competent European data protection authorities, or pursuant to compliant and valid EU-US Privacy Shield and Swiss-U.S. Privacy Shield certifications; and - -b. GitHub will restrict the onward subprocessor’s access to Customer Personal Data only to what is strictly necessary to perform its services, and GitHub will prohibit the subprocessor from processing the Customer Personal Data for any other purpose. - -#### 6.4 Disclosure of Subprocessor Agreements. - -GitHub maintains a list of onward subprocessors it has engaged to process Customer Personal Data on its website, including the categories of Customer Personal Data processed, a description of the type of processing the subprocessor performs, and the location of its processing. GitHub will, upon Customer’s written request, provide Customer with this list of subprocessors and the terms under which they process the Customer Personal Data. Pursuant to subprocessor confidentiality restrictions, GitHub may remove any confidential or commercially sensitive information before providing the list and the terms to Customer. In the event that GitHub cannot disclose confidential or sensitive information to Customer, the Parties agree that GitHub will provide all information it reasonably can in connection with its subprocessing agreements. - -#### 6.5 Objection to Subprocessors. - -GitHub will provide thirty days’ prior written notice of the addition or removal of any subprocessor, including the categories listed in Section 6.4, by announcing changes on its website. If Customer has a reasonable objection to GitHub’s engagement of a new subprocessor, Customer must notify GitHub promptly in writing. Where possible, GitHub will use commercially reasonable efforts to provide an alternative solution to the Online Services to avoid processing of data by the objectionable subprocessor. In the event that GitHub is unable to provide an alternative solution and the Parties cannot resolve the conflict within ninety days, Customer may terminate the Agreement. - -### 7. Termination. - -#### 7.1 Suspension. - -In the event that GitHub is in breach of its obligations to maintain an adequate level of security or privacy protection, Customer may temporarily suspend the transfer of all Customer Personal Data or prohibit collection and processing of Customer Personal Data on Customer’s behalf until the breach is repaired or the Agreement is terminated. - -#### 7.2 Termination with Cause. - -In addition to any termination rights Customer has under the Agreement, Customer may terminate the Agreement without prejudice to any other claims at law or in equity in the event that: - -a. GitHub notifies Customer that it can no longer meet its privacy obligations; - -b. the transfer, collection, or processing of all Customer Personal Data has been temporarily suspended for longer than one month pursuant to Section 7.1; - -c. GitHub is in substantial or persistent breach of any warranties or representations under the DPA; - -d. GitHub is no longer carrying on business, is dissolved, enters receivership, or a winding up order is made on behalf of GitHub; or - -e. Customer objects to a subprocessor pursuant to Section 6.5, and GitHub has not been able to provide an alternative solution within ninety days. - -#### 7.3 Breach. - -Failure to comply with the material provisions of the DPA is considered a material breach under the Agreement. - -#### 7.4 Failure to perform. - -In the event that changes in law or regulation render performance of the DPA impossible or commercially unreasonable, the Parties may renegotiate the DPA in good faith. If renegotiation would not cure the impossibility, or if the Parties cannot reach an agreement, the Parties may terminate the Agreement after thirty days. - -#### 7.5 Notification. - -In the event that GitHub determines that it can no longer meet its privacy obligations under the DPA, GitHub will notify Customer in writing immediately. - -#### 7.6 Modifications. - -GitHub may modify the DPA from time to time as required by the Applicable Data Protection Laws, with thirty days’ notice to Customer. - -#### 7.7 Termination Requirements. - -Upon Termination, GitHub must: - -a. take reasonable and appropriate steps to stop processing the Customer Personal Data; - -b. within ninety days of termination, delete or deidentify any Customer Personal Data GitHub stores on Customer’s behalf pursuant to Section 3.3; and - -c. provide Customer with reasonable assurance that GitHub has complied with its obligations in Section 7.7. - -### 8. Liability for Data Processing. - -#### 8.1 Limitations. - -Except as limited by the Applicable Data Protection Laws, any claims brought under the DPA will be subject to the terms of the Agreement regarding Limitations of Liability. - -## Attachment 1 – The Standard Contractual Clauses (Processors) - -Execution of the Agreement by Customer includes execution of this Attachment 1 to the GitHub Data Protection Addendum, which is countersigned by GitHub, Inc. - -In countries where regulatory approval is required for use of the Standard Contractual Clauses, the Standard Contractual Clauses cannot be relied upon under European Commission 2010/87/EU (of February 2010) to legitimize export of data from the country, unless Customer has the required regulatory approval. - -For the purposes of Article 46 (2) of the General Data Protection Regulation (EU 2016/679) for the transfer of personal data to processors established in third countries which do not ensure an adequate level of data protection, Customer (as data exporter) and GitHub (as data importer, whose signature appears below), each a “party,” together “the parties”, have agreed on the following Contractual Clauses (the “Clauses” or “Standard Contractual Clauses”) in order to adduce adequate safeguards with respect to the protection of privacy and fundamental rights and freedoms of individuals for the transfer by the data exporter to the data importer of the personal data specified in Appendix 1. - -### Clause 1: Definitions - -(a) 'personal data', 'special categories of data', 'process/processing', 'controller', 'processor', 'data subject' and 'supervisory authority' shall have the same meaning as in the General Data Protection Regulation (EU 2016/679) on the protection of individuals with regard to the processing of personal data and on the free movement of such data; - -(b) 'the data exporter' means the controller who transfers the personal data; - -(c) 'the data importer' means the processor who agrees to receive from the data exporter personal data intended for processing on his behalf after the transfer in accordance with his instructions and the terms of the Clauses and who is not subject to a third country's system ensuring adequate protection within the meaning of Article 45(2) of the General Data Protection Regulation (EU 2016/679); - -(d) 'the subprocessor' means any processor engaged by the data importer or by any other subprocessor of the data importer who agrees to receive from the data importer or from any other subprocessor of the data importer personal data exclusively intended for processing activities to be carried out on behalf of the data exporter after the transfer in accordance with his instructions, the terms of the Clauses and the terms of the written subcontract; - -(e) 'the applicable data protection law' means the legislation protecting the fundamental rights and freedoms of individuals and, in particular, their right to privacy with respect to the processing of personal data applicable to a data controller in the Member State in which the data exporter is established; - -(f) 'technical and organizational security measures' means those measures aimed at protecting personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorized disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing. - -### Clause 2: Details of the transfer - -The details of the transfer and in particular the special categories of personal data where applicable are specified in Appendix 1 below which forms an integral part of the Clauses. - -### Clause 3: Third-party beneficiary clause - -1. The data subject can enforce against the data exporter this Clause, Clause 4(b) to (i), Clause 5(a) to (e), and (g) to (j), Clause 6(1) and (2), Clause 7, Clause 8(2), and Clauses 9 to 12 as third-party beneficiary. - -1. The data subject can enforce against the data importer this Clause, Clause 5(a) to (e) and (g), Clause 6, Clause 7, Clause 8(2), and Clauses 9 to 12, in cases where the data exporter has factually disappeared or has ceased to exist in law unless any successor entity has assumed the entire legal obligations of the data exporter by contract or by operation of law, as a result of which it takes on the rights and obligations of the data exporter, in which case the data subject can enforce them against such entity. - -1. The data subject can enforce against the subprocessor this Clause, Clause 5(a) to (e) and (g), Clause 6, Clause 7, Clause 8(2), and Clauses 9 to 12, in cases where both the data exporter and the data importer have factually disappeared or ceased to exist in law or have become insolvent, unless any successor entity has assumed the entire legal obligations of the data exporter by contract or by operation of law as a result of which it takes on the rights and obligations of the data exporter, in which case the data subject can enforce them against such entity. Such third-party liability of the subprocessor shall be limited to its own processing operations under the Clauses. - -1. The parties do not object to a data subject being represented by an association or other body if the data subject so expressly wishes and if permitted by national law. - -### Clause 4: Obligations of the data exporter - -The data exporter agrees and warrants: - -(a) that the processing, including the transfer itself, of the personal data has been and will continue to be carried out in accordance with the relevant provisions of the applicable data protection law (and, where applicable, has been notified to the relevant authorities of the Member State where the data exporter is established) and does not violate the relevant provisions of that State; - -(b) that it has instructed and throughout the duration of the personal data processing services will instruct the data importer to process the personal data transferred only on the data exporter's behalf and in accordance with the applicable data protection law and the Clauses; - -(c) that the data importer will provide sufficient guarantees in respect of the technical and organizational security measures specified in Appendix 2 below; - -(d) that after assessment of the requirements of the applicable data protection law, the security measures are appropriate to protect personal data against accidental or unlawful destruction or accidental loss, alteration, unauthorized disclosure or access, in particular where the processing involves the transmission of data over a network, and against all other unlawful forms of processing, and that these measures ensure a level of security appropriate to the risks presented by the processing and the nature of the data to be protected having regard to the state of the art and the cost of their implementation; - -(e) that it will ensure compliance with the security measures; - -(f) that, if the transfer involves special categories of data, the data subject has been informed or will be informed before, or as soon as possible after, the transfer that its data could be transmitted to a third country not providing adequate protection within the meaning of the General Data Protection Regulation (EU 2016/679); - -(g) to forward any notification received from the data importer or any subprocessor pursuant to Clause 5(b) and Clause 8(3) to the data protection supervisory authority if the data exporter decides to continue the transfer or to lift the suspension; - -(h) to make available to the data subjects upon request a copy of the Clauses, with the exception of Appendix 2, and a summary description of the security measures, as well as a copy of any contract for subprocessing services which has to be made in accordance with the Clauses, unless the Clauses or the contract contain commercial information, in which case it may remove such commercial information; - -(i) that, in the event of subprocessing, the processing activity is carried out in accordance with Clause 11 by a subprocessor providing at least the same level of protection for the personal data and the rights of data subject as the data importer under the Clauses; and - -(j) that it will ensure compliance with Clause 4(a) to (i). - -#### Clause 5: Obligations of the data importer - -The data importer agrees and warrants: - -(a) to process the personal data only on behalf of the data exporter and in compliance with its instructions and the Clauses; if it cannot provide such compliance for whatever reasons, it agrees to inform promptly the data exporter of its inability to comply, in which case the data exporter is entitled to suspend the transfer of data and/or terminate the contract; - -(b) that it has no reason to believe that the legislation applicable to it prevents it from fulfilling the instructions received from the data exporter and its obligations under the contract and that in the event of a change in this legislation which is likely to have a substantial adverse effect on the warranties and obligations provided by the Clauses, it will promptly notify the change to the data exporter as soon as it is aware, in which case the data exporter is entitled to suspend the transfer of data and/or terminate the contract; - -(c) that it has implemented the technical and organizational security measures specified in Appendix 2 before processing the personal data transferred; - -(d) that it will promptly notify the data exporter about: - - (i) any legally binding request for disclosure of the personal data by a law enforcement authority unless otherwise prohibited, such as a prohibition under criminal law to preserve the confidentiality of a law enforcement investigation, - - (ii) any accidental or unauthorized access, and - - (iii) any request received directly from the data subjects without responding to that request, unless it has been otherwise authorized to do so; - -(e) to deal promptly and properly with all inquiries from the data exporter relating to its processing of the personal data subject to the transfer and to abide by the advice of the supervisory authority with regard to the processing of the data transferred; - -(f) at the request of the data exporter to submit its data processing facilities for audit of the processing activities covered by the Clauses which shall be carried out by the data exporter or an inspection body composed of independent members and in possession of the required professional qualifications bound by a duty of confidentiality, selected by the data exporter, where applicable, in agreement with the supervisory authority; - -(g) to make available to the data subject upon request a copy of the Clauses, or any existing contract for subprocessing, unless the Clauses or contract contain commercial information, in which case it may remove such commercial information, with the exception of Appendix 2 which shall be replaced by a summary description of the security measures in those cases where the data subject is unable to obtain a copy from the data exporter; - -(h) that, in the event of subprocessing, it has previously informed the data exporter and obtained its prior written consent; - -(i) that the processing services by the subprocessor will be carried out in accordance with Clause 11; and - -(j) to send promptly a copy of any subprocessor agreement it concludes under the Clauses to the data exporter. - -### Clause 6: Liability - -1. The parties agree that any data subject who has suffered damage as a result of any breach of the obligations referred to in Clause 3 or in Clause 11 by any party or subprocessor is entitled to receive compensation from the data exporter for the damage suffered. - -1. If a data subject is not able to bring a claim for compensation in accordance with paragraph 1 against the data exporter, arising out of a breach by the data importer or his subprocessor of any of their obligations referred to in Clause 3 or in Clause 11, because the data exporter has factually disappeared or ceased to exist in law or has become insolvent, the data importer agrees that the data subject may issue a claim against the data importer as if it were the data exporter, unless any successor entity has assumed the entire legal obligations of the data exporter by contract of by operation of law, in which case the data subject can enforce its rights against such entity. - -The data importer may not rely on a breach by a subprocessor of its obligations in order to avoid its own liabilities. - -1. If a data subject is not able to bring a claim against the data exporter or the data importer referred to in paragraphs 1 and 2, arising out of a breach by the subprocessor of any of their obligations referred to in Clause 3 or in Clause 11 because both the data exporter and the data importer have factually disappeared or ceased to exist in law or have become insolvent, the subprocessor agrees that the data subject may issue a claim against the data subprocessor with regard to its own processing operations under the Clauses as if it were the data exporter or the data importer, unless any successor entity has assumed the entire legal obligations of the data exporter or data importer by contract or by operation of law, in which case the data subject can enforce its rights against such entity. The liability of the subprocessor shall be limited to its own processing operations under the Clauses. - -### Clause 7: Mediation and jurisdiction - -1. The data importer agrees that if the data subject invokes against it third-party beneficiary rights and/or claims compensation for damages under the Clauses, the data importer will accept the decision of the data subject: - -(a) to refer the dispute to mediation, by an independent person or, where applicable, by the supervisory authority; - -(b) to refer the dispute to the courts in the Member State in which the data exporter is established. - -1. The parties agree that the choice made by the data subject will not prejudice its substantive or procedural rights to seek remedies in accordance with other provisions of national or international law. - -### Clause 8: Cooperation with supervisory authorities - -1. The data exporter agrees to deposit a copy of this contract with the supervisory authority if it so requests or if such deposit is required under the applicable data protection law. - -1. The parties agree that the supervisory authority has the right to conduct an audit of the data importer, and of any subprocessor, which has the same scope and is subject to the same conditions as would apply to an audit of the data exporter under the applicable data protection law. - -1. The data importer shall promptly inform the data exporter about the existence of legislation applicable to it or any subprocessor preventing the conduct of an audit of the data importer, or any subprocessor, pursuant to paragraph 1. In such a case the data exporter shall be entitled to take the measures foreseen in Clause 5 (b). - -### Clause 9: Governing Law. - -The Clauses shall be governed by the law of the Member State in which the data exporter is established. - -### Clause 10: Variation of the contract - -The parties undertake not to vary or modify the Clauses. This does not preclude the parties from adding clauses on business related issues where required as long as they do not contradict the Clause. - -### Clause 11: Subprocessing - -1. The data importer shall not subcontract any of its processing operations performed on behalf of the data exporter under the Clauses without the prior written consent of the data exporter. Where the data importer subcontracts its obligations under the Clauses, with the consent of the data exporter, it shall do so only by way of a written agreement with the subprocessor which imposes the same obligations on the subprocessor as are imposed on the data importer under the Clauses. Where the subprocessor fails to fulfil its data protection obligations under such written agreement the data importer shall remain fully liable to the data exporter for the performance of the subprocessor's obligations under such agreement. - -1. The prior written contract between the data importer and the subprocessor shall also provide for a third-party beneficiary clause as laid down in Clause 3 for cases where the data subject is not able to bring the claim for compensation referred to in paragraph 1 of Clause 6 against the data exporter or the data importer because they have factually disappeared or have ceased to exist in law or have become insolvent and no successor entity has assumed the entire legal obligations of the data exporter or data importer by contract or by operation of law. Such third-party liability of the subprocessor shall be limited to its own processing operations under the Clauses. - -1. The provisions relating to data protection aspects for subprocessing of the contract referred to in paragraph 1 shall be governed by the law of the Member State in which the data exporter is established. - -1. The data exporter shall keep a list of subprocessing agreements concluded under the Clauses and notified by the data importer pursuant to Clause 5 (j), which shall be updated at least once a year. The list shall be available to the data exporter's data protection supervisory authority. - -### Clause 12: Obligation after the termination of personal data processing services - -1. The parties agree that on the termination of the provision of data processing services, the data importer and the subprocessor shall, at the choice of the data exporter, return all the personal data transferred and the copies thereof to the data exporter or shall destroy all the personal data and certify to the data exporter that it has done so, unless legislation imposed upon the data importer prevents it from returning or destroying all or part of the personal data transferred. In that case, the data importer warrants that it will guarantee the confidentiality of the personal data transferred and will not actively process the personal data transferred anymore. - -1. The data importer and the subprocessor warrant that upon request of the data exporter and/or of the supervisory authority, it will submit its data processing facilities for an audit of the measures referred to in paragraph 1. - -## Appendix 1 to the Standard Contractual Clauses - -Data exporter: Customer is the data exporter. - -**Data importer:** The data importer is GitHub, Inc., a global producer of software and services. - -**Data subjects:** Data subjects include the data exporter’s representatives and end-users including employees, contractors, collaborators, and customers of the data exporter. Data subjects may also include individuals attempting to communicate or transfer personal information to users of the services provided by data importer. GitHub acknowledges that, depending on Customer’s use of the Online Service, Customer may elect to include personal data from any of the following types of data subjects in the Customer Personal Data: - -- Employees, contractors and temporary workers (current, former, prospective) of data exporter; -- Dependents of the above; -- Data exporter's collaborators/contact persons (natural persons) or employees, contractors or temporary workers of legal entity collaborators/contact persons (current, prospective, former); -- Users (e.g., customers, clients, patients, visitors, etc.) and other data subjects that are users of data exporter's services; -- Partners, stakeholders or individuals who actively collaborate, communicate or otherwise interact with employees of the data exporter and/or use communication tools such as apps and websites provided by the data exporter; -- Stakeholders or individuals who passively interact with data exporter (e.g., because they are the subject of an investigation, research or mentioned in documents or correspondence from or to the data exporter); or -- Professionals with professional privilege (e.g., doctors, lawyers, notaries, religious workers, etc.). - -**Categories of data:** The personal data transferred that is included in e-mail, documents and other data in an electronic form in the context of the Online Service. GitHub acknowledges that, depending on Customer’s use of the Online Service, Customer may elect to include personal data from any of the following categories in the Customer Personal Data: -- Authentication data (for example, username, email, password); -- Contact information (for example, email); -- Unique identification numbers and signatures (IP addresses, unique identifier in tracking cookies or similar technology). -- Other unique identifying information. Data subjects may include more data such as real names, avatar images, and other personal information; - -**Special categories of data (if appropriate):** The data importer does not intentionally collect or process any special categories of data in carrying out its services to the data exporter. - -However, because the data importer provides storage services and does not control the categories of data it stores, the data exporter may choose to transfer special categories of data. Consequently, the data exporter is solely responsible for ensuring that it complies with all obligations imposed by applicable laws and regulations relating to the collection and processing of any special categories of data, including obtaining the explicit consent of the data subject prior to processing sensitive personal data. - -**Processing operations:** The personal data transferred will be subject to the following basic processing activities: -GitHub uses personal data for the limited purposes set forth in the GitHub Privacy Statement, available at https://docs.github.com/articles/github-privacy-statement/, and the “Data Processing” section of the DPA. - -**Subcontractors:** In accordance with the DPA, the data importer may hire other companies to provide limited services on data importer’s behalf, such as providing customer support. Any such subcontractors will be permitted to obtain Customer Personal Data only to deliver the services the data importer has retained them to provide, and they are prohibited from using Customer Personal Data for any other purpose. - -## Appendix 2 to the Standard Contractual Clauses - -Description of the technical and organizational security measures implemented by the data importer in accordance with Clauses 4(d) and 5(c): - -**1. Personnel.** Data importer’s personnel will not process Customer Personal Data without authorization. Personnel are obligated to maintain the confidentiality of any Customer Personal Data and this obligation continues even after their engagement ends. - -**1. Data Privacy Contact.** The data privacy officer of the data importer can be reached at the following address: -GitHub, Inc. -Attn: Privacy -88 Colin P. Kelly Jr. Street -San Francisco, CA 94107 USA - -**1. Technical and Organization Measures.** The data importer has implemented and will maintain appropriate technical and organizational measures, internal controls, and information security routines intended to protect Customer Personal Data, as defined in the GitHub Security Exhibit, against accidental loss, destruction, or alteration; unauthorized disclosure or access; or unlawful destruction as follows: The technical and organizational measures, internal controls, and information security routines set forth in the GitHub Security Exhibit are hereby incorporated into this Appendix 2 by this reference and are binding on the data importer as if they were set forth in this Appendix 2 in their entirety. -Signature of GitHub, Inc. appears below. - -Signing the Standard Contractual Clauses, Appendix 1 and Appendix 2 on behalf of the data importer - -![Lynn Hashimoto's signature.](/assets/images/help/site-policy/lynn-hashimoto.png) - -Lynn Hashimoto, Head of Product & Regulatory Legal - -GitHub, Inc. - -## SECURITY EXHIBIT - -### 1. Information Security Program. - -#### 1.1 Security Management. - -GitHub will implement and maintain appropriate technical and organizational measures to protect Customer Content and Protected Data against accidental or unlawful destruction, loss, alteration, unauthorized disclosure of, or access to, personal data transmitted, stored or otherwise processed (“**Security Program**”). Those measures shall be set forth in a GitHub Security Policy. GitHub will provide written descriptions of the security controls and other information reasonably requested by Customer regarding GitHub’s security practices and policies for the Online Service. - -a. Operational Policy. GitHub maintains security documents describing its security measures and the relevant procedures and responsibilities of its personnel who have access to Customer Content and Protected Data. - -b. Security Training. GitHub informs its personnel about relevant security procedures and their respective roles. GitHub also informs its personnel of possible consequences of breaching the security rules and procedures. GitHub will only use anonymous data in training. - -#### 1.2 Security Incident Management. - -GitHub will provide a Security incident management program for the Online Service as follows: - -a. Security Availability and Escalation. GitHub will maintain appropriate security contact and escalation processes on a 24-hours-per-day, 7-days-per-week basis to ensure customers and employees can submit issues to the GitHub Security team. - -b. Incident Response. If GitHub becomes aware of a breach of security leading to the accidental or unlawful destruction, loss, alteration, unauthorized disclosure of, or access to Customer Data or Personal Data (each a "Security Incident"), GitHub will promptly and without undue delay (1) notify Customer of the Security Incident; (2) investigate the Security Incident and provide Customer with detailed information about the Security Incident; (3) take reasonable steps to mitigate the effects and to minimize any damage resulting from the Security Incident. - -c. Notification. Notification(s) of Security Incidents will be delivered to one or more of Customer's administrators by any means GitHub selects. It is Customer's sole responsibility to ensure Customer's administrators monitor for and respond to any notifications. Customer is solely responsible for complying with its obligations under incident notification laws applicable to Customer and fulfilling any third-party notification obligations related to any Security Incident. - -d. Reasonable Assistance. GitHub will make commercially reasonable efforts to assist Customer in fulfilling Customer's obligation under applicable law or regulation to notify the relevant supervisory authority and data subjects about such Security Incident. - -#### 1.3 Due Diligence over Subcontractors and Vendors. - -GitHub will maintain appropriate due diligence when utilizing subcontractors and vendors. GitHub will maintain vendor assessment reports and any assessment work for a minimum of three years. - -#### 1.4 Physical and Environmental Safeguards. - -a. Physical Access to Facilities. GitHub limits access to facilities where information systems that process Customer Content and Protected Data are located to identified authorized individuals. - -b. Physical Access to Components. GitHub maintains records of the incoming and outgoing media containing Customer Content and Protected Data, including the kind of media, the authorized sender/recipients, date and time, the number of media and the types of Customer Content and Protected Data they contain. - -c. Protection from Disruptions. GitHub uses industry standard systems to protect against loss of data due to power supply failure or line interference. - -#### 2. Requests for Information. - -Upon Customer's written request and no more than once annually, GitHub will respond to one request for information to assess security and compliance risk-related information. The response will be provided in writing within thirty days of receipt of the request, pending needed clarifications of any request. - -#### 3. Cooperation with Regulatory Audits. - -Should Customer realize a regulatory audit or an audit in response to a Supervisory Authority that requires participation from GitHub, GitHub will fully cooperate with related requests by providing access to relevant knowledgeable personnel, documentation, and application software. Customer has the following responsibilities regarding any such regulatory or Supervisory Authority audits: - -a. Customer must ensure use of an independent third party (meaning the regulator or regulator's delegate), and that findings and data not relevant to Customer are restricted from Customer’s access. - -b. Notification of such audit must be written and provided to GitHub in a timely fashion, pending regulator notification, and in a manner that allows for appropriate personnel to be made available to assist. Where regulators provide no advance notice to Customer of audit or investigation, GitHub will respond in as timely a fashion as required by regulators. - -c. Any third party auditor must disclose to GitHub any findings and recommended actions where allowed by the regulator. - -d. In the event of a regulatory audit, access will be permitted only during regular business hours, Pacific time. - -e. To the extent permitted by law, Customer must keep confidential any information gathered through any such audit of GitHub that, by its nature, should be confidential. diff --git a/content/site-policy/site-policy-deprecated/github-ae-product-specific-terms.md b/content/site-policy/site-policy-deprecated/github-ae-product-specific-terms.md deleted file mode 100644 index 14ec3bcf4e..0000000000 --- a/content/site-policy/site-policy-deprecated/github-ae-product-specific-terms.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: GitHub AE Product Specific Terms -hidden: true -versions: - fpt: '*' -redirect_from: - - /github/site-policy/ghem-supplemental-terms-for-microsoft-volume-licensing - - /github/site-policy/github-ae-product-specific-terms - - /github/site-policy-deprecated/github-ae-product-specific-terms ---- - - -_These terms apply to Customers who licensed the Products prior to January 4, 2021. Customers who purchase GitHub Products after that date are directed to https://github.com/customer-terms for current terms._ - -The Agreement consists of these GitHub AE Product Specific Terms, the General Terms that Customer accepted, and any additional terms GitHub or its Affiliates present when an order is placed. - -## 1. Accounts. - -**Account Responsibility.** Customer controls and is responsible for End User accounts and Content. - -**Account Security.** Customer is responsible for maintaining the security of its account login credentials. - -**Use Policies.** Customer’s End Users must comply with the Acceptable Use Policy. - -**Suspension.** GitHub may suspend use of the Online Service during any period of Customer’s material breach. - -**Access.** GitHub does not access Customer Content unless required for support matters or security purposes. - -**DMCA.** GitHub has a Digital Millennium Copyright Act (DMCA) Takedown Policy which applies to copyright infringement claims. - -## 2. Content. - -**Ownership of Content.** Customer owns Content it creates and will fully comply with any third-party licenses relating to Content that Customer posts. - -**License Grant to GitHub.** Unless Customer Content comes with a separate license granting GitHub the rights it needs to run the Online Service, Customer grants to GitHub the right to use Customer Content and make incidental copies as necessary to provide the Online Service or support, or for security reasons. In addition, GitHub may be compelled by law to disclose Customer Content. - -## 3. Non-GitHub Products. - -GitHub may make non-GitHub products available through the Online Service. If Customer uses any non-GitHub products with the Online Service, Customer may not do so in any way that would subject GitHub’s intellectual property to obligations beyond those expressly included in the Agreement. GitHub assumes no responsibility or liability for any non-GitHub products. Customer’s use of non-GitHub products is governed by the terms between Customer and the publisher of the non-GitHub products (if any). - -## 4. Support and SLA. - -The Online Service includes Support and the SLA. - -## 5. Data Protection and Security. - -The terms of the Data Protection Agreement apply to the Online Service. - -## 6. Notices. - -Notices to GitHub must be sent to: GitHub, Inc. Attn: Legal Dept., 88 Colin P. Kelly St, San Francisco, CA 94107 USA. - -## 7. Definitions. - -“**Acceptable Use Policy**” means, when purchasing from GitHub, the Acceptable Use Policy available on Site-Policy and when purchasing from Microsoft, the Acceptable Use Policy in the Microsoft Online Services Terms. - -“**Content**” means text, data, software, images and any other materials that are displayed or otherwise made available through the Online Service. - -“**Customer Content**” means Content that Customer creates, owns, or to which Customer holds the rights. - -“**Data Protection Agreement**” means the GitHub AE Data Protection Agreement, available on https://docs.github.com/github/site-policy. - -“**Digital Millennium Copyright Act Takedown Policy**” means GitHub’s process for handling notices of copyright infringement, available on https://docs.github.com/github/site-policy. - -“**SLA**” means GitHub’s uptime commitment for the Online Service, available on https://docs.github.com/github/site-policy. - -“**Support**” means GitHub’s Premium Plus Support program, further described on https://docs.github.com/github/site-policy. diff --git a/content/site-policy/site-policy-deprecated/index.md b/content/site-policy/site-policy-deprecated/index.md index 891ea8f76c..3bf0eacdf7 100644 --- a/content/site-policy/site-policy-deprecated/index.md +++ b/content/site-policy/site-policy-deprecated/index.md @@ -8,8 +8,6 @@ versions: fpt: '*' children: - /amendment-to-github-terms-of-service-applicable-to-us-federal-government-users - - /github-ae-data-protection-agreement - - /github-ae-product-specific-terms - /github-enterprise-cloud-evaluation-agreement - /github-enterprise-server-license-agreement - /github-enterprise-service-level-agreement diff --git a/data/features/cluster-node-removal.yml b/data/features/cluster-node-removal.yml new file mode 100644 index 0000000000..e555c7d51f --- /dev/null +++ b/data/features/cluster-node-removal.yml @@ -0,0 +1,5 @@ +# Issue #12966 +# ghe-remove-node command line utility + +versions: + ghes: '>=3.12' diff --git a/data/features/secret-scanning-user-owned-repos.yml b/data/features/secret-scanning-user-owned-repos.yml new file mode 100644 index 0000000000..ccaa65c88b --- /dev/null +++ b/data/features/secret-scanning-user-owned-repos.yml @@ -0,0 +1,5 @@ +# Issue 3180 +# Secret Scanning for user-owned repositories on GHEC-EMU and GHES [Public Beta] +versions: + ghec: '*' + ghes: '>=3.13' diff --git a/data/features/security-advisories-ghes-ghae.yml b/data/features/security-advisories-ghes.yml similarity index 100% rename from data/features/security-advisories-ghes-ghae.yml rename to data/features/security-advisories-ghes.yml diff --git a/data/graphql/ghec/schema.docs.graphql b/data/graphql/ghec/schema.docs.graphql index d5744bc83c..a11d5fc5b1 100644 --- a/data/graphql/ghec/schema.docs.graphql +++ b/data/graphql/ghec/schema.docs.graphql @@ -19905,6 +19905,43 @@ type MarkFileAsViewedPayload { pullRequest: PullRequest } +""" +Autogenerated input type of MarkNotificationAsDone +""" +input MarkNotificationAsDoneInput + @requiredCapabilities(requiredCapabilities: ["access_internal_graphql_notifications"]) { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The NotificationThread id. + """ + id: ID! +} + +""" +Autogenerated return type of MarkNotificationAsDone +""" +type MarkNotificationAsDonePayload + @requiredCapabilities(requiredCapabilities: ["access_internal_graphql_notifications"]) { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Did the operation succeed? + """ + success: Boolean + + """ + The user that the notification belongs to. + """ + viewer: User +} + """ Autogenerated input type of MarkProjectV2AsTemplate """ @@ -21372,7 +21409,7 @@ interface Migration { """ The number of warnings encountered for this migration. To review the warnings, - check the [Migration Log](https://docs.github.com/en/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). + check the [Migration Log](https://docs.github.com/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). """ warningsCount: Int! } @@ -23159,6 +23196,16 @@ type Mutation { input: MarkFileAsViewedInput! ): MarkFileAsViewedPayload + """ + Marks a notification as done + """ + markNotificationAsDone( + """ + Parameters for MarkNotificationAsDone + """ + input: MarkNotificationAsDoneInput! + ): MarkNotificationAsDonePayload + """ Mark a project as a template. Note that only projects which are owned by an Organization can be marked as a template. """ @@ -45643,7 +45690,7 @@ type RepositoryMigration implements Migration & Node { """ The number of warnings encountered for this migration. To review the warnings, - check the [Migration Log](https://docs.github.com/en/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). + check the [Migration Log](https://docs.github.com/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). """ warningsCount: Int! } diff --git a/data/graphql/schema.docs.graphql b/data/graphql/schema.docs.graphql index d5744bc83c..a11d5fc5b1 100644 --- a/data/graphql/schema.docs.graphql +++ b/data/graphql/schema.docs.graphql @@ -19905,6 +19905,43 @@ type MarkFileAsViewedPayload { pullRequest: PullRequest } +""" +Autogenerated input type of MarkNotificationAsDone +""" +input MarkNotificationAsDoneInput + @requiredCapabilities(requiredCapabilities: ["access_internal_graphql_notifications"]) { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + The NotificationThread id. + """ + id: ID! +} + +""" +Autogenerated return type of MarkNotificationAsDone +""" +type MarkNotificationAsDonePayload + @requiredCapabilities(requiredCapabilities: ["access_internal_graphql_notifications"]) { + """ + A unique identifier for the client performing the mutation. + """ + clientMutationId: String + + """ + Did the operation succeed? + """ + success: Boolean + + """ + The user that the notification belongs to. + """ + viewer: User +} + """ Autogenerated input type of MarkProjectV2AsTemplate """ @@ -21372,7 +21409,7 @@ interface Migration { """ The number of warnings encountered for this migration. To review the warnings, - check the [Migration Log](https://docs.github.com/en/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). + check the [Migration Log](https://docs.github.com/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). """ warningsCount: Int! } @@ -23159,6 +23196,16 @@ type Mutation { input: MarkFileAsViewedInput! ): MarkFileAsViewedPayload + """ + Marks a notification as done + """ + markNotificationAsDone( + """ + Parameters for MarkNotificationAsDone + """ + input: MarkNotificationAsDoneInput! + ): MarkNotificationAsDonePayload + """ Mark a project as a template. Note that only projects which are owned by an Organization can be marked as a template. """ @@ -45643,7 +45690,7 @@ type RepositoryMigration implements Migration & Node { """ The number of warnings encountered for this migration. To review the warnings, - check the [Migration Log](https://docs.github.com/en/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). + check the [Migration Log](https://docs.github.com/migrations/using-github-enterprise-importer/completing-your-migration-with-github-enterprise-importer/accessing-your-migration-logs-for-github-enterprise-importer). """ warningsCount: Int! } diff --git a/data/learning-tracks/admin.yml b/data/learning-tracks/admin.yml index acec99fe6f..6bc99d541f 100644 --- a/data/learning-tracks/admin.yml +++ b/data/learning-tracks/admin.yml @@ -14,7 +14,7 @@ deploy_an_instance: /admin/configuration/configuring-network-settings/configuring-the-hostname-for-your-instance - /admin/identity-and-access-management/using-saml-for-enterprise-iam - >- - /admin/administering-your-instance/administering-your-instance-from-the-web-ui/site-admin-dashboard + /admin/administering-your-instance/administering-your-instance-from-the-web-ui upgrade_your_instance: title: Upgrade your instance description: >- @@ -176,7 +176,8 @@ get_started_with_your_enterprise_account: ghec: '*' guides: - /admin/overview/about-enterprise-accounts - - /billing/managing-your-github-billing-settings/about-billing-for-your-enterprise + - >- + /billing/managing-your-github-billing-settings/about-billing-for-your-enterprise - >- /admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/inviting-people-to-manage-your-enterprise - >- diff --git a/data/reusables/copilot/copilot-business-features.md b/data/reusables/copilot/copilot-business-features.md index 86fa290434..71d490f075 100644 --- a/data/reusables/copilot/copilot-business-features.md +++ b/data/reusables/copilot/copilot-business-features.md @@ -6,10 +6,6 @@ These features are availabe to organization owners and administrators to manage Content exclusions allow you to configure {% data variables.product.prodname_copilot %} to ignore certain files in your repository. This can be useful if you have files that you don't want to be available to {% data variables.product.prodname_copilot %}. For more information, see "[AUTOTITLE](/copilot/managing-github-copilot-in-your-organization/configuring-content-exclusions-for-github-copilot)." -### Custom certificates - -For organizations using {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %}, {% data variables.product.prodname_copilot %} can read custom SSL certificates installed on a user's machine. For more information, see "[AUTOTITLE](/copilot/configuring-github-copilot/configuring-network-settings-for-github-copilot#allowing-github-copilot-to-use-custom-certificates)." - ### Managing access to {% data variables.product.prodname_copilot %} Organization owners can manage access to {% data variables.product.prodname_copilot %} for their organization, and review usage data to inform their decision. For more information, see "[AUTOTITLE](/copilot/managing-github-copilot-in-your-organization/managing-access-for-copilot-business-in-your-organization)." diff --git a/data/reusables/copilot/differences-cfi-cfb-table.md b/data/reusables/copilot/differences-cfi-cfb-table.md index 1efa3800a5..b6e28469a5 100644 --- a/data/reusables/copilot/differences-cfi-cfb-table.md +++ b/data/reusables/copilot/differences-cfi-cfb-table.md @@ -13,10 +13,7 @@ | Organization-wide policy management | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} |{% octicon "check" aria-label="Included" %} | | Exclude specified files | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} |{% octicon "check" aria-label="Included" %} | | Audit logs | {% octicon "x" aria-label="Not included" %} |{% octicon "check" aria-label="Included" %} |{% octicon "check" aria-label="Included" %} | -| HTTP proxy support via custom certificates | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} |{% octicon "check" aria-label="Included" %} | |{% data variables.product.prodname_copilot_chat_dotcom_short %}|{% octicon "x" aria-label="Not included" %}| {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | |{% data variables.product.prodname_copilot_for_prs %}|{% octicon "x" aria-label="Not included" %}| {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% endrowheaders %} - -For more information about proxy support with custom certificates, see "[AUTOTITLE](/copilot/configuring-github-copilot/configuring-network-settings-for-github-copilot)". diff --git a/data/reusables/copilot/enterprise-fpt-link.md b/data/reusables/copilot/enterprise-fpt-link.md new file mode 100644 index 0000000000..ff639beaaf --- /dev/null +++ b/data/reusables/copilot/enterprise-fpt-link.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** You are currently viewing the documentation for Free, Pro, and Team plans. {% data variables.product.prodname_copilot_enterprise %} is only available to customers on the {% data variables.product.prodname_ghe_cloud %} plan. For full documentation of {% data variables.product.prodname_copilot_enterprise_short %}, see "[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise)." in the {% data variables.product.prodname_ghe_cloud %} documentation. + +{% endnote %} diff --git a/data/reusables/dependabot/dependabot-alert-rules.md b/data/reusables/dependabot/dependabot-alert-rules.md index d8ac2af314..4de8c6f50d 100644 --- a/data/reusables/dependabot/dependabot-alert-rules.md +++ b/data/reusables/dependabot/dependabot-alert-rules.md @@ -1 +1 @@ -Additionally, you can use {% data variables.dependabot.auto_triage_rules %} to manage your alerts at scale, so you can auto-dismiss or snooze alerts, and specify which alerts you want {% data variables.product.prodname_dependabot %} to open pull requests for. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules)." +Additionally, you can use {% data variables.dependabot.auto_triage_rules %} to manage your alerts at scale, so you can auto-dismiss or snooze alerts, and specify which alerts you want {% data variables.product.prodname_dependabot %} to open pull requests for. For information about the different types of auto-triage rules, and whether your repositories are eligible, see "[AUTOTITLE](/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules)." diff --git a/data/reusables/dependabot/dependabot-custom-rules-ghas.md b/data/reusables/dependabot/dependabot-custom-rules-ghas.md new file mode 100644 index 0000000000..b22d628fa4 --- /dev/null +++ b/data/reusables/dependabot/dependabot-custom-rules-ghas.md @@ -0,0 +1 @@ +Help you manage your {% data variables.product.prodname_dependabot_alerts %} at scale. With {% data variables.dependabot.custom_rules %} you have control over the alerts you want to ignore, snooze, or trigger a {% data variables.product.prodname_dependabot %} security update for. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)" and "[AUTOTITLE](/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts)." diff --git a/data/reusables/dependabot/dependabot-default-auto-triage-rules.md b/data/reusables/dependabot/dependabot-default-auto-triage-rules.md new file mode 100644 index 0000000000..353ef19f7e --- /dev/null +++ b/data/reusables/dependabot/dependabot-default-auto-triage-rules.md @@ -0,0 +1 @@ +{% data variables.dependabot.default_rules%} for {% data variables.product.prodname_dependabot_alerts %} are available for all repositories. diff --git a/data/reusables/dependabot/dismiss-low-impact-rule.md b/data/reusables/dependabot/dismiss-low-impact-rule.md new file mode 100644 index 0000000000..87d8a039b0 --- /dev/null +++ b/data/reusables/dependabot/dismiss-low-impact-rule.md @@ -0,0 +1 @@ +The {% data variables.product.company_short %}-curated default rule, `Dismiss low impact issues for development-scoped dependencies`, auto-dismisses certain types of vulnerabilities that are found in npm dependencies used in development. The rule has been curated to reduce false positives and reduce alert fatigue. The rule is enabled by default for public repositories and can be opted into for private repositories. However, you cannot modify {% data variables.dependabot.default_rules %}. For more information, see "[AUTOTITLE](/code-security/dependabot/dependabot-auto-triage-rules/using-github-curated-default-rules-to-prioritize-dependabot-alerts)." diff --git a/data/reusables/dependabot/ghes-ghae-enabling-dependency-graph.md b/data/reusables/dependabot/ghes-enabling-dependency-graph.md similarity index 100% rename from data/reusables/dependabot/ghes-ghae-enabling-dependency-graph.md rename to data/reusables/dependabot/ghes-enabling-dependency-graph.md diff --git a/data/reusables/enterprise_clustering/replacing-a-cluster-node-replacement-name.md b/data/reusables/enterprise_clustering/replacing-a-cluster-node-replacement-name.md index 65d9c930af..0b4d0c5bd1 100644 --- a/data/reusables/enterprise_clustering/replacing-a-cluster-node-replacement-name.md +++ b/data/reusables/enterprise_clustering/replacing-a-cluster-node-replacement-name.md @@ -1,8 +1,13 @@ -1. If you're replacing the primary MySQL or Redis node, in `cluster.conf`, modify the `mysql-master` or `redis-master` value with the replacement node name. +1. If you're replacing the primary Redis node, in `cluster.conf`, modify the `redis-master` value with the replacement node name. - For example, this modified `cluster.conf` file specifies a newly provisioned cluster node, `ghe-replacement-data-node-1` as the primary MySQL and Redis node: + {% note %} + + **Note:** If your primary Redis node is also your primary MySQL node, see "[Replacing the primary MySQL node](#replacing-the-primary-mysql-node)." + + {% endnote %} + + For example, this modified `cluster.conf` file specifies a newly provisioned cluster node, `ghe-replacement-data-node-1` as the primary Redis node:
-   mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1
    
diff --git a/data/reusables/gated-features/dependabot-alerts.md b/data/reusables/gated-features/dependabot-alerts.md index 8269b16bc0..261e5e61be 100644 --- a/data/reusables/gated-features/dependabot-alerts.md +++ b/data/reusables/gated-features/dependabot-alerts.md @@ -1,7 +1,7 @@ {%- ifversion fpt or ghec %} -{% data variables.product.prodname_dependabot_alerts %} are free to use for all repositories on {% data variables.product.prodname_dotcom_the_website %}. Advanced capabilities, like reachability analysis and the ability to create {% data variables.dependabot.auto_triage_rules_short %}, are available on any public repositories (for free), and on any private repositories, when you have a license for {% data variables.product.prodname_GH_advanced_security %}. +{% data variables.product.prodname_dependabot_alerts %} are free to use for all repositories on {% data variables.product.prodname_dotcom_the_website %}. {% ifversion fpt%}Advanced capabilities, like the ability to create {% data variables.dependabot.custom_rules %} for {% data variables.product.prodname_dependabot_alerts %}, are available (for free) on public repositories only.{% elsif ghec %} Advanced capabilities, like reachability analysis and the ability to create {% data variables.dependabot.custom_rules %}, are available on any organization-owned repositories, when you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} {%- elsif ghes %} -{% data variables.product.prodname_dependabot_alerts %} are free to use for repositories (user-owned and organization-owned) on {% data variables.product.prodname_ghe_server %}, provided enterprise administrators enable the feature for your enterprise. +{% data variables.product.prodname_dependabot_alerts %} are free to use for repositories (user-owned and organization-owned) on {% data variables.product.prodname_ghe_server %}, provided enterprise administrators enable the feature for your enterprise.{% ifversion dependabot-auto-triage-rules %} Advanced capabilities, like the ability to create {% data variables.dependabot.custom_rules %}, are available to all organization-owned repositories, when you have a license for {% data variables.product.prodname_GH_advanced_security %}.{% endif %} {% endif %} diff --git a/data/reusables/gated-features/dependabot-auto-triage-rules.md b/data/reusables/gated-features/dependabot-auto-triage-rules.md deleted file mode 100644 index 00d984127c..0000000000 --- a/data/reusables/gated-features/dependabot-auto-triage-rules.md +++ /dev/null @@ -1,7 +0,0 @@ -{%- ifversion fpt or ghec %} -{% data variables.dependabot.custom_rules_caps %} for {% data variables.product.prodname_dependabot_alerts %} are available on any public repositories (for free), and on any private repositories, when you have a license for {% data variables.product.prodname_GH_advanced_security %}. - -{%- elsif ghes %} -{% data variables.dependabot.custom_rules_caps %} for {% data variables.product.prodname_dependabot_alerts %} are available for all repositories in {% data variables.product.product_name %}. This feature requires a license for {% data variables.product.prodname_GH_advanced_security %}. - -{% endif %} diff --git a/data/reusables/gated-features/dependabot-custom-auto-triage-rules.md b/data/reusables/gated-features/dependabot-custom-auto-triage-rules.md new file mode 100644 index 0000000000..ac718181cd --- /dev/null +++ b/data/reusables/gated-features/dependabot-custom-auto-triage-rules.md @@ -0,0 +1,7 @@ +{%- ifversion fpt or ghec %} +{% data variables.dependabot.custom_rules_caps %} for {% data variables.product.prodname_dependabot_alerts %} are available{% ifversion fpt %} (for free) on public repositories{% elsif ghec %} on any organization-owned repositories, when you have a license for {% data variables.product.prodname_GH_advanced_security %}{% endif %}. + +{%- elsif ghes %} +{% data variables.dependabot.custom_rules_caps %} for {% data variables.product.prodname_dependabot_alerts %} are available for organization-owned repositories in {% data variables.product.product_name %}. This feature requires a license for {% data variables.product.prodname_GH_advanced_security %}. + +{% endif %} diff --git a/data/reusables/gated-features/packages.md b/data/reusables/gated-features/packages.md index b5b214d1e4..e2477f2625 100644 --- a/data/reusables/gated-features/packages.md +++ b/data/reusables/gated-features/packages.md @@ -1,5 +1,5 @@ {% ifversion fpt or ghec %} -{% data variables.product.prodname_registry %} is available with {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, {% data variables.product.prodname_ghe_server %} 3.0 or higher, and {% data variables.product.prodname_ghe_managed %}.{% ifversion ghes %} For more information about upgrading your {% data variables.product.prodname_ghe_server %} instance, see "[AUTOTITLE](/admin/overview/about-upgrades-to-new-releases)" and refer to the [{% data variables.enterprise.upgrade_assistant %}](https://support.github.com/enterprise/server-upgrade) to find the upgrade path from your current release version.{% endif %} +{% data variables.product.prodname_registry %} is available with {% data variables.product.prodname_free_user %}, {% data variables.product.prodname_pro %}, {% data variables.product.prodname_free_team %} for organizations, {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_cloud %}, and {% data variables.product.prodname_ghe_server %} 3.0 or higher.{% ifversion ghes %} For more information about upgrading your {% data variables.product.prodname_ghe_server %} instance, see "[AUTOTITLE](/admin/overview/about-upgrades-to-new-releases)" and refer to the [{% data variables.enterprise.upgrade_assistant %}](https://support.github.com/enterprise/server-upgrade) to find the upgrade path from your current release version.{% endif %} {% ifversion fpt or ghec %}
{% data variables.product.prodname_registry %} is not available for private repositories owned by accounts using legacy per-repository plans. Also, accounts using legacy per-repository plans cannot access registries that support granular permissions, because these accounts are billed by repository. For the list of registries that support granular permissions, see "[AUTOTITLE](/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." {% data reusables.gated-features.more-info %} {% endif %} diff --git a/data/reusables/gated-features/secret-scanning.md b/data/reusables/gated-features/secret-scanning.md index 93de9f9720..6af8c0197b 100644 --- a/data/reusables/gated-features/secret-scanning.md +++ b/data/reusables/gated-features/secret-scanning.md @@ -1,10 +1,10 @@ {%- ifversion fpt or ghec %} {% data variables.secret-scanning.partner_alerts_caps %} runs automatically on public repositories and public npm packages to notify service providers about leaked secrets on {% data variables.product.prodname_dotcom_the_website %}. -{% data variables.secret-scanning.user_alerts_caps %} are available for free on all public repositories. Organizations using {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %} can also enable {% data variables.secret-scanning.user_alerts %} on their private and internal repositories. +{% data variables.secret-scanning.user_alerts_caps %} are available for free on all public repositories. Organizations using {% data variables.product.prodname_ghe_cloud %} with a license for {% data variables.product.prodname_GH_advanced_security %} can also enable {% data variables.secret-scanning.user_alerts %} on their private and internal repositories. {% data reusables.secret-scanning.secret-scanning-user-owned-repos-beta %} {%- elsif ghes %} -{% data variables.product.prodname_secret_scanning_caps %} is available for organization-owned repositories in {% data variables.product.product_name %} if your enterprise has a license for {% data variables.product.prodname_GH_advanced_security %}. +{% data variables.product.prodname_secret_scanning_caps %} is available for organization-owned repositories{% ifversion secret-scanning-user-owned-repos %}, and in beta for user-owned repositories{% endif %} in {% data variables.product.product_name %} if your enterprise has a license for {% data variables.product.prodname_GH_advanced_security %}. {%- endif %} {% data reusables.advanced-security.more-info-ghas-secret-scanning %} diff --git a/data/reusables/github-ae/about-billing.md b/data/reusables/github-ae/about-billing.md deleted file mode 100644 index 2b7559529d..0000000000 --- a/data/reusables/github-ae/about-billing.md +++ /dev/null @@ -1 +0,0 @@ -You will receive a monthly bill for {% data variables.product.prodname_ghe_managed %}, with charges that are calculated per licensed user per day. diff --git a/data/reusables/github-ae/github-ae-enables-you.md b/data/reusables/github-ae/github-ae-enables-you.md deleted file mode 100644 index b7adad1f46..0000000000 --- a/data/reusables/github-ae/github-ae-enables-you.md +++ /dev/null @@ -1 +0,0 @@ -{% data variables.product.prodname_ghe_managed %} enables you to move your DevOps workload to the cloud while meeting stringent security and compliance requirements. diff --git a/data/reusables/github-ae/initialize-enterprise.md b/data/reusables/github-ae/initialize-enterprise.md deleted file mode 100644 index d9005d21aa..0000000000 --- a/data/reusables/github-ae/initialize-enterprise.md +++ /dev/null @@ -1 +0,0 @@ -After you purchase {% data variables.product.product_name %}, we'll ask you to provide an email address and username for the person you want to initialize the enterprise. Your dedicated technical account manager in {% data variables.contact.enterprise_support %} will create an account for the enterprise owner and send the enterprise owner an email to log into {% data variables.product.product_name %} and complete the initialization. diff --git a/data/reusables/github-connect/access-dotcom-and-enterprise.md b/data/reusables/github-connect/access-dotcom-and-enterprise.md index 2f22dbfd74..c3761e2f12 100644 --- a/data/reusables/github-connect/access-dotcom-and-enterprise.md +++ b/data/reusables/github-connect/access-dotcom-and-enterprise.md @@ -1 +1 @@ -1. Sign in to {% ifversion ghes %}{% data variables.product.prodname_ghe_server %}{% else %}{% data variables.product.prodname_ghe_managed %}{% endif %} and {% data variables.product.prodname_dotcom_the_website %}. +1. Sign in to {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_dotcom_the_website %}. diff --git a/data/reusables/migrations/github-importer-non-git-deprecation.md b/data/reusables/migrations/github-importer-non-git-deprecation.md index 9dc9d4ea79..8967f47290 100644 --- a/data/reusables/migrations/github-importer-non-git-deprecation.md +++ b/data/reusables/migrations/github-importer-non-git-deprecation.md @@ -1,5 +1,5 @@ {% warning %} -**Warning**: Support for importing Mercurial, Subversion and Team Foundation Version Control (TFVC) repositories using {% data variables.product.prodname_dotcom %} Importer will end on April 12, 2024. For more information, see the [changelog](https://github.blog/changelog/2023-04-17-deprecation-importing-non-git-repositories-with-github-importer/). +**Warning**: Support for importing Mercurial, Subversion and Team Foundation Version Control (TFVC) repositories using {% data variables.product.prodname_importer %} will end on April 12, 2024. For more information, see the [changelog](https://github.blog/changelog/2023-04-17-deprecation-importing-non-git-repositories-with-github-importer/). {% endwarning %} diff --git a/data/reusables/rai/copilot/about-copilot-chat.md b/data/reusables/rai/copilot/about-copilot-chat.md deleted file mode 100644 index 8a0cf2d407..0000000000 --- a/data/reusables/rai/copilot/about-copilot-chat.md +++ /dev/null @@ -1,97 +0,0 @@ -### Input processing - -The input prompt from the user is pre-processed by the {% data variables.product.prodname_copilot_chat_short %} system and sent to a large language model to get a response based on the context and prompt. User input can take the form of code snippets or plain language. The system is only intended to respond to coding-related questions. - -### Language model analysis - -The pre-processed prompt is then passed through the {% data variables.product.prodname_copilot_chat_short %} language model, which is a neural network that has been trained on a large body of text data. The language model analyzes the input prompt. - -### Response generation - -The language model generates a response based on its analysis of the input prompt and the context provided to it. This response can take the form of generated code, code suggestions, or explanations of existing code. - -### Output formatting - -The response generated by {% data variables.product.prodname_copilot_chat_short %} is formatted and presented to the user. {% data variables.product.prodname_copilot_chat_short %} may use syntax highlighting, indentation, and other formatting features to add clarity to the generated response. Depending upon the type of question from the user, links to context that the model used when generating a response, such as source code files or documentation, may also be provided. - -{% data variables.product.prodname_copilot_chat %} is intended to provide you with the most relevant answer to your question. However, it may not always provide the answer you are looking for. Users of {% data variables.product.prodname_copilot_chat_short %} are responsible for reviewing and validating responses generated by the system to ensure they are accurate and appropriate. {% data variables.product.prodname_copilot_chat_short %} is also designed to learn from your feedback and improve over time. For more information on improving the performance of {% data variables.product.prodname_copilot_chat %}, see "[Improving performance for {% data variables.product.prodname_copilot_chat %}](/copilot/github-copilot-chat/about-github-copilot-chat#improving-performance-for-github-copilot-chat)." - -## Use cases for {% data variables.product.prodname_copilot_chat %} - -{% data variables.product.prodname_copilot_chat %} can provide coding assistance in a variety of scenarios. - -### Generating unit test cases - -{% data variables.product.prodname_copilot_chat_short %} can help you write unit test cases by generating code snippets based on the code open in the editor or the code snippet you highlight in the editor. This may help you write test cases without spending as much time on repetitive tasks. For example, if you are writing a test case for a specific function, you can use {% data variables.product.prodname_copilot_chat_short %} to suggest possible input parameters and expected output values based on the function's signature and body. {% data variables.product.prodname_copilot_chat_short %} can also suggest assertions that ensure the function is working correctly, based on the code's context and semantics. - -{% data variables.product.prodname_copilot_chat_short %} can also help you write test cases for edge cases and boundary conditions that might be difficult to identify manually. For instance, {% data variables.product.prodname_copilot_chat_short %} can suggest test cases for error handling, null values, or unexpected input types, helping you ensure your code is robust and resilient. However, it is important to note that generated test cases may not cover all possible scenarios, and manual testing and code review are still necessary to ensure the quality of the code. For more information on generating unit test cases, see "[Asking {% data variables.product.prodname_copilot_chat %} questions about your code](/copilot/github-copilot-chat/using-github-copilot-chat-in-your-ide#asking-github-copilot-chat-questions-about-your-code)." - -### Explaining code and suggesting improvements - -{% data variables.product.prodname_copilot_chat_short %} can help explain selected code by generating natural language descriptions of the code's functionality and purpose. This can be useful if you want to understand the code's behavior or for non-technical stakeholders who need to understand how the code works. For example, if you select a function or code block in the code editor, {% data variables.product.prodname_copilot_chat_short %} can generate a natural language description of what the code does and how it fits into the overall system. This can include information such as the function's input and output parameters, its dependencies, and its purpose in the larger application. - -{% data variables.product.prodname_copilot_chat_short %} can also suggest potential improvements to selected code, such as improved handling of errors and edge cases, or changes to the logical flow to make the code more readable. - -By generating explanations and suggesting related documentation, {% data variables.product.prodname_copilot_chat_short %} may help you to understand the selected code, leading to improved collaboration and more effective software development. However, it's important to note that the generated explanations and documentation may not always be accurate or complete, so you'll need to review, and occasionally correct, {% data variables.product.prodname_copilot_chat_short %}'s output. - -### Proposing code fixes - -{% data variables.product.prodname_copilot_chat_short %} can propose a fix for bugs in your code by suggesting code snippets and solutions based on the context of the error or issue. This can be useful if you are struggling to identify the root cause of a bug or you need guidance on the best way to fix it. For example, if your code produces an error message or warning, {% data variables.product.prodname_copilot_chat_short %} can suggest possible fixes based on the error message, the code's syntax, and the surrounding code. - -{% data variables.product.prodname_copilot_chat_short %} can suggest changes to variables, control structures, or function calls that might resolve the issue and generate code snippets that can be incorporated into the codebase. However, it's important to note that the suggested fixes may not always be optimal or complete, so you'll need to review and test the suggestions. - -### Answering coding questions - -You can ask {% data variables.product.prodname_copilot_chat_short %} for help or clarification on specific coding problems and receive responses in natural language format or in code snippet format. This can be a useful tool for programmers, as it can provide guidance and support for common coding tasks and challenges. - -## Improving performance for {% data variables.product.prodname_copilot_chat %} - -{% data variables.product.prodname_copilot_chat_short %} can support a wide range of practical applications like code generation, code analysis, and code fixes, each with different performance metrics and mitigation strategies. To enhance performance and address some of the the limitations of {% data variables.product.prodname_copilot_chat_short %}, there are various measures that you can adopt. For more information on the limitations of {% data variables.product.prodname_copilot_chat_short %}, see "[Limitations of {% data variables.product.prodname_copilot_chat %}](/copilot/github-copilot-chat/about-github-copilot-chat#limitations-of-github-copilot-chat)." - -### Keep your prompts on topic - -{% data variables.product.prodname_copilot_chat_short %} is intended to address queries related to coding exclusively. Therefore, limiting the prompt to coding questions or tasks can enhance the model's output quality. - -### Use {% data variables.product.prodname_copilot_chat_short %} as a tool, not a replacement - -While {% data variables.product.prodname_copilot_chat_short %} can be a powerful tool for generating code, it is important to use it as a tool rather than a replacement for human programming. You should always review and test the code generated by {% data variables.product.prodname_copilot_chat_short %} to ensure that it meets your requirements and is free of errors or security concerns. - -### Use secure coding and code review practices - -While {% data variables.product.prodname_copilot_chat_short %} can generate syntactically correct code, it may not always be secure. You should always follow best practices for secure coding, such as avoiding hard-coded passwords or SQL injection vulnerabilities, as well as following code review best practices, to address {% data variables.product.prodname_copilot_chat_short %}'s limitations. - -### Provide feedback - -If you encounter any issues or limitations with {% data variables.product.prodname_copilot_chat_short %}, we recommend that you provide feedback through the **share feedback** link in the {% data variables.product.prodname_copilot_chat_short %} interface of your IDE. This can help the developers to improve the tool and address any concerns or limitations. - -### Stay up to date - -{% data variables.product.prodname_copilot_chat_short %} is a new technology and is likely to evolve over time. You should stay up to date with any updates or changes to the tool, as well as any new security risks or best practices that may emerge. Automated extension updates are enabled by default in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and the JetBrains suite of IDEs. For {% data variables.product.prodname_copilot_chat_dotcom %} you will always have access to the latest product experience. If you have automatic updates enabled, {% data variables.product.prodname_copilot_chat_short %} will automatically update to the latest version when you open your IDE. For more information on automatic updates in your IDE, see [the {% data variables.product.prodname_vscode %} documentation](https://code.visualstudio.com/docs/editor/extension-marketplace), [the {% data variables.product.prodname_vs %} documentation](https://learn.microsoft.com/en-us/visualstudio/ide/finding-and-using-visual-studio-extensions) and [the documentation for your JetBrains IDE](https://www.jetbrains.com/help). - -## Limitations of {% data variables.product.prodname_copilot_chat %} - -Depending on factors such as your codebase and input data, you may experience different levels of performance when using {% data variables.product.prodname_copilot_chat_short %}. The following information is designed to help you understand system limitations and key concepts about performance as they apply to {% data variables.product.prodname_copilot_chat_short %}. - -### Limited scope - -{% data variables.product.prodname_copilot_chat_short %} has been trained on a large body of code but still has a limited scope and may not be able to handle more complex code structures or obscure programming languages. For each language, the quality of suggestions you receive may depend on the volume and diversity of training data for that language. For example, JavaScript is well-represented in public repositories and is one of {% data variables.product.prodname_copilot %}'s best supported languages. Languages with less representation in public repositories may be more challenging for {% data variables.product.prodname_copilot_chat_short %} to provide assistance with. Additionally, {% data variables.product.prodname_copilot_chat_short %} can only suggest code based on the context of the code being written, so it may not be able to identify larger design or architectural issues. - -### Potential biases - -{% data variables.product.prodname_copilot_short %}'s training data is drawn from existing code repositories, which may contain biases and errors that can be perpetuated by the tool. Additionally, {% data variables.product.prodname_copilot_chat_short %} may be biased towards certain programming languages or coding styles, which can lead to suboptimal or incomplete code suggestions. - -### Security risks - -{% data variables.product.prodname_copilot_chat_short %} generates code based on the context of the code being written, which can potentially expose sensitive information or vulnerabilities if not used carefully. You should be careful when using {% data variables.product.prodname_copilot_chat_short %} to generate code for security-sensitive applications and always review and test the generated code thoroughly. - -### Matches with public code - -{% data variables.product.prodname_copilot_chat_short %} is capable of generating new code, which it does in a probabilistic way. While the probability that it may produce code that matches code in the training set is low, a {% data variables.product.prodname_copilot_chat_short %} suggestion may contain some code snippets that match code in the training set. {% data variables.product.prodname_copilot_chat_short %} utilizes filters that block matches with public code on {% data variables.product.prodname_dotcom %} repositories, but you should always take the same precautions as you would with any code you write that uses material you did not independently originate, including precautions to ensure its suitability. These include rigorous testing, IP scanning, and checking for security vulnerabilities. You should make sure your IDE or editor does not automatically compile or run generated code before you review it. - -### Inaccurate code - -One of the limitations of {% data variables.product.prodname_copilot_chat_short %} is that it may generate code that appears to be valid but may not actually be semantically or syntactically correct or may not accurately reflect the intent of the developer. To mitigate the risk of inaccurate code, you should carefully review and test the generated code, particularly when dealing with critical or sensitive applications. You should also ensure that the generated code adheres to best practices and design patterns and fits within the overall architecture and style of the codebase. - -### Inaccurate responses to non-coding topics - -{% data variables.product.prodname_copilot_chat_short %} is not designed to answer non-coding questions, and therefore its responses may not always be accurate or helpful in these contexts. If a user asks {% data variables.product.prodname_copilot_chat_short %} a non-coding question, it may generate an answer that is irrelevant or nonsensical, or it may simply indicate that it is unable to provide a useful response. diff --git a/data/reusables/rai/copilot/about-copilot-dotcom-chat.md b/data/reusables/rai/copilot/about-copilot-dotcom-chat.md deleted file mode 100644 index bf3859b39c..0000000000 --- a/data/reusables/rai/copilot/about-copilot-dotcom-chat.md +++ /dev/null @@ -1,97 +0,0 @@ -### Input processing - -The input prompt from the user is pre-processed by the {% data variables.product.prodname_copilot_chat_short %} system and sent to a large language model to get a response based on the context and prompt. User input can take the form of code snippets or plain language. The system is only intended to respond to coding-related questions. - -### Language model analysis - -The pre-processed prompt is then passed through the {% data variables.product.prodname_copilot_chat_short %} language model, which is a neural network that has been trained on a large body of text data. The language model analyzes the input prompt. - -### Response generation - -The language model generates a response based on its analysis of the input prompt and the context provided to it. This response can take the form of generated code, code suggestions, or explanations of existing code. - -### Output formatting - -The response generated by {% data variables.product.prodname_copilot_chat_short %} is formatted and presented to the user. {% data variables.product.prodname_copilot_chat_short %} may use syntax highlighting, indentation, and other formatting features to add clarity to the generated response. Depending upon the type of question from the user, links to context that the model used when generating a response, such as source code files or documentation, may also be provided. - -{% data variables.product.prodname_copilot_chat_short %} is intended to provide you with the most relevant answer to your question. However, it may not always provide the answer you are looking for. Users of {% data variables.product.prodname_copilot_chat_short %} are responsible for reviewing and validating responses generated by the system to ensure they are accurate and appropriate. {% data variables.product.prodname_copilot_chat_short %} is also designed to learn from your feedback and improve over time. For more information on improving the performance of {% data variables.product.prodname_copilot_chat_short %}, see "[Improving performance for {% data variables.product.prodname_copilot_chat_short %}](#improving-performance-for-copilot-chat)." - -## Use cases for {% data variables.product.prodname_copilot_chat_short %} - -{% data variables.product.prodname_copilot_chat_short %} can provide coding assistance in a variety of scenarios. - -### Answering coding questions - -You can ask {% data variables.product.prodname_copilot_chat_short %} for help or clarification on specific coding problems and receive responses in natural language format or in code snippet format. - -The response generated by {% data variables.product.prodname_copilot_chat_short %} may use the model's training data set, code in your repositories and Markdown documentation in your knowledge bases to answer your questions. - -This can be a useful tool for programmers, as it can provide guidance and support for common coding tasks and challenges. - -### Explaining code and suggesting improvements - -{% data variables.product.prodname_copilot_chat_short %} can help explain selected code by generating natural language descriptions of the code's functionality and purpose. This can be useful if you want to understand the code's behavior or for non-technical stakeholders who need to understand how the code works. For example, if you select a function or code block in the code editor, {% data variables.product.prodname_copilot_chat_short %} can generate a natural language description of what the code does and how it fits into the overall system. This can include information such as the function's input and output parameters, its dependencies, and its purpose in the larger application. - -{% data variables.product.prodname_copilot_chat_short %} can also suggest potential improvements to selected code, such as improved handling of errors and edge cases, or changes to the logical flow to make the code more readable. - -By generating explanations and suggesting related documentation, {% data variables.product.prodname_copilot_chat_short %} may help you to understand the selected code, leading to improved collaboration and more effective software development. However, it's important to note that the generated explanations and documentation may not always be accurate or complete, so you'll need to review, and occasionally correct, {% data variables.product.prodname_copilot_chat_short %}'s output. - -### Proposing code fixes - -{% data variables.product.prodname_copilot_chat_short %} can propose a fix for bugs in your code by suggesting code snippets and solutions based on the context of the error or issue. This can be useful if you are struggling to identify the root cause of a bug or you need guidance on the best way to fix it. For example, if your code produces an error message or warning, {% data variables.product.prodname_copilot_chat_short %} can suggest possible fixes based on the error message, the code's syntax, and the surrounding code. - -{% data variables.product.prodname_copilot_chat_short %} can suggest changes to variables, control structures, or function calls that might resolve the issue and generate code snippets that can be incorporated into the codebase. However, it's important to note that the suggested fixes may not always be optimal or complete, so you'll need to review and test the suggestions. - -## Improving performance for {% data variables.product.prodname_copilot_chat_short %} - -{% data variables.product.prodname_copilot_chat_short %} can support a wide range of practical applications like Q&A, code generation, code analysis, and code fixes, each with different performance metrics and mitigation strategies. To enhance performance and address some of the the limitations of {% data variables.product.prodname_copilot_chat_short %}, there are various measures that you can adopt. For more information on the limitations of {% data variables.product.prodname_copilot_chat_short %}, see "[Limitations of {% data variables.product.prodname_copilot_chat %}](#limitations-of-github-copilot-chat)." - -### Keep your prompts on topic - -{% data variables.product.prodname_copilot_chat_short %} is intended to address queries related to coding exclusively. Therefore, limiting the prompt to coding questions or tasks can enhance the model's output quality. - -### Use {% data variables.product.prodname_copilot_chat_short %} as a tool, not a replacement - -While {% data variables.product.prodname_copilot_chat_short %} can be a powerful tool for generating code, it is important to use it as a tool rather than a replacement for human programming. You should always review and test the code generated by {% data variables.product.prodname_copilot_chat_short %} to ensure that it meets your requirements and is free of errors or security concerns. - -### Use secure coding and code review practices - -While {% data variables.product.prodname_copilot_chat_short %} can generate syntactically correct code, it may not always be secure. You should always follow best practices for secure coding, such as avoiding hard-coded passwords or SQL injection vulnerabilities, as well as following code review best practices, to address {% data variables.product.prodname_copilot_chat_short %}'s limitations. - -### Provide feedback - -{% data reusables.rai.copilot-dotcom-feedback-collection %} - -If you encounter any issues or limitations with {% data variables.product.prodname_copilot_chat_short %}, we recommend that you provide feedback through the **share feedback** link in the {% data variables.product.prodname_copilot_chat_short %} interface. This can help the developers to improve the tool and address any concerns or limitations. - -### Stay up to date - -{% data variables.product.prodname_copilot_chat_short %} is a new technology and is likely to evolve over time For {% data variables.product.prodname_copilot_chat_dotcom %} you will always have access to the latest product experience. You should stay up to date with any new security risks or best practices that may emerge. - -## Limitations of {% data variables.product.prodname_copilot_chat %} - -Depending on factors such as your codebase and input data, you may experience different levels of performance when using {% data variables.product.prodname_copilot_chat_short %}. The following information is designed to help you understand system limitations and key concepts about performance as they apply to {% data variables.product.prodname_copilot_chat_short %}. - -### Limited scope - -{% data variables.product.prodname_copilot_chat_short %} has been trained on a large body of code but still has a limited scope and may not be able to handle more complex code structures or obscure programming languages. For each language, the quality of suggestions you receive may depend on the volume and diversity of training data for that language. For example, JavaScript is well-represented in public repositories and is one of {% data variables.product.prodname_copilot %}'s best supported languages. Languages with less representation in public repositories may be more challenging for {% data variables.product.prodname_copilot_chat_short %} to provide assistance with. Additionally, {% data variables.product.prodname_copilot_chat_short %} can only suggest code based on the context of the code being written, so it may not be able to identify larger design or architectural issues. - -### Potential biases - -{% data variables.product.prodname_copilot_short %}'s training data is drawn from existing code repositories, which may contain biases and errors that can be perpetuated by the tool. Additionally, {% data variables.product.prodname_copilot_chat_short %} may be biased towards certain programming languages or coding styles, which can lead to suboptimal or incomplete code suggestions. - -### Security risks - -{% data variables.product.prodname_copilot_chat_short %} generates code based on the context of the code being written, which can potentially expose sensitive information or vulnerabilities if not used carefully. You should be careful when using {% data variables.product.prodname_copilot_chat_short %} to generate code for security-sensitive applications and always review and test the generated code thoroughly. - -### Matches with public code - -{% data variables.product.prodname_copilot_chat_short %} is capable of generating new code, which it does in a probabilistic way. While the probability that it may produce code that matches code in the training set is low, a {% data variables.product.prodname_copilot_chat_short %} suggestion may contain some code snippets that match code in the training set. {% data variables.product.prodname_copilot_chat_short %} utilizes filters that block matches with public code on {% data variables.product.prodname_dotcom %} repositories, but you should always take the same precautions as you would with any code you write that uses material you did not independently originate, including precautions to ensure its suitability. These include rigorous testing, IP scanning, and checking for security vulnerabilities. - -### Inaccurate code - -One of the limitations of {% data variables.product.prodname_copilot_chat_short %} is that it may generate code that appears to be valid but may not actually be semantically or syntactically correct or may not accurately reflect the intent of the developer. To mitigate the risk of inaccurate code, you should carefully review and test the generated code, particularly when dealing with critical or sensitive applications. You should also ensure that the generated code adheres to best practices and design patterns and fits within the overall architecture and style of the codebase. - -### Inaccurate responses to non-coding topics - -{% data variables.product.prodname_copilot_chat_short %} is not designed to answer non-coding questions, and therefore its responses may not always be accurate or helpful in these contexts. If a user asks {% data variables.product.prodname_copilot_chat_short %} a non-coding question, it may generate an answer that is irrelevant or nonsensical, or it may simply indicate that it is unable to provide a useful response. diff --git a/data/reusables/rai/copilot/enterprise-fpt-link.md b/data/reusables/rai/copilot/enterprise-fpt-link.md new file mode 100644 index 0000000000..ff639beaaf --- /dev/null +++ b/data/reusables/rai/copilot/enterprise-fpt-link.md @@ -0,0 +1,5 @@ +{% note %} + +**Note:** You are currently viewing the documentation for Free, Pro, and Team plans. {% data variables.product.prodname_copilot_enterprise %} is only available to customers on the {% data variables.product.prodname_ghe_cloud %} plan. For full documentation of {% data variables.product.prodname_copilot_enterprise_short %}, see "[AUTOTITLE](/enterprise-cloud@latest/copilot/github-copilot-enterprise)." in the {% data variables.product.prodname_ghe_cloud %} documentation. + +{% endnote %} diff --git a/data/reusables/repositories/importing-context.md b/data/reusables/repositories/importing-context.md new file mode 100644 index 0000000000..ffa234532e --- /dev/null +++ b/data/reusables/repositories/importing-context.md @@ -0,0 +1 @@ +Importing your source code to {% data variables.product.prodname_dotcom %} makes it easier for you and others to work together on projects and manage code. {% data variables.product.prodname_dotcom %} helps you collaborate, track changes, and organize tasks, making it simpler to build and manage projects. For more information, see "[AUTOTITLE](/get-started/start-your-journey/about-github-and-git)." diff --git a/data/reusables/saml/ae-uses-saml-sso.md b/data/reusables/saml/ae-uses-saml-sso.md deleted file mode 100644 index 08c138d1ba..0000000000 --- a/data/reusables/saml/ae-uses-saml-sso.md +++ /dev/null @@ -1 +0,0 @@ -{% data variables.product.product_name %} uses SAML SSO for user authentication. You can centrally manage access to {% data variables.product.prodname_ghe_managed %} from an IdP that supports the SAML 2.0 standard. diff --git a/data/reusables/saml/external-group-audit-events.md b/data/reusables/saml/external-group-audit-events.md deleted file mode 100644 index 9ad245d6e7..0000000000 --- a/data/reusables/saml/external-group-audit-events.md +++ /dev/null @@ -1,7 +0,0 @@ -| Action | Description -|------------------|------------------- -| `external_group.delete` | Triggered when your Okta group is deleted. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams)." -| `external_group.link` | Triggered when your Okta group is mapped to your {% data variables.product.prodname_ghe_managed %} team. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams)." -| `external_group.provision` | Triggered when an Okta group is mapped to your team on {% data variables.product.prodname_ghe_managed %}. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams)." -| `external_group.unlink` | Triggered when your Okta group is unmapped from your {% data variables.product.prodname_ghe_managed %} team. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams)." -| `external_group.update` | Triggered when your Okta group's settings are updated. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams)." diff --git a/data/reusables/saml/external-identity-audit-events.md b/data/reusables/saml/external-identity-audit-events.md deleted file mode 100644 index a7d61ebcae..0000000000 --- a/data/reusables/saml/external-identity-audit-events.md +++ /dev/null @@ -1,5 +0,0 @@ -| Action | Description -|------------------|------------------- -| `external_identity.deprovision` | Triggered when a user is removed from your Okta group and is subsequently deprovisioned from {% data variables.product.prodname_ghe_managed %}. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams)." -| `external_identity.provision` | Triggered when an Okta user is added to your Okta group and is subsequently provisioned to the mapped team on {% data variables.product.prodname_ghe_managed %}. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams)." -| `external_identity.update` | Triggered when an Okta user's settings are updated. For more information, see "[AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/mapping-okta-groups-to-teams)." diff --git a/data/reusables/saml/okta-ae-configure-app.md b/data/reusables/saml/okta-ae-configure-app.md deleted file mode 100644 index 213401ed8d..0000000000 --- a/data/reusables/saml/okta-ae-configure-app.md +++ /dev/null @@ -1 +0,0 @@ -1. Click on the {% data variables.product.prodname_ghe_managed %} app. diff --git a/data/reusables/secret-scanning/secret-scanning-user-owned-enablement.md b/data/reusables/secret-scanning/secret-scanning-user-owned-enablement.md new file mode 100644 index 0000000000..f0322232bb --- /dev/null +++ b/data/reusables/secret-scanning/secret-scanning-user-owned-enablement.md @@ -0,0 +1 @@ +{% ifversion secret-scanning-user-owned-repos %}{% ifversion ghes %}Enterprise owners{% else %}Owners of an enterprise with {% data variables.product.prodname_emus %}{% endif %} can manage the automatic enablement of {% data variables.product.prodname_GH_advanced_security %} features such as {% data variables.product.prodname_secret_scanning %} for new user-owned repositories with an enterprise level setting. For more information, see "[AUTOTITLE](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise)."{% endif %} diff --git a/data/reusables/secret-scanning/secret-scanning-user-owned-repo-access.md b/data/reusables/secret-scanning/secret-scanning-user-owned-repo-access.md new file mode 100644 index 0000000000..227acf6519 --- /dev/null +++ b/data/reusables/secret-scanning/secret-scanning-user-owned-repo-access.md @@ -0,0 +1 @@ +Only people with admin permissions to the repository containing a leaked secret can view security alert details and token metadata for an alert. Enterprise owners can request temporary access to the repository for this purpose. diff --git a/data/reusables/secret-scanning/secret-scanning-user-owned-repos-beta.md b/data/reusables/secret-scanning/secret-scanning-user-owned-repos-beta.md new file mode 100644 index 0000000000..ae9c7d2d79 --- /dev/null +++ b/data/reusables/secret-scanning/secret-scanning-user-owned-repos-beta.md @@ -0,0 +1 @@ +{% ifversion secret-scanning-user-owned-repos %}Additionally, {% data variables.secret-scanning.user_alerts %}{% ifversion ghes %} is{% else %} are{% endif %} available and in beta on user-owned repositories{% ifversion ghec %} for {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_emus %}{% else %} in {% data variables.product.product_name %}{% endif %}.{% endif %} diff --git a/data/reusables/secret-scanning/validity-check-partner-patterns-enabled.md b/data/reusables/secret-scanning/validity-check-partner-patterns-enabled.md index 8a0e527734..ed070318aa 100644 --- a/data/reusables/secret-scanning/validity-check-partner-patterns-enabled.md +++ b/data/reusables/secret-scanning/validity-check-partner-patterns-enabled.md @@ -1 +1 @@ -To be able to filter by validity status, you need to have enabled validity checks for partner patterns in a repository, or have organization owners and enterprise administrators enable the feature for all repositories in the organization or enterprise settings. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#allowing-validity-checks-for-partner-patterns-in-a-repository)," "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#allowing-validity-checks-for-partner-patterns-in-an-organization)," and "[AUTOTITLE](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise#managing-advanced-security-features)." +To be able to filter by validity status, you need to have validity checks for partner patterns enabled at the repository, organization, or enterprise level. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#allowing-validity-checks-for-partner-patterns-in-a-repository)," "[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization#allowing-validity-checks-for-partner-patterns-in-an-organization)," and "[AUTOTITLE](/admin/code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise#managing-advanced-security-features)." diff --git a/data/reusables/user-settings/patv2-limitations.md b/data/reusables/user-settings/patv2-limitations.md index 6661107f1a..be4e4c1c4e 100644 --- a/data/reusables/user-settings/patv2-limitations.md +++ b/data/reusables/user-settings/patv2-limitations.md @@ -4,4 +4,4 @@ - Only {% data variables.product.pat_v1_plural %} automatically have write access for internal repositories that are owned by your enterprise. {% data variables.product.pat_v2_caps %}s must be granted access to internal repositories.{% endif %} - Outside collaborators can only use {% data variables.product.pat_v1_plural %} to access organization repositories that they are a collaborator on.{% ifversion ghec or ghes %} - Only {% data variables.product.pat_v1_plural %} can access enterprises. ({% data variables.product.pat_v2_caps %} can access organizations owned by enterprises.){% endif %} -- Some REST API operations are not available to {% data variables.product.pat_v2 %}s. For a list of REST API operations that are supported for {% data variables.product.pat_v2 %}s, see "[AUTOTITLE](/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens)". +- A few REST API endpoints are only available with a {% data variables.product.pat_v1_plural %}. To check whether an endpoint also supports {% data variables.product.pat_v2 %}s, see the documentation for that endpoint, or see "[AUTOTITLE](/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens)". diff --git a/data/variables/contact.yml b/data/variables/contact.yml index 7da8766da9..ec3cb7dcd1 100644 --- a/data/variables/contact.yml +++ b/data/variables/contact.yml @@ -30,10 +30,6 @@ premium_support: 'GitHub Premium Support' enterprise_portal: 'GitHub Support portal' contact_enterprise_portal: '[GitHub Support portal](https://support.github.com)' -# Azure support (GitHub AE) portal -ae_azure_portal: 'Azure Support portal' -contact_ae_portal: '[Azure Support portal](https://portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade)' - # GitHub Support portal (for dotcom) support_portal: 'GitHub Support portal' contact_support_portal: '[GitHub Support portal](https://support.github.com/)' diff --git a/data/variables/product.yml b/data/variables/product.yml index 9395b468b5..67e977bcd3 100644 --- a/data/variables/product.yml +++ b/data/variables/product.yml @@ -21,7 +21,6 @@ prodname_dotcom_the_website: 'GitHub.com' ## Use these variables when the output should reflect one of our two specific GitHub Enterprise offerings prodname_ghe_server: 'GitHub Enterprise Server' prodname_ghe_cloud: 'GitHub Enterprise Cloud' -prodname_ghe_managed: 'GitHub AE' prodname_ghe_one: 'GitHub One' prodname_docs: 'GitHub Docs' prodname_free_user: 'GitHub Free' @@ -262,6 +261,9 @@ prodname_command_palette: 'GitHub Command Palette' # Server Statistics prodname_server_statistics: 'Server Statistics' +# GitHub Importer +prodname_importer: 'GitHub Importer' + # GitHub Actions Importer prodname_actions_importer: 'GitHub Actions Importer' diff --git a/src/audit-logs/lib/config.json b/src/audit-logs/lib/config.json index d639043997..ed60b8e3fb 100644 --- a/src/audit-logs/lib/config.json +++ b/src/audit-logs/lib/config.json @@ -1,4 +1,4 @@ { "apiOnlyEventsAdditionalDescription": "This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.", - "sha": "8d67adf2bf847cc20fc9c5d0467eb088401a2dda" + "sha": "1aa12b8d8d5ee35f3ee52923551d990108267573" } \ No newline at end of file diff --git a/src/fixtures/fixtures/data/reusables/gated-features/pages.md b/src/fixtures/fixtures/data/reusables/gated-features/pages.md index 566ac29f24..a7be4def52 100644 --- a/src/fixtures/fixtures/data/reusables/gated-features/pages.md +++ b/src/fixtures/fixtures/data/reusables/gated-features/pages.md @@ -1 +1 @@ -{% ifversion ghes %}{% data variables.product.prodname_pages %} is available in internal and private repositories with {% data variables.product.prodname_ghe_managed %}. {% endif %} +{% ifversion ghes %}{% data variables.product.prodname_pages %} is available in internal and private repositories with {% data variables.product.product_name %}. {% endif %} diff --git a/src/fixtures/fixtures/data/variables/product.yml b/src/fixtures/fixtures/data/variables/product.yml index d1281c0a8c..e576d38cd0 100644 --- a/src/fixtures/fixtures/data/variables/product.yml +++ b/src/fixtures/fixtures/data/variables/product.yml @@ -10,5 +10,3 @@ prodname_pages: 'HubGit Pages' prodname_actions: 'HubGit Actions' pricing_url: 'https://github.com/pricing' - -prodname_ghe_managed: 'HubGit Enterprise Managed' diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index 5a3be04d31..1af496b8a8 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -60,5 +60,5 @@ "2022-11-28" ] }, - "sha": "9c5dc4417755fe3dc6184095970a8314151aa8ca" + "sha": "f684f8dae5daadfc04920b93c391c084b7f5cc5b" } \ No newline at end of file diff --git a/src/graphql/data/fpt/changelog.json b/src/graphql/data/fpt/changelog.json index 47e77b1df0..9f284a0a2c 100644 --- a/src/graphql/data/fpt/changelog.json +++ b/src/graphql/data/fpt/changelog.json @@ -1,4 +1,19 @@ [ + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

Type MarkNotificationAsDoneInput was added

", + "

Type MarkNotificationAsDonePayload was added

", + "

Field markNotificationAsDone was added to object type Mutation

" + ] + } + ], + "previewChanges": [], + "upcomingChanges": [], + "date": "2024-02-25" + }, { "schemaChanges": [ { diff --git a/src/graphql/data/fpt/schema.json b/src/graphql/data/fpt/schema.json index 814f6702c8..e3c07087a6 100644 --- a/src/graphql/data/fpt/schema.json +++ b/src/graphql/data/fpt/schema.json @@ -4970,6 +4970,48 @@ } ] }, + { + "name": "markNotificationAsDone", + "kind": "mutations", + "id": "marknotificationasdone", + "href": "/graphql/reference/mutations#marknotificationasdone", + "description": "

Marks a notification as done.

", + "inputFields": [ + { + "name": "input", + "type": "MarkNotificationAsDoneInput!", + "id": "marknotificationasdoneinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#marknotificationasdoneinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "success", + "type": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean", + "description": "

Did the operation succeed?.

" + }, + { + "name": "viewer", + "type": "User", + "id": "user", + "kind": "objects", + "href": "/graphql/reference/objects#user", + "description": "

The user that the notification belongs to.

" + } + ] + }, { "name": "markProjectV2AsTemplate", "kind": "mutations", @@ -63276,7 +63318,7 @@ }, { "name": "warningsCount", - "description": "

The number of warnings encountered for this migration. To review the warnings,\ncheck the Migration Log.

", + "description": "

The number of warnings encountered for this migration. To review the warnings,\ncheck the Migration Log.

", "type": "Int!", "id": "int", "kind": "scalars", @@ -79222,7 +79264,7 @@ }, { "name": "warningsCount", - "description": "

The number of warnings encountered for this migration. To review the warnings,\ncheck the Migration Log.

", + "description": "

The number of warnings encountered for this migration. To review the warnings,\ncheck the Migration Log.

", "type": "Int!", "id": "int", "kind": "scalars", @@ -96849,6 +96891,32 @@ } ] }, + { + "name": "MarkNotificationAsDoneInput", + "kind": "inputObjects", + "id": "marknotificationasdoneinput", + "href": "/graphql/reference/input-objects#marknotificationasdoneinput", + "description": "

Autogenerated input type of MarkNotificationAsDone.

", + "isDeprecated": false, + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "id", + "description": "

The NotificationThread id.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, { "name": "MarkProjectV2AsTemplateInput", "kind": "inputObjects", diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json index 814f6702c8..e3c07087a6 100644 --- a/src/graphql/data/ghec/schema.json +++ b/src/graphql/data/ghec/schema.json @@ -4970,6 +4970,48 @@ } ] }, + { + "name": "markNotificationAsDone", + "kind": "mutations", + "id": "marknotificationasdone", + "href": "/graphql/reference/mutations#marknotificationasdone", + "description": "

Marks a notification as done.

", + "inputFields": [ + { + "name": "input", + "type": "MarkNotificationAsDoneInput!", + "id": "marknotificationasdoneinput", + "kind": "input-objects", + "href": "/graphql/reference/input-objects#marknotificationasdoneinput" + } + ], + "returnFields": [ + { + "name": "clientMutationId", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string", + "description": "

A unique identifier for the client performing the mutation.

" + }, + { + "name": "success", + "type": "Boolean", + "id": "boolean", + "kind": "scalars", + "href": "/graphql/reference/scalars#boolean", + "description": "

Did the operation succeed?.

" + }, + { + "name": "viewer", + "type": "User", + "id": "user", + "kind": "objects", + "href": "/graphql/reference/objects#user", + "description": "

The user that the notification belongs to.

" + } + ] + }, { "name": "markProjectV2AsTemplate", "kind": "mutations", @@ -63276,7 +63318,7 @@ }, { "name": "warningsCount", - "description": "

The number of warnings encountered for this migration. To review the warnings,\ncheck the Migration Log.

", + "description": "

The number of warnings encountered for this migration. To review the warnings,\ncheck the Migration Log.

", "type": "Int!", "id": "int", "kind": "scalars", @@ -79222,7 +79264,7 @@ }, { "name": "warningsCount", - "description": "

The number of warnings encountered for this migration. To review the warnings,\ncheck the Migration Log.

", + "description": "

The number of warnings encountered for this migration. To review the warnings,\ncheck the Migration Log.

", "type": "Int!", "id": "int", "kind": "scalars", @@ -96849,6 +96891,32 @@ } ] }, + { + "name": "MarkNotificationAsDoneInput", + "kind": "inputObjects", + "id": "marknotificationasdoneinput", + "href": "/graphql/reference/input-objects#marknotificationasdoneinput", + "description": "

Autogenerated input type of MarkNotificationAsDone.

", + "isDeprecated": false, + "inputFields": [ + { + "name": "clientMutationId", + "description": "

A unique identifier for the client performing the mutation.

", + "type": "String", + "id": "string", + "kind": "scalars", + "href": "/graphql/reference/scalars#string" + }, + { + "name": "id", + "description": "

The NotificationThread id.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, { "name": "MarkProjectV2AsTemplateInput", "kind": "inputObjects", diff --git a/src/rest/data/fpt-2022-11-28/schema.json b/src/rest/data/fpt-2022-11-28/schema.json index 4ebbcf1918..15481a1069 100644 --- a/src/rest/data/fpt-2022-11-28/schema.json +++ b/src/rest/data/fpt-2022-11-28/schema.json @@ -206335,7 +206335,7 @@ "unknown" ] }, - "copilot_chat": { + "ide_chat": { "type": "string", "description": "The organization policy for allowing or disallowing organization members to use Copilot Chat within their editor.", "enum": [ @@ -206344,6 +206344,24 @@ "unconfigured" ] }, + "platform_chat": { + "type": "string", + "description": "The organization policy for allowing or disallowing organization members to use Copilot features within github.com.", + "enum": [ + "enabled", + "disabled", + "unconfigured" + ] + }, + "cli": { + "type": "string", + "description": "The organization policy for allowing or disallowing organization members to use Copilot within their CLI.", + "enum": [ + "enabled", + "disabled", + "unconfigured" + ] + }, "seat_management_setting": { "type": "string", "description": "The mode of assigning new seats.", diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index 9102c04a9f..434bf6bd28 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -217930,7 +217930,7 @@ "unknown" ] }, - "copilot_chat": { + "ide_chat": { "type": "string", "description": "The organization policy for allowing or disallowing organization members to use Copilot Chat within their editor.", "enum": [ @@ -217939,6 +217939,24 @@ "unconfigured" ] }, + "platform_chat": { + "type": "string", + "description": "The organization policy for allowing or disallowing organization members to use Copilot features within github.com.", + "enum": [ + "enabled", + "disabled", + "unconfigured" + ] + }, + "cli": { + "type": "string", + "description": "The organization policy for allowing or disallowing organization members to use Copilot within their CLI.", + "enum": [ + "enabled", + "disabled", + "unconfigured" + ] + }, "seat_management_setting": { "type": "string", "description": "The mode of assigning new seats.", diff --git a/src/rest/lib/config.json b/src/rest/lib/config.json index 5d009a93b0..da320e5587 100644 --- a/src/rest/lib/config.json +++ b/src/rest/lib/config.json @@ -44,5 +44,5 @@ ] } }, - "sha": "9c5dc4417755fe3dc6184095970a8314151aa8ca" + "sha": "f684f8dae5daadfc04920b93c391c084b7f5cc5b" } \ No newline at end of file diff --git a/src/webhooks/lib/config.json b/src/webhooks/lib/config.json index 7b6c6002d2..587c3fab7e 100644 --- a/src/webhooks/lib/config.json +++ b/src/webhooks/lib/config.json @@ -1,3 +1,3 @@ { - "sha": "9c5dc4417755fe3dc6184095970a8314151aa8ca" + "sha": "f684f8dae5daadfc04920b93c391c084b7f5cc5b" } \ No newline at end of file