diff --git a/assets/images/help/copilot/manage-licenses.png b/assets/images/help/copilot/manage-licenses.png new file mode 100644 index 000000000000..61b9cae0b866 Binary files /dev/null and b/assets/images/help/copilot/manage-licenses.png differ diff --git a/assets/images/help/copilot/organization-access-menu.png b/assets/images/help/copilot/organization-access-menu.png new file mode 100644 index 000000000000..e28a14320c58 Binary files /dev/null and b/assets/images/help/copilot/organization-access-menu.png differ diff --git a/content/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business.md b/content/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business.md index f6fd7c90cc8c..2ff937f15263 100644 --- a/content/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business.md +++ b/content/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business.md @@ -12,9 +12,13 @@ redirect_from: - /early-access/copilot/managing-copilot-business-licenses-with-an-enterprise-account --- -You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}. + + + ->[!NOTE] Access to this feature is currently managed by {% data variables.contact.contact_enterprise_sales %}. +{% data reusables.copilot.cb-only-self-serve %} + + ## What is an enterprise account for {% data variables.copilot.copilot_business_short %}? diff --git a/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-managed-users.md b/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-managed-users.md index 2614c7ed60e0..8a7d91990236 100644 --- a/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-managed-users.md +++ b/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-managed-users.md @@ -14,7 +14,13 @@ redirect_from: --- -You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}. + + + + +{% data reusables.copilot.cb-only-self-serve %} + + This article describes the setup for an **enterprise with managed users**. If you haven't chosen an enterprise type, see [AUTOTITLE](/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business). diff --git a/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts.md b/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts.md index a9ffd3c5d2ce..cf6e38bba32c 100644 --- a/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts.md +++ b/content/admin/copilot-business-only/setting-up-a-dedicated-enterprise-for-copilot-business-personal-accounts.md @@ -12,7 +12,13 @@ redirect_from: - /early-access/copilot/using-copilot-business-without-github-enterprise-personal-accounts --- -You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}. + + + + +{% data reusables.copilot.cb-only-self-serve %} + + This article describes the setup for an **enterprise with personal accounts**. If you haven't chosen an enterprise type, see [AUTOTITLE](/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business). diff --git a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md index 7c4cd9645046..56c482879815 100644 --- a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md +++ b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/removing-organizations-from-your-enterprise.md @@ -22,6 +22,7 @@ When you remove an organization from your enterprise: * The organization will be downgraded to the free plan. * The organization will be governed by our standard Terms of Service. * Any internal repositories within the organization will be converted to private repositories. +* By default, organization members—who are not members of any other organization in the enterprise—remain in the enterprise as unaffiliated users. These users retain access to {% data variables.product.prodname_copilot_short %} if they were granted access directly from the enterprise. As part of the downgrade to the free plan: @@ -41,7 +42,7 @@ As part of the downgrade to the free plan: ![Expanded dropdown menu labelled with "...", for an organization. The "Remove organization" option outlined.](/assets/images/help/enterprises/remove-organization.png) -1. Review the warnings, then click **Remove organization**. +1. Review the warnings, decide whether to also remove users who will become unaffiliated, then click **Remove organization**. ## Further reading diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/create-enterprise-teams.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/create-enterprise-teams.md new file mode 100644 index 000000000000..4f5013c94ede --- /dev/null +++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/create-enterprise-teams.md @@ -0,0 +1,79 @@ +--- +title: Creating enterprise teams +intro: 'Organize users into teams to simplify license management.' +versions: + feature: enterprise-teams +type: how_to +topics: + - Enterprise + - User account +shortTitle: Create enterprise teams +permissions: Enterprise owners +product: '{% data reusables.copilot.direct-assignment-rollout %}' +--- + +You can create groups of users in your enterprise with enterprise teams. This allows you to simplify licensing by managing {% data variables.product.prodname_copilot_short %} access with team membership. + +**Current limitations:** You can create up to 50 teams for a single enterprise and add up to 500 users to each team. + + +## 1. Find the enterprise teams page + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.people-tab %} +1. In the left sidebar, click **{% octicon "people" aria-hidden="true" aria-label="people" %} Enterprise teams**. + +## 2. Create a team + +1. Navigate to the enterprise teams page. See [1. Find the enterprise teams page](#1-find-the-enterprise-teams-page). +1. Click **Create Enterprise team**. +1. Choose the team's name, description, and organization access, then click **Create Enterprise team**. + +Once you have created a team, you can manage the team's membership and licenses. + +## 3. Add users + +There are multiple ways to add users to an enterprise team. + +* [Adding users manually](#adding-users-manually) +* [Syncing with an IdP group](#syncing-with-an-idp-group) ({% data variables.product.prodname_emus %} only) +* Using the API + +Enterprise teams can contain organization members and unaffiliated users. + +### Adding users manually + +1. Navigate to the enterprise teams page. See [1. Find the enterprise teams page](#1-find-the-enterprise-teams-page). +1. Click the team you want to add users to. +1. Click **Add members**, then search for and select the users you want to add. +1. Click **Add**. + +You can remove users from an enterprise team at any time using the **{% octicon "kebab-horizontal" aria-hidden="true" aria-label="More member actions" %}** menu next to the user's name in the member list. This action does not remove a user from the enterprise account. + +### Syncing with an IdP group + +If you use {% data variables.product.prodname_emus %}, you can sync membership of an enterprise team to a group in your identity provider. That way, any changes made to the group in the IdP (such as adding or removing a user) will be synced to the enterprise team via SCIM. For details and requirements, see [AUTOTITLE](/admin/managing-iam/provisioning-user-accounts-with-scim/managing-team-memberships-with-identity-provider-groups). + +1. Navigate to the enterprise teams page. See [1. Find the enterprise teams page](#1-find-the-enterprise-teams-page). +1. Click the team you want to sync. +1. Ensure the team contains no manually assigned users. You can remove users by using the **{% octicon "kebab-horizontal" aria-hidden="true" aria-label="More member actions" %}** menu next to the user's name in the member list. +1. Next to the team's name, click **{% octicon "pencil" aria-hidden="true" aria-label="pencil" %} Edit**. +1. Under "Manage members", click **Identity provider group**. +1. Click **Select group**, then choose the external IdP group to sync to the team. Members from the IdP group will display in the team's member list. +1. Click **Update team**. + +#### Limits on IdP group sizes + +If an IdP group goes over the team size limit of 500 users, the team will stop being synced. + +For example: + +* An enterprise team is initially synced with an IdP group of 5 users. +* 500 more users are added to the IdP group. Because the IdP group now has 505 users, the group isn't synced and the enterprise team remains at 5 members. +* 5 users are removed from the IdP group to bring it to 500 users. Syncing resumes and the enterprise team now contains the same 500 users as the IdP group. + +## 4. Assign licenses + +You can assign {% data variables.product.prodname_copilot %} licenses to an enterprise team. This allows you to manage {% data variables.product.prodname_copilot_short %} access through team membership, independent of organizations. Once you have assigned licenses to a team, users will gain or lose access to {% data variables.product.prodname_copilot_short %} when they are added or removed from the team. + +For instructions, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/grant-access#assigning-licenses-to-users-or-teams). 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 f0a27e358be8..2e7d0bd62419 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 @@ -19,6 +19,8 @@ topics: children: - /roles-in-an-enterprise - /best-practices-for-user-security + - /create-enterprise-teams + - /invite-users-directly - /inviting-people-to-manage-your-enterprise - /managing-invitations-to-organizations-within-your-enterprise - /managing-organization-members-in-your-enterprise diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/invite-users-directly.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/invite-users-directly.md new file mode 100644 index 000000000000..2e314b35f7e3 --- /dev/null +++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/invite-users-directly.md @@ -0,0 +1,34 @@ +--- +title: Inviting users to your enterprise directly +shortTitle: Invite users directly +intro: 'You can invite people directly to your enterprise as unaffiliated users.' +permissions: 'Enterprise owners' +versions: + ghec: '*' +type: how_to +topics: + - Administrator + - Enterprise + - User account +product: 'Enterprises that use **personal accounts** on {% data variables.product.prodname_dotcom_the_website %}. {% data reusables.copilot.direct-assignment-rollout %}' +--- + +You can invite people directly to your enterprise as **unaffiliated users**. You can then add these users to organizations or enterprise teams and assign {% data variables.product.prodname_copilot_short %} licenses to them. For more information about unaffiliated users, see [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise#unaffiliated-users). + +>[!NOTE] If you use {% data variables.product.prodname_emus %}, you must add users to your enterprise from your identity provider using SCIM. + +## Inviting users + +1. In the top-right corner of {% data variables.product.github %}, click your profile picture. +1. Click **Your enterprises** then click the enterprise you want to view. +{% data reusables.enterprise-accounts.people-tab %} +1. On the "Members" page, click **Invite member**. +1. Search for the users you want to invite, then click **Invite**. + +After you invite someone to join the enterprise account, they must accept the emailed invitation before they can access the enterprise account. Pending invitations will expire after 7 days. + +## Next steps + +* To add users to organizations, see [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/managing-organization-members-in-your-enterprise). +* To add users to an enterprise team, see [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/create-enterprise-teams). +* To assign {% data variables.product.prodname_copilot_short %} licenses, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/grant-access). diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise.md index 7f3a1740b155..3a4659a63551 100644 --- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise.md +++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise.md @@ -27,6 +27,9 @@ All users that are part of your enterprise have one of the following roles. {%- ifversion guest-collaborators %} * **Guest collaborator:** Can be granted access to repositories or organizations, but has limited access by default ({% data variables.product.prodname_emus %} only) {%- endif %} +{%- ifversion unaffiliated-users %} +* **Unaffiliated user:** Has been added to the enterprise but isn't a member of any organizations +{%- endif %} {% ifversion ghec %}For information about which users consume a license, see [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/about-per-user-pricing#people-that-consume-a-license).{% endif %} @@ -110,6 +113,21 @@ You may need to update your IdP application to use guest collaborators. See [AUT {% endif %} +{% ifversion unaffiliated-users %} + +## Unaffiliated users + +Unaffiliated users are people who have been added to your enterprise but aren't members of any organizations. These users: + +* Do not consume a standard {% data variables.product.prodname_enterprise %} license. +* Cannot access private or internal repositories. +* Can be added as members of organizations or enterprise teams. +* Can receive a {% data variables.product.prodname_copilot_short %} license directly from your enterprise. + +You can add unaffiliated users from your identity provider (for {% data variables.product.prodname_emus %}) or by inviting users at the enterprise level (for personal accounts). For personal accounts, see [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/invite-users-directly). + +{% endif %} + ## Custom organization roles With {% data variables.product.prodname_ghe_cloud %} and starting from {% data variables.product.prodname_ghe_server %} 3.19, enterprise owners can create custom organization roles for use in all of the enterprise's organizations. This allows centralized management of common roles such as "Developer" or "SRE team". Only enterprise owners can create or edit these roles, and any organization owner or user with the "Manage organization roles" permission can assign them in an organization. diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md index e5b31a7757e3..8b901eb17914 100644 --- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md +++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md @@ -82,8 +82,6 @@ If a user has multiple roles in an enterprise, the user is counted once for each An "outside collaborator" is a user who has access to a repository in an organization, but is not a member of the organization. The user might be an outside collaborator in one organization in your enterprise and a member of another organization. In this case, the user counts towards each total. For more information, see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization). -If your enterprise uses {% ifversion ghec %}{% data variables.enterprise.prodname_managed_users %}{% else %}SCIM provisioning{% endif %}, an "unaffiliated" user is someone who been provisioned with a user account, but is not a member of any of your organizations. - {% ifversion ghec %} #### User licenses consumed diff --git a/content/admin/managing-iam/provisioning-user-accounts-with-scim/managing-team-memberships-with-identity-provider-groups.md b/content/admin/managing-iam/provisioning-user-accounts-with-scim/managing-team-memberships-with-identity-provider-groups.md index 27e5357ccd05..a653de62eafa 100644 --- a/content/admin/managing-iam/provisioning-user-accounts-with-scim/managing-team-memberships-with-identity-provider-groups.md +++ b/content/admin/managing-iam/provisioning-user-accounts-with-scim/managing-team-memberships-with-identity-provider-groups.md @@ -51,7 +51,17 @@ If you are connecting an existing team to an IdP group, you must first remove an If you use Microsoft Entra ID (previously known as Azure AD) as your IdP, you can only connect a team to a security group. Nested group memberships and Microsoft 365 groups are not supported. -## Creating a new team connected to an IdP group +{% ifversion enterprise-teams %} + +## Syncing an enterprise team + +Enterprise owners can create teams at the enterprise level. {% data reusables.copilot.direct-assignment-rollout %} + +For instructions on creating an enterprise team and syncing it with an IdP group, see [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/create-enterprise-teams). + +{% endif %} + +## Creating a new organization team connected to an IdP group Any member of an organization can create a new team and connect the team to an IdP group. @@ -64,7 +74,7 @@ Any member of an organization can create a new team and connect the team to an I {% data reusables.organizations.team_visibility %} {% data reusables.organizations.create_team %} -## Managing the connection between an existing team and an IdP group +## Managing the connection between an existing organization team and an IdP group Organization owners {% ifversion ghes %}and team maintainers {% endif %}can manage the existing connection between an IdP group and a team.{% ifversion ghec %} If your enterprise does not use {% data variables.enterprise.prodname_managed_users %}, team maintainers can also manage the connection.{% endif %} diff --git a/content/billing/concepts/enterprise-billing/visual-studio-subs.md b/content/billing/concepts/enterprise-billing/visual-studio-subs.md index b903ce5515dc..553c5ff9459f 100644 --- a/content/billing/concepts/enterprise-billing/visual-studio-subs.md +++ b/content/billing/concepts/enterprise-billing/visual-studio-subs.md @@ -34,9 +34,9 @@ For more information about the setup of {% data variables.visual_studio.prodname After you assign a license for {% data variables.visual_studio.prodname_vss_ghec %} to a subscriber, the subscriber will use the {% data variables.product.prodname_enterprise %} portion of the license by joining an organization in your enterprise with a personal account on {% data variables.product.prodname_dotcom %}. If the verified email address for the personal account of an enterprise member on {% data variables.product.prodname_dotcom %} matches the User Principal Name (UPN) for a subscriber to your {% data variables.product.prodname_vs %} account, the {% data variables.product.prodname_vs %} subscriber will automatically consume one license for {% data variables.visual_studio.prodname_vss_ghec %}. -> [!NOTE] For {% data variables.product.prodname_emus %} only, to make sure a user account consumes a {% data variables.product.prodname_vs %} license, ensure the {% data variables.product.prodname_vs %} UPN matches the SCIM `userName` attribute or the email address from the linked identity on the {% data variables.product.prodname_dotcom %} account. Unaffiliated users are included in the automatic matching behavior and can consume a license for {% data variables.visual_studio.prodname_vss_ghec %} while remaining unaffiliated. +> [!NOTE] For {% data variables.product.prodname_emus %} only, to make sure a user account consumes a {% data variables.product.prodname_vs %} license, ensure the {% data variables.product.prodname_vs %} UPN matches the SCIM `userName` attribute or the email address from the linked identity on the {% data variables.product.prodname_dotcom %} account. -The total quantity of your licenses for your enterprise on {% data variables.product.prodname_dotcom %} is the sum of any standard {% data variables.product.prodname_enterprise %} licenses and the number of {% data variables.product.prodname_vs %} subscription licenses that include access to {% data variables.product.prodname_dotcom %}. +The total quantity of your licenses for your enterprise on {% data variables.product.prodname_dotcom %} is the sum of any standard {% data variables.product.prodname_enterprise %} licenses and the number of {% data variables.product.prodname_vs %} subscription licenses that include access to {% data variables.product.prodname_dotcom %}. Unaffiliated users are included in the automatic matching behavior and can consume a license for {% data variables.visual_studio.prodname_vss_ghec %} while remaining unaffiliated. If the personal account for an enterprise member does not correspond with the email address for a {% data variables.product.prodname_vs %} subscriber, an enterprise owner can manually match the accounts to consolidate licenses. Under the terms of service, the {% data variables.product.github %} account and {% data variables.product.prodname_vs %} subscription must belong to the same person. diff --git a/content/billing/reference/github-license-users.md b/content/billing/reference/github-license-users.md index 1149759274a0..d9f9dab57224 100644 --- a/content/billing/reference/github-license-users.md +++ b/content/billing/reference/github-license-users.md @@ -71,7 +71,8 @@ If your enterprise does not use {% data variables.product.prodname_emus %}, you * Anyone who is an outside collaborator on a public repository owned by your organization, or who has a pending invitation to become one * Guest collaborators who are not organization members or repository collaborators (see [AUTOTITLE](/enterprise-cloud@latest/admin/user-management/managing-users-in-your-enterprise/roles-in-an-enterprise#guest-collaborators)) * Users of {% data variables.visual_studio.prodname_vss_ghe %} whose accounts on {% data variables.product.prodname_dotcom %} are not linked, and who do not meet any of the other criteria for per-user pricing -* Users who have been provisioned with a {% data variables.enterprise.prodname_managed_user %}, but are not members of any organizations in the enterprise +* Unaffiliated users: people who have been added to the enterprise, but are not members of any organizations in the enterprise + * However, these users consume a bundled {% data variables.product.prodname_vs %} license if they are linked with a {% data variables.product.prodname_vs %} subscription ## Organizations on {% data variables.product.prodname_ghe_server %} diff --git a/content/copilot/concepts/policies.md b/content/copilot/concepts/policies.md index 57d66658b0a8..ca7f6ca4f356 100644 --- a/content/copilot/concepts/policies.md +++ b/content/copilot/concepts/policies.md @@ -16,12 +16,12 @@ contentType: concepts ## About policies for {% data variables.product.prodname_copilot_short %} -When you assign a {% data variables.product.prodname_copilot_short %} license to a member of your organization, you can control the features they can use under that license with {% data variables.product.prodname_copilot_short %} policies. +When you assign a {% data variables.product.prodname_copilot_short %} license to a member of your organization or enterprise, you can control the features they can use under that license with {% data variables.product.prodname_copilot_short %} policies. Policies are grouped into different types. * **Feature policy:** Defines the availability of a {% data variables.product.prodname_copilot_short %} feature. Shown on the "Policies" page. -* **Privacy policy:** Defines whether a potentially sensitive action is allowed or not. Show at the end of the "Policies" page. +* **Privacy policy:** Defines whether a potentially sensitive action is allowed or not. Shown at the end of the "Policies" page. * **Models policy:** Defines the availability of models beyond the basic models provided with {% data variables.product.prodname_copilot_short %}, which may incur additional costs. Shown on the "Models" page. Each policy controls availability for members who receive a {% data variables.product.prodname_copilot_short %} license from your enterprise or organization. @@ -40,11 +40,19 @@ For privacy policies, the options are called "Allowed" and "Blocked" in preferen ## Enterprise-level control of policies -Enterprise owners can choose to set policies for {% data variables.product.prodname_copilot_short %} at the enterprise level or to delegate the decision to organization owners using the **No policy** option. +Enterprise owners can choose to set policies for {% data variables.product.prodname_copilot_short %} at the enterprise level or to delegate the decision to organization owners. -If a policy is defined at the enterprise level, control of the policy is disabled at the organization level. +### Policy defined -If organization owners are allowed to set a policy, some organizations may enable a feature while others disable it. If a member receives access to {% data variables.product.prodname_copilot_short %} through multiple organizations with conflicting policies, either the least or most permissive policy may apply, depending on the policy. For more information, see [AUTOTITLE](/copilot/reference/feature-availability-enterprise). +If a policy is defined at the enterprise level, the policy applies to all users and control of the policy is disabled at the organization level. + +### No policy + +If an enterprise owner selects **No policy**, the impact depends on whether a user has access to {% data variables.product.prodname_copilot_short %} through an organization or directly from the enterprise. + +For members who receive a {% data variables.product.prodname_copilot_short %} license from the organization, organization owners can choose their policy. If a member receives access to {% data variables.product.prodname_copilot_short %} through multiple organizations with conflicting policies, either the least or most permissive policy may apply, depending on the policy. For more information, see [AUTOTITLE](/copilot/reference/feature-availability-enterprise). + +For users who receive access to {% data variables.product.prodname_copilot_short %} directly from the enterprise rather than from an organization, the **Policies for enterprise-assigned users** setting determines whether "No policy" defaults to enabled or disabled. {% data reusables.copilot.direct-assignment-rollout %} ## Next steps diff --git a/content/copilot/how-tos/administer-copilot/download-activity-report.md b/content/copilot/how-tos/administer-copilot/download-activity-report.md index 754810c5f553..ffc8d2473365 100644 --- a/content/copilot/how-tos/administer-copilot/download-activity-report.md +++ b/content/copilot/how-tos/administer-copilot/download-activity-report.md @@ -29,12 +29,16 @@ You can download a CSV report for {% data variables.product.prodname_copilot_sho ## Downloading the report for an enterprise -1. Navigate to your enterprise account. -{% data reusables.enterprise-accounts.policies-tab %} -{% data reusables.enterprise-accounts.copilot-tab %} -1. Next to "Access management", click **Activity report**. + + + + +{% data reusables.enterprise-accounts.copilot-access-management-tmp %} +1. To download the usage report: + * If you're on the `/enterprise_licensing/copilot` page, select **{% octicon "download" aria-hidden="true" aria-label="download" %} CSV report**, then click **Activity report (new)**. + * If you're on the `/settings/copilot` page, click **{% octicon "file" aria-label="The file icon" %} Get Usage report**, then click **Activity report (new)**. - ![Screenshot of the "Access management" tab in Copilot policies. The "Activity report" button is highlighted with an orange outline.](/assets/images/help/copilot/activity-report-enterprise.png) + ## Downloading the report for an organization diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/disable-for-organizations.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/disable-for-organizations.md index eac0b5a59e4b..a4c2340ddc6a 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/disable-for-organizations.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/disable-for-organizations.md @@ -18,20 +18,25 @@ redirect_from: contentType: how-tos --- -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.enterprise-accounts.policies-tab %} -{% data reusables.enterprise-accounts.copilot-tab %} -1. In the "{% data variables.product.prodname_copilot_short %} is active in your enterprise" section, configure the access for your {% data variables.product.prodname_copilot %} plan. - * To disable {% data variables.product.prodname_copilot %} for all organizations in your enterprise, select **Disabled**. - * To disable {% data variables.product.prodname_copilot %} for specific organizations, select **Allow for specific organizations**. + + + + +{% data reusables.enterprise-accounts.copilot-access-management-tmp %} +1. Find the organization access dropdown menu and choose whether to disable {% data variables.product.prodname_copilot_short %} for all organizations or allow for specific organizations. + + ![Screenshot of the the "Organization access" section, with the dropdown menu highlighted.](/assets/images/help/copilot/organization-access-menu.png) 1. If you selected **Allow for specific organizations**: - 1. Under "Access management", locate the organization for which you want to disable {% data variables.product.prodname_copilot_short %}. - 1. To the right of the organization name, select the **Copilot** dropdown menu. + 1. If you can't see a list of organizations and see tabs for users and organizations, click the **Organizations** tab. + 1. Locate the organization for which you want to disable {% data variables.product.prodname_copilot_short %}. + 1. To the right of the organization name, select the **{% data variables.product.prodname_copilot_short %}** dropdown menu. * If your enterprise has a {% data variables.copilot.copilot_business_short %} plan, click **Disabled**. * If your enterprise has a {% data variables.copilot.copilot_enterprise_short %} plan, click **Remove access**. + + ## Further reading * [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot) diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/enable-for-organizations.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/enable-for-organizations.md deleted file mode 100644 index b1093c91c8c1..000000000000 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/enable-for-organizations.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Enabling Copilot for organizations in your enterprise -shortTitle: Enable for organizations -intro: 'Enable {% data variables.product.prodname_copilot %} for some or all of the organizations in your enterprise.' -permissions: Enterprise owners -product: 'Enterprises with a {% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %} plan' -versions: - feature: copilot -topics: - - Copilot -redirect_from: - - /copilot/managing-copilot/managing-copilot-for-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise - - /copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise - - /copilot/how-tos/administer/enterprises/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise - - /copilot/how-tos/administer/enterprises/managing-access-to-copilot-in-your-enterprise/enable-for-organizations - - /copilot/how-tos/administer/enterprises/manage-access/enable-for-organizations - - /copilot/how-tos/administer/manage-for-enterprise/manage-access/enable-for-organizations -contentType: how-tos ---- - -Owners of enterprises that have a {% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %} plan can enable {% data variables.product.prodname_copilot %} for all, none, or some organizations within the enterprise. - -For enterprises with a {% data variables.copilot.copilot_enterprise_short %} plan, enterprise owners can choose to assign either {% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %} to individual organizations in the enterprise. - -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.enterprise-accounts.policies-tab %} -{% data reusables.enterprise-accounts.copilot-tab %} -1. In the "{% data variables.product.prodname_copilot_short %} is active in your enterprise" section, configure the access for your {% data variables.product.prodname_copilot %} plan. - * To enable {% data variables.product.prodname_copilot %} for all organizations in your enterprise, both current and future, select **Allow for all organizations**. - * To enable {% data variables.product.prodname_copilot %} for specific organizations, select **Allow for specific organizations**. - -1. If you selected **Allow for specific organizations**: - 1. Under "Access management", locate the organization for which you want to enable {% data variables.product.prodname_copilot_short %}. - 1. To the right of the organization name, select the **Copilot** dropdown menu. - * If your enterprise has a {% data variables.copilot.copilot_business_short %} plan, click **Enabled**. - * If your enterprise has a {% data variables.copilot.copilot_enterprise_short %} plan, click either **Copilot: Enterprise** or **Copilot: Business** to assign a specific Copilot plan to the organization. - -## Next steps - -After you've enabled {% data variables.product.prodname_copilot_short %} for an organization in your enterprise, owners of the organization can grant access to some or all members of the organization. See [AUTOTITLE](/copilot/managing-github-copilot-in-your-organization/managing-access-for-copilot-business-in-your-organization). - -## Further reading - -* [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot) -* [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise) diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/grant-access.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/grant-access.md new file mode 100644 index 000000000000..ff1acbf127e1 --- /dev/null +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/grant-access.md @@ -0,0 +1,80 @@ +--- +title: Granting users access to GitHub Copilot in your enterprise +shortTitle: Grant access +intro: 'Enable {% data variables.product.prodname_copilot_short %} for entire organizations or grant access directly to specific users.' +permissions: Enterprise owners +product: '{% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %}' +versions: + feature: copilot +topics: + - Copilot +redirect_from: + - /copilot/managing-copilot/managing-copilot-for-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise + - /copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise + - /copilot/how-tos/administer/enterprises/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise + - /copilot/how-tos/administer/enterprises/managing-access-to-copilot-in-your-enterprise/enable-for-organizations + - /copilot/how-tos/administer/enterprises/manage-access/enable-for-organizations + - /copilot/how-tos/administer/manage-for-enterprise/manage-access/enable-for-organizations + - /copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/enable-for-organizations +contentType: how-tos +--- + +{% data reusables.copilot.enterprise-licensing %} + +## Assigning licenses to users or teams + +>[!NOTE] {% data reusables.copilot.direct-assignment-rollout %} + +You can assign {% data variables.copilot.copilot_business_short %} licenses directly to users or enterprise teams. + +When you assign licenses to an enterprise team, users receive or lose access to {% data variables.product.prodname_copilot_short %} when they are added or removed from the team. If you use {% data variables.product.prodname_emus %}, you can sync the team with an identity provider (IdP) group and manage licensing from your IdP. + +### Prerequisites + +* Set the **Policies for enterprise-assigned users** policy to define a default setting for these users when other enterprise policies are set to "No policy". See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies#defining-policies-for-your-enterprise). +* If you want to assign licenses to users who are not already in your enterprise, you must first invite the users (personal accounts) or provision them from your identity provider ({% data variables.product.prodname_emus %}). For personal accounts, see [AUTOTITLE](/enterprise-cloud@latest/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/invite-users-directly). +* If you want to assign a license to an enterprise team, you must create the team first. See [AUTOTITLE](/enterprise-cloud@latest/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/create-enterprise-teams). + +### Assigning licenses + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.billing.enterprise-billing-menu %} +1. In the left sidebar, click **Licensing**. +1. Next to "Copilot", click **Manage**. + + ![Screenshot of the Licensing page, with the "Manage" button highlighted in orange.](/assets/images/help/copilot/manage-licenses.png) + +1. Click the **Users** or **Enterprise Teams** tab. +1. Click **Assign Licenses**. +1. Search for users or teams, then click **Add licenses**. + +## Enabling {% data variables.product.prodname_copilot_short %} for organizations + +If your enterprise has a {% data variables.copilot.copilot_enterprise_short %} plan, you can assign licenses for either {% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %}. + + + + + +{% data reusables.enterprise-accounts.copilot-access-management-tmp %} +1. Find the organization access dropdown menu and choose whether to enable {% data variables.product.prodname_copilot_short %} for all organizations or allow for specific organizations. + + ![Screenshot of the the "Organization access" section, with the dropdown menu highlighted.](/assets/images/help/copilot/organization-access-menu.png) + +1. If you selected **Allow for specific organizations**: + 1. If you don't already see a list of organizations, click the **{% octicon "organization" aria-hidden="true" aria-label="organization" %} Organizations** tab. + 1. Locate the organization for which you want to enable {% data variables.product.prodname_copilot_short %}. + 1. To the right of the organization name, select the **{% data variables.product.prodname_copilot_short %}** dropdown menu. + * If your enterprise has a {% data variables.copilot.copilot_business_short %} plan, click **Enabled**. + * If your enterprise has a {% data variables.copilot.copilot_enterprise_short %} plan, click either **Copilot: Enterprise** or **Copilot: Business** to assign a specific Copilot plan to the organization. + + + +### Next steps + +After you've enabled {% data variables.product.prodname_copilot_short %} for an organization in your enterprise, owners of the organization can grant access to some or all members of the organization. See [AUTOTITLE](/copilot/managing-github-copilot-in-your-organization/managing-access-for-copilot-business-in-your-organization). + +## Further reading + +* [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot) +* [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise) diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/index.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/index.md index e18beff2b686..26b07718af89 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/index.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/index.md @@ -1,13 +1,13 @@ --- title: Managing access to Copilot in your enterprise shortTitle: Manage access -intro: 'Enterprise owners can manage {% data variables.product.prodname_copilot_short %} for organizations in the enterprise.' +intro: Enterprise owners can manage {% data variables.product.prodname_copilot_short %} for organizations in the enterprise. versions: feature: copilot topics: - Copilot children: - - /enable-for-organizations + - /grant-access - /disable-for-organizations - /view-license-usage - /manage-network-access diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-copilot-code-review.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-copilot-code-review.md index 029e7d254a32..691ca233215a 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-copilot-code-review.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-copilot-code-review.md @@ -38,8 +38,14 @@ If there are {% data variables.copilot.copilot_pro_short %} or {% data variables Alternatively, you can disable the agent for all repositories owned by your enterprise. + + + + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.copilot-tab %} {% data reusables.enterprise-accounts.copilot-policies-tab %} 1. Select **Block {% data variables.copilot.copilot_code-review_short %} in all enterprise repositories**. + + diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-copilot-coding-agent.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-copilot-coding-agent.md index 30176a847a1e..e71ab9d2a2c4 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-copilot-coding-agent.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-copilot-coding-agent.md @@ -60,8 +60,14 @@ You can choose to stop anyone using the agent in some or all of your repositorie Alternatively, you can disable the agent for all repositories owned by your enterprise. + + + + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.copilot-tab %} {% data reusables.enterprise-accounts.copilot-policies-tab %} 1. Select **Block {% data variables.copilot.copilot_coding_agent %} in all enterprise repositories**. + + diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies.md index f0e2ccff2407..0f91fbabd535 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies.md @@ -24,14 +24,18 @@ When an organization owner assigns a {% data variables.product.prodname_copilot_ Enterprise owners can define a policy for the whole enterprise, or delegate the decision to individual organization owners. See [AUTOTITLE](/copilot/concepts/policies). + + + + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.copilot-tab %} -1. On the "{% data variables.product.prodname_copilot %}" page: - * Click the **Policies** tab to edit the policies that control privacy and availability of features. - * Click the **Models** tab to edit the policies that control availability of models beyond the basic models provided with {% data variables.product.prodname_copilot_short %}, which may incur additional costs. +1. If you see tabs at the top of the page, click the **Policies** or **Models** tab. If you don't see tabs, you will find the {% data variables.product.prodname_copilot_short %} policies on the page you're on, or you can click the {% octicon "chevron-right" aria-label="Go to models settings" %} icon for models policies. 1. For each policy you want to configure, click the dropdown menu and select an enforcement option. Select **No policy** to delegate the decision to individual organization owners. For more information, see [AUTOTITLE](/copilot/reference/feature-availability-enterprise). + + {% data reusables.copilot.mcp-servers-policy-note %} ## Opting in to previews or feedback diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/cancel-plan.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/cancel-plan.md index d4dc611f7607..cfcb966a1d56 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/cancel-plan.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/cancel-plan.md @@ -19,4 +19,4 @@ redirect_from: contentType: how-tos --- -{% data reusables.copilot.disable-copilot-for-all-orgs %} +To cancel your {% data variables.product.prodname_copilot %} plan for your enterprise account, you need to disable {% data variables.product.prodname_copilot %} for all organizations in your enterprise. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/disable-for-organizations). diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/downgrade-subscription.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/downgrade-subscription.md index 3d7e3ccb84ae..4bfcc50d9685 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/downgrade-subscription.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/downgrade-subscription.md @@ -19,12 +19,17 @@ redirect_from: contentType: how-tos --- -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.enterprise-accounts.policies-tab %} -{% data reusables.enterprise-accounts.copilot-tab %} -1. Under "Access management", locate the organization for which you want to downgrade {% data variables.product.prodname_copilot_short %}. -1. To the right of the organization name, select the **Copilot** dropdown menu, and click **Business**. + + + + +{% data reusables.enterprise-accounts.copilot-access-management-tmp %} +1. If you don't already see a list of organizations, under "{% data variables.product.prodname_copilot_short %} access", click the **{% octicon "organization" aria-hidden="true" aria-label="organization" %} Organizations** tab. +1. Locate the organization for which you want to downgrade {% data variables.product.prodname_copilot_short %}. +1. To the right of the organization name, select the **{% data variables.product.prodname_copilot_short %}** dropdown menu, and click **Business**. ![Screenshot of the Copilot "access management" page. A dropdown menu is selected, and a button labeled "Business" is outlined in orange.](/assets/images/help/copilot/copilot-downgrade-to-business.png) 1. In the pop-up window that appears, review the effects of downgrading the organization, then click **Confirm and downgrade**. + + diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/upgrade-plan.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/upgrade-plan.md index d0e0e847ebd2..f684899c41d1 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/upgrade-plan.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/upgrade-plan.md @@ -1,7 +1,7 @@ --- title: Upgrading GitHub Copilot for your enterprise shortTitle: Upgrade plan -intro: 'Change your enterprise''s plan from {% data variables.copilot.copilot_business_short %} to {% data variables.copilot.copilot_enterprise_short %}.' +intro: 'Change your organizations'' plans from {% data variables.copilot.copilot_business_short %} to {% data variables.copilot.copilot_enterprise_short %}.' permissions: Enterprise owners product: 'Enterprises with a {% data variables.copilot.copilot_business_short %} plan' versions: @@ -20,17 +20,18 @@ contentType: how-tos --- >[!NOTE] -> You must already have a paid plan to {% data variables.copilot.copilot_business_short %} to upgrade to {% data variables.copilot.copilot_enterprise_short %}. Trial plans are not eligible for upgrade. +> You must already have a paid {% data variables.copilot.copilot_business_short %} plan to upgrade to {% data variables.copilot.copilot_enterprise_short %}. Trial plans are not eligible for upgrade. -{% data reusables.enterprise-accounts.access-enterprise %} -{% data reusables.enterprise-accounts.policies-tab %} -{% data reusables.enterprise-accounts.copilot-tab %} -1. In the "{% data variables.copilot.copilot_business_short %} is active in your enterprise" section, click **Purchase {% data variables.copilot.copilot_enterprise_short %}**. + + + - ![Screenshot of the Copilot "access management" page. A link, labeled "Purchase {% data variables.copilot.copilot_enterprise_short %}", is highlighted with an orange outline.](/assets/images/help/copilot/purchase-copilot-enterprise.png) +{% data reusables.enterprise-accounts.copilot-access-management-tmp %} +1. If you don't already see a list of organizations, under "{% data variables.product.prodname_copilot_short %} access", click the **{% octicon "organization" aria-hidden="true" aria-label="organization" %} Organizations** tab. +1. Locate the organization for which you want to upgrade {% data variables.product.prodname_copilot_short %}. +1. To the right of the organization name, select the **{% data variables.product.prodname_copilot_short %}** dropdown menu, and click **Copilot Enterprise**. -1. In the dialog, click **Continue to billing summary**. -1. Review your updated billing summary, then click **Enable plan**. + ## Next steps diff --git a/content/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot.md b/content/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot.md index d961aa68078c..82d725bb6b88 100644 --- a/content/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot.md +++ b/content/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot.md @@ -149,12 +149,18 @@ git@gitlab.com:gitlab-org/gitlab-runner.git: As an enterprise owner, you can use the enterprise settings to specify files that {% data variables.product.prodname_copilot %} should ignore. The files can be within a Git repository or anywhere on the file system that is not under Git control. + + + + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.copilot-tab %} -1. Click the **Content exclusion** tab. +1. If you see tabs at the top of the page, click the **Content exclusion** tab. Otherwise, click the {% octicon "chevron-right" aria-label="Go to content exclusion settings" %} icon next to "Content exclusion". 1. Use paths to specify which content to exclude. See the previous section, [Configuring content exclusion for your organization](#configuring-content-exclusion-for-your-organization). + + > [!NOTE] > The key difference between setting content exclusion at the enterprise level and the organization level is that rules set at the enterprise level apply to all {% data variables.product.prodname_copilot_short %} users in the enterprise, whereas the rules set by organization owners only apply to users who are assigned a {% data variables.product.prodname_copilot_short %} seat by that organization. diff --git a/content/copilot/how-tos/configure-content-exclusion/review-changes.md b/content/copilot/how-tos/configure-content-exclusion/review-changes.md index 901e70e5d986..fb22aba6d87d 100644 --- a/content/copilot/how-tos/configure-content-exclusion/review-changes.md +++ b/content/copilot/how-tos/configure-content-exclusion/review-changes.md @@ -56,15 +56,15 @@ Organization and repository settings include the ability to exclude content from ## Reviewing changes in your enterprise + + + + {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.policies-tab %} {% data reusables.enterprise-accounts.copilot-tab %} - -1. On the {% data variables.product.prodname_copilot %} page, click the **Content exclusion** tab. - - At the bottom of the page you'll see the name of the person who last changed the content exclusion settings, and information about when they made this change. - -1. Click the time of the last change. +1. If you see tabs at the top of the page, click the **Content exclusion** tab. Otherwise, click the {% octicon "chevron-right" aria-label="Go to content exclusion settings" %} icon next to "Content exclusion". +1. At the bottom of the page you'll see the name of the person who last changed the content exclusion settings, and information about when they made this change. Click the time of the last change. ![Screenshot of the last edited information. The time of change link is highlighted with a dark orange outline.](/assets/images/help/copilot/content-exclusions-last-edited-by.png) @@ -74,6 +74,10 @@ Organization and repository settings include the ability to exclude content from {% data reusables.copilot.more-details-content-exclusion-logs %} + + {% endif %} +## Further reading + * [AUTOTITLE](/copilot/concepts/content-exclusion-for-github-copilot) diff --git a/content/copilot/how-tos/set-up/set-up-for-enterprise.md b/content/copilot/how-tos/set-up/set-up-for-enterprise.md index 91c270d8bc22..608dd2bedf87 100644 --- a/content/copilot/how-tos/set-up/set-up-for-enterprise.md +++ b/content/copilot/how-tos/set-up/set-up-for-enterprise.md @@ -37,11 +37,13 @@ If your enterprise users connect through an HTTP proxy server or firewall, ensur You may also need to install custom SSL certificates on your users' machines. See [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/configuring-network-settings-for-github-copilot#installing-custom-certificates). -## 4. Grant access to organizations +## 4. Assign licenses -Enable {% data variables.product.prodname_copilot_short %} for some or all organizations in your enterprise. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise). Each organization owner can then grant {% data variables.product.prodname_copilot_short %} access to some or all of the members of their organization. +{% data reusables.copilot.enterprise-licensing %} -If your enterprise is on {% data variables.enterprise.data_residency_site %}, users must perform some additional setup to authenticate to their account from their development environment. See [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/using-github-copilot-with-an-account-on-ghecom). +For instructions, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-access-to-copilot-in-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise). + +>[!TIP] If your enterprise is on {% data variables.enterprise.data_residency_site %}, users must perform some additional setup to authenticate to their account from their development environment. See [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/using-github-copilot-with-an-account-on-ghecom). ## Next steps diff --git a/content/migrations/overview/programmatically-importing-repositories.md b/content/migrations/overview/programmatically-importing-repositories.md index b43b835c8a5e..435dca3f0dd4 100644 --- a/content/migrations/overview/programmatically-importing-repositories.md +++ b/content/migrations/overview/programmatically-importing-repositories.md @@ -17,7 +17,13 @@ The term "source repository" refers to the repository you're importing, and "imp ## Using forks -If the source repository is on {% data variables.product.prodname_dotcom %}, you may be able to use a fork instead of importing the repository. {% data reusables.repositories.about-forks %} For more information, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks). +If the source repository is on {% data variables.product.prodname_dotcom %}, you may be able to use a fork instead of importing the repository. Forks let you make changes to a project without affecting the original repository, also known as the "upstream" repository. + +After you fork a repository, you can: + +* Fetch updates from the upstream repository to keep your fork up to date +* Contribute back to the original project by creating pull requests from your fork +For more information, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks). You can programmatically fork a repository using the REST API. For more information, see [AUTOTITLE](/rest/repos/forks). diff --git a/content/organizations/organizing-members-into-teams/about-teams.md b/content/organizations/organizing-members-into-teams/about-teams.md index e8f703ca39fa..145c961cbf4f 100644 --- a/content/organizations/organizing-members-into-teams/about-teams.md +++ b/content/organizations/organizing-members-into-teams/about-teams.md @@ -1,5 +1,5 @@ --- -title: About teams +title: About organization teams intro: Teams are groups of organization members that reflect your company or group's structure with cascading access permissions and mentions. redirect_from: - /articles/about-teams @@ -11,6 +11,7 @@ versions: topics: - Organizations - Teams +allowTitleToDifferFromFilename: true --- ## About teams diff --git a/content/organizations/organizing-members-into-teams/creating-a-team.md b/content/organizations/organizing-members-into-teams/creating-a-team.md index fe807daedd30..8859864b3ada 100644 --- a/content/organizations/organizing-members-into-teams/creating-a-team.md +++ b/content/organizations/organizing-members-into-teams/creating-a-team.md @@ -1,5 +1,5 @@ --- -title: Creating a team +title: Creating an organization team intro: You can create independent or nested teams to manage repository permissions and mentions for groups of people. redirect_from: - /articles/creating-a-team-early-access-program @@ -16,6 +16,7 @@ permissions: 'Organization owners can create teams and can control whether all o topics: - Organizations - Teams +allowTitleToDifferFromFilename: true --- {% data reusables.organizations.team-synchronization %} diff --git a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md index 534d01a01498..1dffacb6c858 100644 --- a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md +++ b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks.md @@ -16,43 +16,36 @@ topics: ## About forks -{% data reusables.repositories.about-forks %} A fork can exist in either a personal account or an organization. +Forks are like independent copies of repositories. Unlike branches, forks give you more freedom to experiment without affecting the original project. Unlike cloned or duplicated repositories, changes from forks can be merged back into the upstream repository via pull requests, similar to a branch. When you view a forked repository on {% data variables.product.github %}, the upstream repository is indicated below the name of the fork. ![Screenshot of a repository's page on GitHub. Below the name of the repository, "mona/docs", the text "forked from github/docs" is outlined in orange.](/assets/images/help/pull_requests/fork-path.png) -In open source projects, forks are often used to iterate on ideas or changes before incorporating the changes into the upstream repository. {% data reusables.repositories.about-giving-access-to-forks %} +## What makes forks distinct from branches -Deleting a fork will not delete the original upstream repository. Code pushed to a fork will be visible from the upstream, but changes won't have any immediate effect on the upstream branches. For example, you can add collaborators, rename files, or generate {% data variables.product.prodname_pages %} on the fork without affecting the upstream branches. {% ifversion fpt or ghec %} After a fork is deleted, you cannot restore the fork. For more information, see [AUTOTITLE](/repositories/creating-and-managing-repositories/restoring-a-deleted-repository).{% endif %} If you delete a private repository, all forks of the repository are deleted. +Each fork is a complete repository with its own: -{% data reusables.repositories.forks-page %} +* Branches +* Members and discussions +* Issues and pull requests +* Actions and projects +* Tags, labels, and wikis -## About creating forks +## When to use a fork -{% data reusables.repositories.you-can-fork %} - -For instructions for forking a repository, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo). For more information about when you can create forks, and the permission and visibility settings of forks, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks). - -> [!TIP] -> {% data reusables.repositories.desktop-fork %} +There are times when a fork may be a better fit for your task than a branch would be. A fork might be better: -## Forking a repository versus duplicating a repository +* To experiment safely without affecting the original project +* To create separate space for discussions unrelated to a project's main goals +* When you might want to make your work an independent repository later -If you want to create a new repository from the contents of an existing repository but don't want to merge your changes to the upstream in the future, you can duplicate the repository or, if the repository is a template, you can use the repository as a template. For more information, see [AUTOTITLE](/repositories/creating-and-managing-repositories/duplicating-a-repository) and [AUTOTITLE](/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template). +## Which repositories can be forked? -Forking a repository is similar to duplicating a repository, with the following differences. - -* Code pushed to a fork is visible to all repositories in the fork network, even after that fork is deleted. -* You can use a pull request to suggest changes from your fork to the upstream repository. -* You can bring changes from the upstream repository to your fork by synchronizing your fork with the upstream repository. -* Forks inherit the restrictions of their upstream repositories. For example, branch protection rules cannot be passed down if the upstream repository belongs to an organization on a {% data variables.product.prodname_free_team %} plan. +{% data reusables.repositories.you-can-fork %} -Like duplicated repositories, forks have their own members, branches, tags, labels, policies, issues, pull requests, discussions, actions, projects, and wikis. +## Next steps -## Further reading +For instructions for forking a repository, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo). -* [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models) -* [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) -* [Open Source Guides](https://opensource.guide/){% ifversion fpt or ghec %} -* [{% data variables.product.prodname_learning %}]({% data variables.product.prodname_learning_link %}){% endif %} +For more information about when you can create forks, and the permission and visibility settings of forks, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks). diff --git a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks.md b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks.md index b0c4db3831cc..9a45e1c23602 100644 --- a/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks.md +++ b/content/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks.md @@ -41,7 +41,16 @@ If you delete a fork, any code contributions of that fork will still be accessib {% data reusables.repositories.private_forks_inherit_permissions %} -Public forks do not inherit the permissions structure of the upstream repository. {% data reusables.repositories.about-giving-access-to-forks %} +Public forks do not inherit the permissions structure of the upstream repository. + +When you fork a public repository to your personal account, you can allow repository maintainers to push to your pull request branch. This includes giving them permission to make commits or delete the branch. + +This speeds up collaboration by letting maintainers: +* Make direct commits to your branch +* Run tests locally before merging +You cannot give push permissions to a fork owned by an organization. + +For more information, see [AUTOTITLE](/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork). {% ifversion push-rulesets %} diff --git a/data/features/enterprise-teams.yml b/data/features/enterprise-teams.yml new file mode 100644 index 000000000000..dd97577320e9 --- /dev/null +++ b/data/features/enterprise-teams.yml @@ -0,0 +1,5 @@ +# Reference: #18526 +# Enterprise teams, first shipped as part of Copilot direct licensing + +versions: + ghec: '*' diff --git a/data/features/unaffiliated-users.yml b/data/features/unaffiliated-users.yml new file mode 100644 index 000000000000..b72ab0b7e8cb --- /dev/null +++ b/data/features/unaffiliated-users.yml @@ -0,0 +1,6 @@ +# Issue 19374: Originally part of the Copilot direct licensing ship +# FBV created in case it ships to GHES later + +versions: + fpt: '*' + ghec: '*' diff --git a/data/reusables/copilot/cb-only-self-serve.md b/data/reusables/copilot/cb-only-self-serve.md new file mode 100644 index 000000000000..4e83fdca14c5 --- /dev/null +++ b/data/reusables/copilot/cb-only-self-serve.md @@ -0,0 +1 @@ +>[!NOTE] This article describes a specific type of enterprise account that can only be provided by {% data variables.product.company_short %}'s sales teams. {% data variables.product.company_short %} is currently rolling out a new licensing experience for all enterprise accounts, which allows you to grant {% data variables.product.prodname_copilot_short %} licenses without using {% data variables.product.prodname_enterprise %}. {% data reusables.copilot.direct-assignment-rollout %} diff --git a/data/reusables/copilot/direct-assignment-rollout.md b/data/reusables/copilot/direct-assignment-rollout.md new file mode 100644 index 000000000000..34ae4291f2fe --- /dev/null +++ b/data/reusables/copilot/direct-assignment-rollout.md @@ -0,0 +1,3 @@ + +This feature is in {% data variables.release-phases.public_preview %} and is being rolled out on a phased basis. If your enterprise doesn't already have access, it will gain access in the near future. + diff --git a/data/reusables/copilot/enterprise-licensing.md b/data/reusables/copilot/enterprise-licensing.md new file mode 100644 index 000000000000..693a9d3c4380 --- /dev/null +++ b/data/reusables/copilot/enterprise-licensing.md @@ -0,0 +1,4 @@ +There are two main ways to grant access to {% data variables.product.prodname_copilot_short %} in an enterprise: + +* **Assign licenses directly to users or teams** in the enterprise. This approach simplifies license management at scale and provides the option of granting {% data variables.product.prodname_copilot_short %} licenses to users who don't consume a {% data variables.product.prodname_enterprise %} license. This approach is currently only available for **{% data variables.copilot.copilot_business_short %}** licenses. +* **Enable {% data variables.product.prodname_copilot_short %} for organizations**. This approach allows you to choose {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} for individual organizations and give organization owners control to grant licenses to the users who need them most. diff --git a/data/reusables/enterprise-accounts/copilot-access-management-tmp.md b/data/reusables/enterprise-accounts/copilot-access-management-tmp.md new file mode 100644 index 000000000000..ee177b68930b --- /dev/null +++ b/data/reusables/enterprise-accounts/copilot-access-management-tmp.md @@ -0,0 +1,6 @@ +1. Go to the access management page for your enterprise. Temporarily, the location of this page varies depending on whether your enterprise has been migrated to the new UI for direct {% data variables.product.prodname_copilot_short %} licensing. + + * First, try `https://github.com/enterprises/YOUR-ENTERPRISE/enterprise_licensing/copilot`, replacing YOUR-ENTERPRISE with your enterprise's slug. + * If you receive a 404 error, go to `https://github.com/enterprises/YOUR-ENTERPRISE/settings/copilot`. + + >[!TIP] If you use {% data variables.enterprise.data_residency %}, replace `github.com` with `{% data variables.enterprise.data_residency_domain %}`. diff --git a/data/reusables/enterprise-accounts/copilot-policies-tab.md b/data/reusables/enterprise-accounts/copilot-policies-tab.md index fb7c3408da15..b3cb2000cc42 100644 --- a/data/reusables/enterprise-accounts/copilot-policies-tab.md +++ b/data/reusables/enterprise-accounts/copilot-policies-tab.md @@ -1 +1 @@ -1. On the "{% data variables.product.prodname_copilot %}" page, click the **Policies** tab. +1. If you don't already see policies listed on the page, click the **Policies** tab. diff --git a/data/reusables/repositories/you-can-fork.md b/data/reusables/repositories/you-can-fork.md index 8db7307364b3..bece694541ef 100644 --- a/data/reusables/repositories/you-can-fork.md +++ b/data/reusables/repositories/you-can-fork.md @@ -1,6 +1,18 @@ {% ifversion ghes or ghec %} -You can fork a private or internal repository to your personal account or to an organization on {% data variables.product.prodname_dotcom %} where you have permission to create repositories, provided that the settings for the repository and your enterprise policies allow forking. Generally, you can fork any public repository to your personal account or to an organization where you have permission to create repositories{% ifversion ghec %}, unless you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}{% endif %}. +You can fork a private or internal repository to your personal account or to an organization on {% data variables.product.prodname_dotcom %} where you have permission to create repositories, provided that the settings for the repository and your enterprise policies allow forking. + +Generally, you can fork any public repository to your personal account or to an organization where you have permission to create repositories{% ifversion ghec %}, unless you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}{% endif %}. {% elsif fpt %} -You can fork any public repository to your personal account, or to an organization where you have permission to create repositories. If you have access to a private repository and the owner permits forking, you can fork the repository to your personal account, or to an organization on {% data variables.product.prodname_team %} where you have permission to create repositories. You cannot fork a private repository to an organization using {% data variables.product.prodname_free_team %}. For more information about {% data variables.product.prodname_team %} and {% data variables.product.prodname_free_team %}, see [AUTOTITLE](/get-started/learning-about-github/githubs-plans). +You can fork any public repository: + +* To your personal account +* To an organization where you have permission to create repositories + +If you have access to a private repository and the owner permits forking, you can fork the repository: + +* To your personal account +* To an organization on {% data variables.product.prodname_team %} where you have permission to create repositories + +You cannot fork a private repository to an organization using {% data variables.product.prodname_free_team %}. For more information about {% data variables.product.prodname_team %} and {% data variables.product.prodname_free_team %}, see [AUTOTITLE](/get-started/learning-about-github/githubs-plans). {% endif %}