diff --git a/content/account-and-profile/concepts/index.md b/content/account-and-profile/concepts/index.md index 9eea058442d6..2885032eb3d0 100644 --- a/content/account-and-profile/concepts/index.md +++ b/content/account-and-profile/concepts/index.md @@ -17,4 +17,5 @@ children: - /changing-your-github-username - /email-addresses - /scheduled-reminders + - /personal-repository-access-and-collaboration --- diff --git a/content/account-and-profile/concepts/personal-repository-access-and-collaboration.md b/content/account-and-profile/concepts/personal-repository-access-and-collaboration.md new file mode 100644 index 000000000000..a03ccc56b62b --- /dev/null +++ b/content/account-and-profile/concepts/personal-repository-access-and-collaboration.md @@ -0,0 +1,48 @@ +--- +title: Personal repository access and collaboration +intro: 'Learn how to manage access and collaboration for repositories you own with your personal account on {% data variables.product.github %}.' +versions: + fpt: '*' + ghes: '*' + ghec: '*' +topics: + - Accounts + - Repositories + - Privacy + - Open Source +shortTitle: Access to repositories +--- + +## About collaboration in a personal repository + +You can collaborate with others on repositories you own by inviting them as collaborators. Collaborators have access to contribute to your code and manage issues and pull requests. + +{% ifversion ghec %} + +If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you can only invite other members of your enterprise to collaborate with you. {% data reusables.enterprise-accounts.emu-more-info-account %} + +{% endif %} + +To add a collaborator, see [AUTOTITLE](/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository). + +{% ifversion fpt or ghec %} + +{% data reusables.repositories.private_forks_inherit_permissions %} + +## About successors + +We recommend inviting another {% data variables.product.company_short %} user to be your successor, to manage your user owned repositories if you cannot. As a successor, they will have permission to: + +* Archive your public repositories. +* Transfer your public repositories to their own user owned account. +* Transfer your public repositories to an organization where they can create repositories. + +Successors cannot log into your account. + +An appointed successor can manage your public repositories after presenting a death certificate then waiting for 7 days or presenting an obituary then waiting for 21 days. For more information, see [AUTOTITLE](/free-pro-team@latest/site-policy/other-site-policies/github-deceased-user-policy). + +To request access to manage repositories as a successor, please contact us through the {% data variables.contact.contact_support_portal %}. + +For more information, see [AUTOTITLE](/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories). + +{% endif %} diff --git a/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/index.md b/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/index.md index 61d5320a5479..f3e78930b988 100644 --- a/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/index.md +++ b/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/index.md @@ -21,6 +21,6 @@ children: - /removing-a-collaborator-from-a-personal-repository - /removing-yourself-from-a-collaborators-repository - /maintaining-ownership-continuity-of-your-personal-accounts-repositories -shortTitle: Access to your repositories +shortTitle: Manage repository access --- diff --git a/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md b/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md index abbb01658c5f..cc7055d460cc 100644 --- a/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md +++ b/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository.md @@ -19,30 +19,11 @@ topics: - Repositories shortTitle: Invite collaborators --- -## About collaboration in a personal repository - -To collaborate with users in a repository that belongs to your personal account on {% data variables.product.prodname_dotcom %}, you can invite the users as collaborators. - -If you want to grant more granular access to the repository, you can create a repository within an organization. For more information, see [AUTOTITLE](/get-started/learning-about-github/access-permissions-on-github). - -{% ifversion ghec %} - -If you're a member of an {% data variables.enterprise.prodname_emu_enterprise %}, you can only invite other members of your enterprise to collaborate with you. {% data reusables.enterprise-accounts.emu-more-info-account %} - -{% endif %} - -{% data reusables.repositories.private_forks_inherit_permissions %} ## Inviting a collaborator to a personal repository You can send an invitation to collaborate in your repository directly to someone on {% data variables.product.prodname_dotcom %}{% ifversion fpt or ghec %}, or to the person's email address{% elsif ghes %}.{% endif %}. -{% ifversion fpt or ghec %} - -{% data variables.product.company_short %} limits the number of people who can be invited to a repository within a 24-hour period. If you exceed this limit, either wait 24 hours or create an organization to collaborate with more people. For more information, see [AUTOTITLE](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch). - -{% endif %} - 1. Ask for the username of the person you're inviting as a collaborator.{% ifversion fpt or ghec %} If they don't have a username yet, they can sign up for {% data variables.product.prodname_dotcom %}. For more information, see [AUTOTITLE](/get-started/start-your-journey/creating-an-account-on-github).{% endif %} {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} @@ -54,9 +35,6 @@ You can send an invitation to collaborate in your repository directly to someone 1. The user will receive an email inviting them to the repository. Once they accept your invitation, they will have collaborator access to your repository. {% endif %} -## Further reading +## Next steps -* [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-user-account-settings/permission-levels-for-a-personal-account-repository#collaborator-access-for-a-repository-owned-by-a-personal-account) -* [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository) -* [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository) -* [AUTOTITLE](/organizations/organizing-members-into-teams) +* For reference information, see [AUTOTITLE](/account-and-profile/reference/permission-levels-for-a-personal-account-repository#collaborator-access-for-a-repository-owned-by-a-personal-account) diff --git a/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md b/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md index 12c8c26313b2..73b7387142b1 100644 --- a/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md +++ b/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories.md @@ -14,19 +14,6 @@ redirect_from: - /account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/maintaining-ownership-continuity-of-your-personal-accounts-repositories shortTitle: Ownership continuity --- -## About successors - -We recommend inviting another {% data variables.product.company_short %} user to be your successor, to manage your user owned repositories if you cannot. As a successor, they will have permission to: - -* Archive your public repositories. -* Transfer your public repositories to their own user owned account. -* Transfer your public repositories to an organization where they can create repositories. - -Successors cannot log into your account. - -An appointed successor can manage your public repositories after presenting a death certificate then waiting for 7 days or presenting an obituary then waiting for 21 days. For more information, see [AUTOTITLE](/free-pro-team@latest/site-policy/other-site-policies/github-deceased-user-policy). - -To request access to manage repositories as a successor, please contact us through the {% data variables.contact.contact_support_portal %}. ## Inviting a successor diff --git a/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md b/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md index d4a43c5a2a2d..0d9304e4d8a9 100644 --- a/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md +++ b/content/account-and-profile/how-tos/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-a-collaborator-from-a-personal-repository.md @@ -1,6 +1,6 @@ --- title: Removing a collaborator from a personal repository -intro: 'When you remove a collaborator from your project, they lose read/write access to your repository. If the repository is private and the person has created a fork, then that fork is also deleted.' +intro: 'You can remove a collaborator from your personal repository at any time.' redirect_from: - /articles/how-do-i-remove-a-collaborator - /articles/what-happens-when-i-remove-a-collaborator-from-my-private-repository @@ -22,9 +22,6 @@ topics: - Repositories shortTitle: Remove a collaborator --- -## Deleting forks of private repositories - -While forks of private repositories are deleted when a collaborator is removed, the person will still retain any local clones of your repository. ## Removing collaborator permissions from a person contributing to a repository @@ -33,7 +30,6 @@ While forks of private repositories are deleted when a collaborator is removed, {% data reusables.repositories.click-collaborators-teams %} 1. To the right of the collaborator you want to remove, click **Remove**. -## Further reading +## Next steps -* [AUTOTITLE](/organizations/organizing-members-into-teams/removing-organization-members-from-a-team) -* [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/removing-an-outside-collaborator-from-an-organization-repository) +* For reference information, see [AUTOTITLE](/account-and-profile/reference/permission-levels-for-a-personal-account-repository#removing-a-collaborator). diff --git a/content/account-and-profile/reference/permission-levels-for-a-personal-account-repository.md b/content/account-and-profile/reference/permission-levels-for-a-personal-account-repository.md index d140a967249f..0f2b9db47195 100644 --- a/content/account-and-profile/reference/permission-levels-for-a-personal-account-repository.md +++ b/content/account-and-profile/reference/permission-levels-for-a-personal-account-repository.md @@ -66,6 +66,12 @@ The repository owner has full control of the repository. In addition to the acti ## Collaborator access for a repository owned by a personal account +{% ifversion fpt or ghec %} + +{% data variables.product.company_short %} limits the number of people who can be invited to a repository within a 24-hour period. If you exceed this limit, either wait 24 hours or create an organization to collaborate with more people. For more information, see [AUTOTITLE](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch). + +{% endif %} + Collaborators on a personal repository can pull (read) the contents of the repository and push (write) changes to the repository. > [!NOTE] @@ -95,6 +101,10 @@ Collaborators can also perform the following actions. | {% endif %} | | Remove themselves as collaborators on the repository | [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/removing-yourself-from-a-collaborators-repository) | -## Further reading +If you want more granular control of permissions to the repository, you can create a repository within an organization. For more information, see [AUTOTITLE](/get-started/learning-about-github/access-permissions-on-github). + +## Removing a collaborator + +While forks of private repositories are deleted when a collaborator is removed, the person will still retain any local clones of your repository. -* [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization) +When you remove a collaborator from your project, they lose read/write access to your repository. If the repository is private and the person has created a fork, then that fork is also deleted. diff --git a/content/actions/how-tos/troubleshoot-workflows.md b/content/actions/how-tos/troubleshoot-workflows.md index f4d028ac9aab..1a6391756821 100644 --- a/content/actions/how-tos/troubleshoot-workflows.md +++ b/content/actions/how-tos/troubleshoot-workflows.md @@ -66,7 +66,7 @@ To analyze the efficiency and reliability of your workflows using metrics, see [ ## Troubleshooting workflow triggers -You can review your workflow’s `on:` field to understand what is expected to trigger the workflow. For more information, see [AUTOTITLE](/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow). +You can review your workflow's `on:` field to understand what is expected to trigger the workflow. For more information, see [AUTOTITLE](/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow). For a full list of available events, see [AUTOTITLE](/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows). @@ -118,4 +118,74 @@ We recommend using unique label names for larger and self-hosted runners. If a l If you use self-hosted runners, you can view their activity and diagnose common issues. -For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners). +For more information, see [AUTOTITLE](/actions/how-tos/manage-runners/self-hosted-runners/monitor-and-troubleshoot). + +## Networking troubleshooting suggestions + +Our support is limited for network issues that involve: + +* Your networks +* External networks +* Third-party systems +* General internet connectivity + +To view {% data variables.product.github %}'s realtime platform status, check [{% data variables.product.github %} Status](https://githubstatus.com/). + +For other network-related issues, review your organization's network settings and verify the status of any third-party services you're accessing. If problems persist, consider reaching out to your network administrators for further assistance. + +If you're unsure about the issue, contact {% data variables.contact.github_support %}. For details on how to contact support, see [AUTOTITLE](/support/contacting-github-support). + +### DNS + +Issues may occur from Domain Name System (DNS) configuration, resolution, or resolver problems. We recommend you review available logs, vendor documentation, or consult with your administrators for additional assistance. + +### Firewalls + +Activities may become blocked by firewalls. If this occurs, you may want to review available logs, vendor documentation, or consult with your administrators for additional assistance. + +### Proxies + +Activities could fail when using a proxy for communications. It's good practice to review available logs, vendor documentation, or consult with your administrators for additional assistance. + +Refer to [AUTOTITLE](/actions/how-tos/manage-runners/self-hosted-runners/use-proxy-servers) for information about configuring the runner application to utilize a proxy. + +### Subnets + +It is possible to encounter issues with subnets in use or overlaps with an existing network, such as within virtual cloud provider or Docker networks. In such cases, we recommend you review your network topology and subnets in use. + +### Certificates + +Issues may occur from self-signed or custom certificate chains and certificate stores. You can check that a certificate in use has not expired and is currently trusted. Certificates may be inspected with `curl` or similar tools. You can also review available logs, vendor documentation, or consult with your administrators for additional assistance. + +### IP lists + +IP allow or deny lists may disrupt expected communications. If there is a problem, you should review available logs, vendor documentation, or consult with your administrators for additional assistance. + +{% ifversion ghec %} +If your {% data variables.product.github %} account is configured with an IP allowlist, workflows will fail if a runner uses an IP address that isn’t included in the allowlist. To resolve this, verify that the runner's IP addresses are added to your organization's or enterprise's allowlist. For more details, see [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization) and/or [AUTOTITLE](/admin/configuring-settings/hardening-security-for-your-enterprise/restricting-network-traffic-to-your-enterprise-with-an-ip-allow-list). +{% endif %} + +{% ifversion fpt or ghec %} +For information on {% data variables.product.github %}'s IP addresses, such as those used by {% data variables.product.github %}-hosted runners, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/about-githubs-ip-addresses). + +Static IP addresses are available for use with {% data variables.product.github %}-hosted larger runners. See [AUTOTITLE](/actions/how-tos/manage-runners/larger-runners/manage-larger-runners) for more information. +{% endif %} + +### Operating systems and software applications + +In addition to firewalls or proxies, customizations performed to {% data variables.product.github %}-hosted runners, such as installing additional software packages, may result in communication disruptions. For information about available customization options, see [AUTOTITLE](/actions/how-tos/manage-runners/github-hosted-runners/customize-runners). + +* For self-hosted runners, learn more about necessary endpoints in [AUTOTITLE](/actions/reference/runners/self-hosted-runners). + +* For help configuring WireGuard, see [AUTOTITLE](/actions/how-tos/manage-runners/github-hosted-runners/connect-to-a-private-network/connect-with-wireguard). + +* For details about configuring OpenID Connect (OIDC), see [AUTOTITLE](/actions/how-tos/manage-runners/github-hosted-runners/connect-to-a-private-network/connect-with-oidc). +{% ifversion fpt or ghec %} + +### Azure private networking for {% data variables.product.github %}-hosted runners + +Issues may arise from the use of {% data variables.product.github %}-hosted runners within your configured Azure Virtual Networks (VNETs) settings. + +For troubleshooting advice, see [AUTOTITLE](/organizations/managing-organization-settings/troubleshooting-azure-private-network-configurations-for-github-hosted-runners-in-your-organization) or {% ifversion ghec %}[AUTOTITLE](/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/troubleshooting-azure-private-network-configurations-for-github-hosted-runners-in-your-enterprise){% else %}[AUTOTITLE](/enterprise-cloud@latest/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/troubleshooting-azure-private-network-configurations-for-github-hosted-runners-in-your-enterprise) in the {% data variables.product.prodname_ghe_cloud %} docs{% endif %}. + +{% endif %} 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 c3ab83cb8931..ba7a9fc3f5aa 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 @@ -1005,6 +1005,18 @@ All Storage tests passed ## High availability +{% ifversion ghes > 3.17 %} + +### ghe-repl-decommission + +This command decommissions the database entries for the node with the specified UUID. You run this command on the new primary after performing a failover to a replica node, to remove the decommissioned node's database entries. For more information, see [AUTOTITLE](/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance). + +```shell +ghe-repl-decommission +``` + +{% endif %} + ### ghe-repl-promote This command disables replication on an existing replica node and converts the replica node to a primary node using the same settings as the original primary node. All replication services are enabled. For more information, see [AUTOTITLE](/admin/enterprise-management/configuring-high-availability/initiating-a-failover-to-your-replica-appliance). diff --git a/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/log-forwarding.md b/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/log-forwarding.md index b5763620872b..a796e54f7d4f 100644 --- a/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/log-forwarding.md +++ b/content/admin/monitoring-activity-in-your-enterprise/exploring-user-activity-in-your-enterprise/log-forwarding.md @@ -25,7 +25,7 @@ Forwarding logs to an external receiver allows your organization to centralize l Any log collection system that supports syslog-style log streams is supported (e.g., [Logstash](https://www.elastic.co/products/logstash) and [Splunk](https://docs.splunk.com/Documentation/Splunk/latest/Data/Monitornetworkports)). -When you enable log forwarding, you must upload a CA certificate to encrypt communications between syslog endpoints. Your appliance and the remote syslog server will perform two-way SSL, each providing a certificate to the other and validating the certificate which is received. +When you enable log forwarding, you must upload a CA certificate to encrypt communications between syslog endpoints. Your appliance will establish an SSL connection to the remote syslog server and validate the server’s certificate. For more information on log content, see [AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-system-logs). diff --git a/content/admin/monitoring-and-managing-your-instance/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md b/content/admin/monitoring-and-managing-your-instance/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md index 512b9a9660ef..0de7a6ae16fa 100644 --- a/content/admin/monitoring-and-managing-your-instance/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md +++ b/content/admin/monitoring-and-managing-your-instance/configuring-high-availability/initiating-a-failover-to-your-replica-appliance.md @@ -64,10 +64,10 @@ The time required to failover depends on how long it takes to manually promote t cat /data/user/common/uuid ``` - * On the new primary, remove the UUIDs using `ghe-repl-teardown`. Please replace `UUID` with a UUID you retrieved in the previous step. + * On the new primary, remove the UUIDs using {% ifversion ghes > 3.17 %}`ghe-repl-decommission`{% else %}`ghe-repl-teardown`{% endif %}. Please replace `UUID` with the UUID you retrieved in the previous step. ```shell - ghe-repl-teardown -u UUID + {% ifversion ghes > 3.17 %}ghe-repl-decommission UUID{% else %}ghe-repl-teardown -u UUID{% endif %} ``` ## Further reading diff --git a/content/billing/how-tos/set-up-payment/manage-payment-info.md b/content/billing/how-tos/set-up-payment/manage-payment-info.md index f70b8a377f5f..3e2a0f61c3c1 100644 --- a/content/billing/how-tos/set-up-payment/manage-payment-info.md +++ b/content/billing/how-tos/set-up-payment/manage-payment-info.md @@ -31,22 +31,7 @@ The payment methods available depend on your account type. Enterprise and organi ## Managing payment information -1. In the upper-right corner of any page on {% data variables.product.prodname_dotcom %}, click your profile picture. - -1. Select the account you want to view and then access the "Billing & Licensing" pages: - - * **Personal accounts**: Click **Settings**, then in the **Access** section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & Licensing**. - * **Organizations**: Click **Your organizations**, then next to the organization, click **Settings**. In the organization sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & Licensing**. - * For **enterprises**, click **Your enterprises**, then click the enterprise name. Click the **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & Licensing** tab at the top of the page. - -1. From the list of "Billing & licensing" pages, click **Payment information** to display full details of your payment method. - -1. To edit your payment method: - - * **Bank card or PayPal**: In "Payment method", click **Edit** to update your payment information. - * **Azure subscription**: Under "Azure subscription", click {% octicon "pencil" aria-label="Edit Azure Subscription" %} to edit your subscription or {% octicon "trash" aria-label="Delete Azure Subscription" %} to remove your subscription. See [AUTOTITLE](/billing/how-tos/set-up-payment/connect-azure-sub). - ->[!NOTE] You may see an authorization hold on your provided payment method once its updated or after accruing significant usage of metered services. Authorization holds are temporary and are released as quickly as possible. +{% data reusables.billing.manage-payment-info %} ### Troubleshooting payment method issues diff --git a/content/billing/how-tos/troubleshooting/declined-card.md b/content/billing/how-tos/troubleshooting/declined-card.md index 6ab070d8a898..c97faf71f32c 100644 --- a/content/billing/how-tos/troubleshooting/declined-card.md +++ b/content/billing/how-tos/troubleshooting/declined-card.md @@ -19,21 +19,31 @@ topics: shortTitle: Declined card contentType: how-tos --- -If your card is declined, we'll send you an email about why the payment was declined. You'll have a few days to resolve the problem before we try charging you again. -## Check your card's expiration date +**If your card is declined, we'll send you an email about why the payment was declined. You'll have a few days to resolve the problem before we try charging you again**. -If your card has expired, you'll need to update your account's payment information. For more information, see [AUTOTITLE](/billing/managing-your-billing/managing-your-payment-and-billing-information). +## 1. Check your card's expiration date and add your new card's details -## Verify your bank's policy on card restrictions +Start by checking your card's expiration date. +If your card has expired, you'll need to update your account's payment information. + +1. Select your account and then access the "Billing & Licensing" page. +1. Click **Update payment method**. +1. Click **Payment information** to display full details of your payment method. +1. If your saved card has expired, click **Edit**. +1. Enter your new card details and save your changes. + +For more detailed instructions, see [Managing payment information](/billing/how-tos/set-up-payment/manage-payment-info#managing-payment-information). + +## 2. Verify your bank's policy on card restrictions Some international banks place restrictions on international, e-commerce, and automatically recurring transactions. If you're having trouble making a payment with your international credit card, call your bank to see if there are any restrictions on your card. We also support payments through PayPal. For more information, see [AUTOTITLE](/billing/managing-your-billing/managing-your-payment-and-billing-information). -## Contact your bank for details about the transaction +## 3. Contact your bank for details about the transaction -Your bank can provide additional information about declined payments if you specifically ask about the attempted transaction. If there are restrictions on your card and you need to call your bank, provide this information to your bank: +If your card is still valid, you have no restrictions on it, or the restrictions don't apply to your payments for {% data variables.product.company_short %} services, you need to call your bank. Your bank can provide additional information about declined payments if you specifically ask about the attempted transaction. Important information to provide includes: * **The amount you're being charged.** The amount for your subscription appears on your account's receipts. For more information, see [AUTOTITLE](/billing/managing-your-billing/managing-your-payment-and-billing-information). * **The date when {% data variables.product.company_short %} bills you.** Your account's billing date appears on your receipts. diff --git a/content/billing/how-tos/troubleshooting/enterprise-license-usage.md b/content/billing/how-tos/troubleshooting/enterprise-license-usage.md index 151cac501800..fd8ea6f253c9 100644 --- a/content/billing/how-tos/troubleshooting/enterprise-license-usage.md +++ b/content/billing/how-tos/troubleshooting/enterprise-license-usage.md @@ -18,19 +18,19 @@ contentType: how-tos ## About unexpected license usage -If the number of consumed licenses for your enterprise is unexpected, you can review your consumed license report to audit your license usage across all your enterprise deployments and subscriptions. For more information, see [AUTOTITLE](/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise). +If the number of consumed licenses for your enterprise is unexpected, you can review your consumed license report to audit your license usage across all your enterprise deployments and subscriptions. For more information, see [AUTOTITLE](/billing/managing-your-license-for-github-enterprise/viewing-license-usage-for-github-enterprise) and [AUTOTITLE](/billing/reference/license-usage-calculation). -If you find errors, you can try troubleshooting steps. +> [!NOTE] For privacy reasons, enterprise owners cannot directly access the details of user accounts unless you use {% data variables.product.prodname_emus %}. -For privacy reasons, enterprise owners cannot directly access the details of user accounts unless you use {% data variables.product.prodname_emus %}. - -See [AUTOTITLE](/billing/reference/license-usage-calculation) for detailed information about how consumed licenses are calculated +If you find errors, you can try the troubleshooting steps below. ## Troubleshooting consumed licenses -To ensure that the each user is only consuming a single {% ifversion enterprise-licensing-language %}license{% else %}seat{% endif %} for different deployments and subscriptions, try the following troubleshooting steps. +To ensure that each user is only consuming a single {% ifversion enterprise-licensing-language %}license{% else %}seat{% endif %} for different deployments and subscriptions, try the following troubleshooting steps. + +1. To help identify users that are consuming multiple {% ifversion enterprise-licensing-language %}licenses{% else %}seats{% endif %}, if your enterprise uses verified domains for {% data variables.product.prodname_ghe_cloud %}, review the list of enterprise members who do not have an email address from a verified domain associated with their account on {% data variables.product.prodname_ghe_cloud %}. -1. To help identify users that are consuming multiple {% ifversion enterprise-licensing-language %}licenses{% else %}seats{% endif %}, if your enterprise uses verified domains for {% data variables.product.prodname_ghe_cloud %}, review the list of enterprise members who do not have an email address from a verified domain associated with their account on {% data variables.product.prodname_ghe_cloud %}. Often, these are the users who erroneously consume more than one {% ifversion enterprise-licensing-language %}license{% else %}licensed seat{% endif %}. For more information, see [AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-members-without-an-email-address-from-a-verified-domain). + Often, these are the users who erroneously consume more than one {% ifversion enterprise-licensing-language %}license{% else %}licensed seat{% endif %}. For more information, see [AUTOTITLE](/admin/user-management/managing-users-in-your-enterprise/viewing-people-in-your-enterprise#viewing-members-without-an-email-address-from-a-verified-domain). > [!NOTE] > To make troubleshooting easier, we recommend using verified domains with your enterprise account on {% data variables.product.prodname_ghe_cloud %}. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/configuration/configuring-your-enterprise/verifying-or-approving-a-domain-for-your-enterprise). diff --git a/content/billing/how-tos/troubleshooting/locked-account.md b/content/billing/how-tos/troubleshooting/locked-account.md index 6f3ad6f959c9..c1c4ccf46f77 100644 --- a/content/billing/how-tos/troubleshooting/locked-account.md +++ b/content/billing/how-tos/troubleshooting/locked-account.md @@ -34,6 +34,8 @@ You can downgrade your user account or organization to {% data variables.product ## Unlocking an organization's features due to a declined payment -If your account's advanced features are locked due to a declined payment, you'll need to update your billing information to trigger a newly authorized charge. For more information, see [AUTOTITLE](/billing/managing-your-billing/managing-your-payment-and-billing-information). +If your account's advanced features are locked due to a declined payment, you'll need to update your billing information to trigger a newly authorized charge. + +{% data reusables.billing.manage-payment-info %} If the new billing information is approved, we will immediately charge you for the paid product you chose. The account will automatically unlock when a payment has been successfully processed. Payments may take up to 24 hours to process. diff --git a/content/billing/tutorials/use-cost-centers.md b/content/billing/tutorials/use-cost-centers.md index ec078a58ef1f..3874a5d02b01 100644 --- a/content/billing/tutorials/use-cost-centers.md +++ b/content/billing/tutorials/use-cost-centers.md @@ -16,9 +16,9 @@ shortTitle: Use cost centers contentType: tutorials --- -To drive accountability and control costs, the new billing platform lets you create cost centers. A cost center manages expenses without generating revenue. You can create cost centers and assign users, organizations, and repositories to them, and set budgets. This enhances spending control and resource allocation. +Cost centers let you attribute usage and spend by business unit to improve accountability, forecasting, and cost allocation. You can assign users, organizations, and repositories within your enterprise to a cost center. -If your account is billed to Azure, you will have the option to add an Azure subscription ID. Cost centers allows for multiple Azure subscription IDs so that different business units, within an enterprise, can directly pay for their usage. +If your account is billed through Azure, you can add an Azure subscription to a cost center to bill usage to a different Azure subscription than the enterprise default. To learn more about roles authorized to create and manage cost centers, see [AUTOTITLE](/billing/managing-your-billing/roles-for-the-new-billing-platform). @@ -29,7 +29,7 @@ To learn more about roles authorized to create and manage cost centers, see [AUT Create cost centers to monitor and manage expenses for specific organizations or repositories. Multiple organizations, repositories, and users can be assigned to one cost center. -When you create a cost center, you can add **organizations** or **repositories**—which track spending for usage-based products like {% data variables.product.prodname_actions %}—via the user interface. To track spending for license-based products like {% data variables.product.prodname_copilot %}, you will need to add **users** to the cost center via the API after the cost center has been created. For guidance by product, see [Allocating spending to a cost center](#allocating-spending-to-a-cost-center). +When you create a cost center, you can add **organizations**, **repositories**, or **users**. The cost center will then track spending for the selected entities. {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} @@ -37,9 +37,9 @@ When you create a cost center, you can add **organizations** or **repositories** 1. Click **New cost center** in the upper-right corner. 1. In the text box under "Name", enter a name for your cost center. 1. If your account is billed to Azure, you have the option to add an Azure ID. Your credentials will be verified against Azure to ensure the Azure IDs associated to your account are available. -1. If the cost center will track spending for usage-based products like {% data variables.product.prodname_actions %}, under "Resources", select the organizations and/or repositories that will be a part of the cost center. +1. Under **Resources**, select the organizations, repositories, and/or users that will be a part of the cost center. - >[!NOTE] An organization or repository can only be assigned to one cost center at a time. + >[!NOTE] A resource (organization, repository, or user) can only be assigned to one cost center at a time. If you add a resource that belongs to a different cost center, it will be moved to the new cost center and you will be notified. 1. Click **Create cost center**. @@ -47,9 +47,9 @@ When you create a cost center, you can add **organizations** or **repositories** To allocate spending to a cost center, you add repositories, organizations, or users to the cost center. Any usage that is not assigned to a specific cost center is categorized as "Enterprise Only" spending on your enterprise's "Usage" page. -* For **usage-based** products like {% data variables.product.prodname_actions %}, cost centers are charged based on the repositories or organizations that you add. You can add these to a cost center in the UI. See [Creating a cost center](#creating-a-cost-center). +* For **usage-based** products like {% data variables.product.prodname_actions %}, cost centers are charged based on the repositories or organizations that you add. See [Creating a cost center](#creating-a-cost-center). * For **license-based** products like {% data variables.product.prodname_copilot %}, cost centers are charged based on the users that you add. - * You must add users to a cost center with the API. See [AUTOTITLE](/rest/enterprise-admin/billing#add-users-to-a-cost-center). Note that the API currently supports adding or removing up to **50** resources in a single operation. + * You can add repositories, organizations, and/or users to a cost center with the API. See [AUTOTITLE](/rest/enterprise-admin/billing#add-resources-to-a-cost-center). Note that the API currently supports adding or removing up to **50** resources in a single operation. * If a licensed user isn't assigned to cost center, costs either default to "Enterprise Only" spending or are assigned to a cost center based on the user's organization membership. This depends on the product. For a detailed explanation, see [Cost center allocation for license-based products](#cost-center-allocation-for-license-based-products). ### Breakdown by product @@ -76,8 +76,6 @@ You can view the usage of your cost centers and download the usage data for furt You can view, edit, and delete cost centers to manage your business units effectively. -To add or remove members from a cost center, you can use the API. See [AUTOTITLE](/rest/enterprise-admin/billing). - {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.billing.enterprise-billing-menu %} 1. Click **Cost centers**. @@ -182,8 +180,7 @@ There are a few current limitations when working with cost centers and the API: * There is a maximum of 250 cost centers per enterprise. * You can add or remove up to 50 resources at a time from a cost center using the API. -* Azure subscriptions can only be added to or removed from cost centers via the UI. -* Users can only be added to or removed from cost centers via the API. +* Azure subscriptions can only be added to or removed from cost centers through the UI. ## Further reading diff --git a/content/copilot/concepts/about-mcp.md b/content/copilot/concepts/about-mcp.md index 1425d8dcb947..17309bfd656e 100644 --- a/content/copilot/concepts/about-mcp.md +++ b/content/copilot/concepts/about-mcp.md @@ -10,10 +10,7 @@ topics: contentType: concepts --- ->[!NOTE] -> * MCP support is generally available (GA) in {% data variables.copilot.copilot_chat_short %} for {% data variables.product.prodname_vscode %}. -> * MCP support for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vs %}, JetBrains, Eclipse, and Xcode is in {% data variables.release-phases.public_preview %} and is subject to change. -> * The [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) apply only to {% data variables.product.prodname_copilot_short %} in IDEs where MCP support is still in preview. GA terms apply when using MCP for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}. +{% data reusables.copilot.mcp-availability-and-preview-note %} ## Overview of Model Context Protocol (MCP) diff --git a/content/copilot/concepts/spaces.md b/content/copilot/concepts/spaces.md index a297fbe2d204..f6062299fa7a 100644 --- a/content/copilot/concepts/spaces.md +++ b/content/copilot/concepts/spaces.md @@ -15,7 +15,7 @@ contentType: concepts {% data reusables.copilot.copilot-spaces.preview-note %} -{% data variables.copilot.copilot_spaces %} let you organize the context that {% data variables.product.prodname_copilot_short %} uses to answer your questions. {% data variables.copilot.copilot_spaces_short %} can include code, pull requests, or issues from repositories, free-text content like transcripts or notes, images, and file uploads. You can ask {% data variables.product.prodname_copilot_short %} questions grounded in that context, or share the space with your team to support collaboration and knowledge sharing. +{% data variables.copilot.copilot_spaces %} let you organize the context that {% data variables.product.prodname_copilot_short %} uses to answer your questions. {% data variables.copilot.copilot_spaces_short %} can include repositories, code, pull requests, issues, free-text content like transcripts or notes, images, and file uploads. You can ask {% data variables.product.prodname_copilot_short %} questions grounded in that context, or share the space with your team to support collaboration and knowledge sharing. ## Why use {% data variables.copilot.copilot_spaces %}? @@ -38,7 +38,7 @@ With {% data variables.copilot.copilot_spaces %} you can: | -------------------- | --------------------------- | -------------------------------------------------------------- | | Who can create | Anyone with a {% data variables.product.prodname_copilot_short %} license | Organization owners | | Owned by | Organizations or individual users | Organizations | -| Content type | Files and directories from {% data variables.product.github %} repositories, pull requests and issues, uploaded files including images, text files, rich documents, and spreadsheets, and free-text content | Markdown files hosted in {% data variables.product.github %} | +| Content type | Entire {% data variables.product.github %} repositories, specific files, pull requests and issues, uploaded files including images, text files, rich documents, and spreadsheets, and free-text content | Markdown files hosted in {% data variables.product.github %} | | Context handling | Limited in size, which guarantees higher response quality given the focused selection | Unlimited, but that comes with reduced response quality | {% endrowheaders %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md index dcc83b99727a..a3cd9882a7fc 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md @@ -40,8 +40,7 @@ contentType: how-tos * Click **Models** 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. For each policy you want to configure, click the dropdown menu and select an enforcement option. -> [!NOTE] -> The **MCP servers in {% data variables.product.prodname_copilot_short %}** policy controls use where MCP server support is generally available (GA). In features where MCP support is in preview, for example {% data variables.product.prodname_copilot_short %} editors, availability is controlled by the **Editor preview features** policy. +{% data reusables.copilot.mcp-servers-policy-note %} ## Opting in to to previews or feedback diff --git a/content/copilot/how-tos/manage-and-track-spending/manage-company-spending.md b/content/copilot/how-tos/manage-and-track-spending/manage-company-spending.md index 231437c7b131..34b31fcc73bb 100644 --- a/content/copilot/how-tos/manage-and-track-spending/manage-company-spending.md +++ b/content/copilot/how-tos/manage-and-track-spending/manage-company-spending.md @@ -49,15 +49,7 @@ You can create cost centers to map spending to individual business units or grou For example, if you were running a pilot program for {% data variables.copilot.copilot_enterprise %} for a group of employees, you might want to create a cost center to track their spending and set a budget independently of the rest of the company. -### Create a cost center - -1. Go to your enterprise or organization account settings and click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & Licensing**. -1. In the left sidebar, click **Cost centers**, then click **New cost center**. -1. Create the cost center. You don't need to add any repositories or organizations, because you will add users to the cost center directly in the next step. - - >[!NOTE] As a priority, a cost center is charged for a {% data variables.product.prodname_copilot_short %} license if the assigned **user** has been added to the cost center directly. As a fallback, a cost center is charged for the license if the **organization where the user receives access** has been added to the cost center. - -1. After creating the cost center, use the REST API to add the users whose usage you want to track. See [AUTOTITLE](/enterprise-cloud@latest/rest/enterprise-admin/billing#add-users-to-a-cost-center). +For more information, see [AUTOTITLE](/billing/tutorials/use-cost-centers). ## Preventing overspending diff --git a/content/copilot/how-tos/provide-context/use-copilot-spaces/create-and-use-copilot-spaces.md b/content/copilot/how-tos/provide-context/use-copilot-spaces/create-and-use-copilot-spaces.md index f705e0dc7c58..0d48ee7c567b 100644 --- a/content/copilot/how-tos/provide-context/use-copilot-spaces/create-and-use-copilot-spaces.md +++ b/content/copilot/how-tos/provide-context/use-copilot-spaces/create-and-use-copilot-spaces.md @@ -40,12 +40,12 @@ You can add two types of context to your space: > You are a SQL generator. Your job is to take the sample queries and data schemas defined in the attached files and generate SQL queries based on the user's goals. -* **Attachments**: This context will be used to provide more relevant answers to your questions. Additionally, {% data variables.copilot.copilot_spaces_short %} will always refer to the latest version of the code on the `main` branch of the repository. +* **Sources**: This context will be used to provide more relevant answers to your questions. Additionally, {% data variables.copilot.copilot_spaces_short %} will always refer to the latest version of the code on the `main` branch of the repository. - To add attachments, click **{% octicon "plus" aria-hidden="true" aria-label="plus" %} Add** to the right of "Attachments", then choose one of the following options: + To add sources, click **{% octicon "plus" aria-hidden="true" aria-label="plus" %} Add sources**, then choose one of the following options: - * **{% octicon "file-code" aria-hidden="true" aria-label="file-code" %} Attach files and folders**: You can add files and folders from your {% data variables.product.github %} repositories. This includes code files, documentation, and other relevant content that can help {% data variables.product.prodname_copilot_short %} understand the context of your space. - * **{% octicon "link" aria-hidden="true" aria-label="link" %} Link pull requests and issues**: You can paste the URLs of the {% data variables.product.github %} issues and pull requests. + * **{% octicon "file-code" aria-hidden="true" aria-label="file-code" %} Add files and repositories**: You can add files, folders, and entire {% data variables.product.github %} repositories. When you add a repository, {% data variables.product.prodname_copilot_short %} searches its contents to find relevant information, but adding specific files or folders that are most relevant to your work will give you the best results. This can include code files, documentation, and other content that helps {% data variables.product.prodname_copilot_short %} understand the context of your space. + * **{% octicon "link" aria-hidden="true" aria-label="link" %} Link files, pull requests, and issues**: You can paste the URLs of the {% data variables.product.github %} content, including pull requests and issues. * **{% octicon "upload" aria-hidden="true" aria-label="upload" %} Upload a file**: You can upload files directly from your local machine. This includes images, text files, rich documents, and spreadsheets. * **{% octicon "paste" aria-hidden="true" aria-label="paste" %} Add text content**: You can type or paste free-text content, such as transcripts, notes, or any other relevant information that can help {% data variables.product.prodname_copilot_short %} understand the context of your space. diff --git a/content/copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp.md b/content/copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp.md index dd8bcfcc6abb..128ffceeb254 100644 --- a/content/copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp.md +++ b/content/copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp.md @@ -17,10 +17,7 @@ redirect_from: contentType: how-tos --- ->[!NOTE] -> * MCP support is generally available (GA) in {% data variables.copilot.copilot_chat_short %} for {% data variables.product.prodname_vscode %}. -> * MCP support for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vs %}, JetBrains, Eclipse, and Xcode is in {% data variables.release-phases.public_preview %} and is subject to change. -> * The [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) apply only to {% data variables.product.prodname_copilot_short %} in IDEs where MCP support is still in preview. GA terms apply when using MCP for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}. +{% data reusables.copilot.mcp-availability-and-preview-note %} ## Introduction @@ -28,15 +25,15 @@ The Model Context Protocol (MCP) is an open standard that defines how applicatio For information on currently available MCP servers, see [the MCP servers repository](https://github.com/modelcontextprotocol/servers/tree/main). -{% vscode %} - {% data reusables.copilot.mcp.mcp-policy %} +{% vscode %} + ## Prerequisites * **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %} * **{% data variables.product.prodname_vscode %} version 1.99 or later**. For information on installing {% data variables.product.prodname_vscode %}, see the [{% data variables.product.prodname_vscode %} download page](https://code.visualstudio.com/Download). -* If you are a member of an organization or enterprise with a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, the "MCP servers in Copilot" policy must be enabled in order to use MCP. +* {% data reusables.copilot.mcp-policy-requirement %} ## Configuring MCP servers in {% data variables.product.prodname_vscode %} @@ -132,17 +129,22 @@ If you already have an MCP configuration in Claude Desktop, you can use that con * **A compatible JetBrains IDE**. {% data variables.product.prodname_copilot %} is compatible with the following IDEs: {% data reusables.copilot.jetbrains-compatible-ides %} +* {% data reusables.copilot.mcp-policy-requirement %} ## Configuring MCP servers in JetBrains IDEs -1. In the lower right corner, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}**. -1. From the menu, select "Edit settings." -1. Under the MCP section, click "Edit in `mcp.json`." -1. Define your MCP servers. You can use the following configuration as an example: +{% data reusables.copilot.jetbrains-mcp-setup-steps %} +1. In the `mcp.json` file, define your MCP servers. JetBrains IDEs support both remote and local servers. Remote servers are hosted externally for easier setup and sharing, while local servers run on your local machine and can access local resources. - {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides %} +You can use the following configurations as examples: -Alternatively, to access the MCP settings, once you're in "Agent Mode," click the tools icon, then click **Add more tools**. +### Remote server configuration example with PAT + + {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-remote %} + +### Local server configuration example + + {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-local %} {% endjetbrains %} @@ -152,15 +154,22 @@ Alternatively, to access the MCP settings, once you're in "Agent Mode," click th * **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %} * **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/configuring-github-copilot/installing-the-github-copilot-extension-in-your-environment). +* {% data reusables.copilot.mcp-policy-requirement %} ## Configuring MCP servers in Xcode -1. Open the {% data variables.product.prodname_copilot %} for Xcode extension. -1. In agent mode, click the tools icon. -1. Select "Edit config." -1. Define your MCP servers, editing `mcp.json`. You can use the following configuration as an example: +{% data reusables.copilot.xcode-mcp-setup-steps %} +1. Define your MCP servers, editing `mcp.json`. Xcode supports both remote and local servers. Remote servers are hosted externally for easier setup and sharing, while local servers run on your local machine and can access local resources. + +You can use the following configurations as examples: - {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides %} +### Remote server configuration example with PAT + + {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-remote %} + +### Local server configuration example + + {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-local %} {% endxcode %} @@ -172,12 +181,18 @@ Alternatively, to access the MCP settings, once you're in "Agent Mode," click th ## Configuring MCP servers in Eclipse -1. To open the {% data variables.copilot.copilot_chat_short %} panel, click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse. -1. From the menu, select "Edit preferences." -1. In the left pane, expand {% data variables.copilot.copilot_chat_short %} and click **MCP**. -1. Define your MCP servers. You can use the following configuration as an example: +{% data reusables.copilot.eclipse-mcp-setup-steps %} +1. Under "Server Configurations", define your MCP servers. Eclipse supports both remote and local servers. Remote servers are hosted externally for easier setup and sharing, while local servers run on your local machine and can access local resources. + +You can use the following configurations as examples: + +### Remote server configuration example with PAT + + {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-remote %} + +### Local server configuration example - {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides %} + {% data reusables.copilot.mcp-chat-json-snippet-for-other-ides-local %} {% endeclipse %} diff --git a/content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md b/content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md index 7608b1e1a929..a26799333797 100644 --- a/content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md +++ b/content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md @@ -16,9 +16,10 @@ contentType: how-tos --- >[!NOTE] -> The remote {% data variables.product.github %} MCP server is currently in {% data variables.release-phases.public_preview %} and subject to change; use of the {% data variables.product.github %} MCP server locally is generally available (GA). -> -> While in {% data variables.release-phases.public_preview %}, access to the remote {% data variables.product.github %} MCP server through OAuth in {% data variables.product.prodname_copilot_short %} is governed by the {% data variables.product.prodname_copilot_short %} **Editor preview features** policy at the organization or enterprise level. PAT access to the server is managed by PAT policies. +> * The remote {% data variables.product.github %} MCP server is currently in {% data variables.release-phases.public_preview %} and subject to change; use of the {% data variables.product.github %} MCP server locally is generally available (GA). +> * MCP support is generally available (GA) in {% data variables.product.prodname_copilot_short %} for {% data variables.product.prodname_vscode %}, JetBrains, Eclipse, and Xcode. +> * The **MCP servers in {% data variables.product.prodname_copilot_short %}** policy for enterprises and organizations, disabled by default, controls use of MCP where MCP server support is generally available (GA). +> * While in {% data variables.release-phases.public_preview %}, access to the remote {% data variables.product.github %} MCP server through OAuth in {% data variables.product.prodname_copilot_short %} is governed by the {% data variables.product.prodname_copilot_short %} **Editor preview features** policy at the organization or enterprise level. PAT access to the server is managed by PAT policies. {% vscode %} @@ -28,6 +29,7 @@ contentType: how-tos * A {% data variables.product.github %} account. * {% data variables.product.prodname_vscode %}, or another MCP-compatible editor. +* {% data reusables.copilot.mcp-policy-requirement %} ## Setting up the {% data variables.product.github %} MCP server in {% data variables.product.prodname_vscode %} @@ -220,26 +222,37 @@ The {% data variables.product.github %} MCP server enables you to perform a wide {% data reusables.copilot.jetbrains-compatible-ides %} {% data reusables.copilot.jetbrains-plugin-prerequisites %} +* {% data reusables.copilot.mcp-policy-requirement %} ## Setting up the {% data variables.product.github %} MCP server in JetBrains IDEs The instructions below guide you through setting up the {% data variables.product.github %} MCP server in JetBrains IDEs. Other MCP-compatible editors may have similar steps, but the exact process may vary. -We recommend setting up the {% data variables.product.github %} MCP server remotely. JetBrains IDEs only support using a {% data variables.product.pat_generic %} (PAT) for authentication with the {% data variables.product.github %} MCP server. +We recommend setting up the {% data variables.product.github %} MCP server remotely. The remote {% data variables.product.github %} MCP server uses one-click OAuth authentication by default, but you can also manually configure it to use a {% data variables.product.pat_generic %} (PAT) for authentication. If you use OAuth, the MCP server will have the same access as your {% data variables.product.github %} account. If you use a PAT, the MCP server will have access to the scopes granted by the PAT. > [!NOTE] > If you are an {% data variables.product.prodname_emu %} with PAT restrictions, you won't be able to use PAT authentication. For information on setting up the {% data variables.product.github %} MCP server locally, see the [GitHub MCP server repository](https://github.com/github/github-mcp-server#usage-in-other-mcp-hosts-1). +### Remote MCP server configuration with OAuth + +You do not need to create a PAT or install any additional software to use the remote {% data variables.product.github %} MCP server with OAuth. You can set it up directly in JetBrains IDEs. + +{% data reusables.copilot.jetbrains-mcp-setup-steps %} +1. In the `mcp.json` file, add the following configuration: + + {% data reusables.copilot.github-mcp-oauth-config-other-ides %} + +1. In the "{% data variables.product.prodname_copilot %}" popup that says the "MCP server definition wants to authenticate to {% data variables.product.github %}, click **Allow**. +1. If you have not yet authorized the {% data variables.product.prodname_copilot %} plugin, in the browser popup, click **Continue** next to your personal account. + ### Remote MCP server configuration with PAT To configure the remote {% data variables.product.github %} MCP server with a PAT, ensure you have created a PAT with the necessary scopes for the access you want to grant to the MCP server. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). -1. In the lower right corner, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}**. -1. From the menu, select "Edit settings". -1. Under the MCP section, click "Edit in `mcp.json`". -1. Add the following configuration, replacing `YOUR_GITHUB_PAT` with the PAT you created: +{% data reusables.copilot.jetbrains-mcp-setup-steps %} +1. In the `mcp.json` file, add the following configuration, replacing `YOUR_GITHUB_PAT` with the PAT you created: ```json copy { @@ -282,25 +295,36 @@ The {% data variables.product.github %} MCP server enables you to perform a wide * **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %} * **{% data variables.product.prodname_copilot %} for Xcode extension**. See [AUTOTITLE](/copilot/configuring-github-copilot/installing-the-github-copilot-extension-in-your-environment). +* {% data reusables.copilot.mcp-policy-requirement %} ## Setting up the {% data variables.product.github %} MCP server in Xcode The instructions below guide you through setting up the {% data variables.product.github %} MCP server in Xcode. Other MCP-compatible editors may have similar steps, but the exact process may vary. -We recommend setting up the {% data variables.product.github %} MCP server remotely. Xcode only supports using a {% data variables.product.pat_generic %} (PAT) for authentication with the {% data variables.product.github %} MCP server. +We recommend setting up the {% data variables.product.github %} MCP server remotely. The remote {% data variables.product.github %} MCP server uses one-click OAuth authentication by default, but you can also manually configure it to use a {% data variables.product.pat_generic %} (PAT) for authentication. If you use OAuth, the MCP server will have the same access as your {% data variables.product.github %} account. If you use a PAT, the MCP server will have access to the scopes granted by the PAT. > [!NOTE] > If you are an {% data variables.product.prodname_emu %} with PAT restrictions, you won't be able to use PAT authentication. For information on setting up the {% data variables.product.github %} MCP server locally, see the [GitHub MCP server repository](https://github.com/github/github-mcp-server#usage-in-other-mcp-hosts-1). +### Remote MCP server configuration with OAuth + +You do not need to create a PAT or install any additional software to use the remote {% data variables.product.github %} MCP server with OAuth. You can set it up directly in Xcode. + +{% data reusables.copilot.xcode-mcp-setup-steps %} +1. Add the following configuration: + + {% data reusables.copilot.github-mcp-oauth-config-other-ides %} + +1. In the "{% data variables.product.prodname_copilot %}" popup that says the "MCP Server Definition wants to authenticate to {% data variables.product.github %}", click **Continue**. +1. If you have not yet authorized the {% data variables.product.prodname_copilot %} plugin, in the browser popup, click **Continue** next to your personal account. + ### Remote MCP server configuration with PAT To configure the remote {% data variables.product.github %} MCP server with a PAT, ensure you have created a PAT with the necessary scopes for the access you want to grant to the MCP server. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). -1. Open the {% data variables.product.prodname_copilot %} for Xcode extension. -1. In agent mode, click the tools icon. -1. Select "Edit config". +{% data reusables.copilot.xcode-mcp-setup-steps %} 1. Add the following configuration, replacing `YOUR_GITHUB_PAT` with the PAT you created: ```json copy @@ -348,21 +372,32 @@ The {% data variables.product.github %} MCP server enables you to perform a wide The instructions below guide you through setting up the {% data variables.product.github %} MCP server in Eclipse. Other MCP-compatible editors may have similar steps, but the exact process may vary. -We recommend setting up the {% data variables.product.github %} MCP server remotely. Eclipse only supports using a {% data variables.product.pat_generic %} (PAT) for authentication with the {% data variables.product.github %} MCP server. +We recommend setting up the {% data variables.product.github %} MCP server remotely. The remote {% data variables.product.github %} MCP server uses one-click OAuth authentication by default, but you can also manually configure it to use a {% data variables.product.pat_generic %} (PAT) for authentication. If you use OAuth, the MCP server will have the same access as your {% data variables.product.github %} account. If you use a PAT, the MCP server will have access to the scopes granted by the PAT. > [!NOTE] > If you are an {% data variables.product.prodname_emu %} with PAT restrictions, you won't be able to use PAT authentication. For information on setting up the {% data variables.product.github %} MCP server locally, see the [GitHub MCP server repository](https://github.com/github/github-mcp-server#usage-in-other-mcp-hosts-1). +### Remote MCP server configuration with OAuth + +You do not need to create a PAT or install any additional software to use the remote {% data variables.product.github %} MCP server with OAuth. You can set it up directly in Eclipse. + +{% data reusables.copilot.eclipse-mcp-setup-steps %} +1. Add the following configuration under "Server Configurations": + + {% data reusables.copilot.github-mcp-oauth-config-other-ides %} + +1. Click **Apply**. +1. In the "{% data variables.product.prodname_copilot %}" popup that says the "MCP Server Definition wants to authenticate to {% data variables.product.github %}", click **OK**. +1. If you have not yet authorized the {% data variables.product.prodname_copilot %} plugin, in the browser popup, click **Continue** next to your personal account. + ### Remote MCP server configuration with PAT To configure the remote {% data variables.product.github %} MCP server with a PAT, ensure you have created a PAT with the necessary scopes for the access you want to grant to the MCP server. For more information, see [AUTOTITLE](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). -1. To open the {% data variables.copilot.copilot_chat_short %} panel, click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse. -1. From the menu, select "Edit preferences". -1. In the left pane, expand {% data variables.product.prodname_copilot %} and click **MCP**. -1. Add the following configuration, replacing `YOUR_GITHUB_PAT` with the PAT you created: +{% data reusables.copilot.eclipse-mcp-setup-steps %} +1. Add the following configuration under "Server Configurations", replacing `YOUR_GITHUB_PAT` with the PAT you created: ```json copy { diff --git a/content/copilot/tutorials/enhance-agent-mode-with-mcp.md b/content/copilot/tutorials/enhance-agent-mode-with-mcp.md index da929e47d4bb..d2c681e8fb98 100644 --- a/content/copilot/tutorials/enhance-agent-mode-with-mcp.md +++ b/content/copilot/tutorials/enhance-agent-mode-with-mcp.md @@ -12,10 +12,7 @@ redirect_from: contentType: tutorials --- ->[!NOTE] -> * MCP support is generally available (GA) in {% data variables.copilot.copilot_chat_short %} for {% data variables.product.prodname_vscode %}. -> * MCP support for Copilot in {% data variables.product.prodname_vs %}, JetBrains, Eclipse, and Xcode is in {% data variables.release-phases.public_preview %} and is subject to change. -> * The [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) apply to your use of this product. +{% data reusables.copilot.mcp-availability-and-preview-note %} ## About {% data variables.product.prodname_copilot_short %}'s agentic capabilities and MCP diff --git a/content/get-started/writing-on-github/working-with-advanced-formatting/attaching-files.md b/content/get-started/writing-on-github/working-with-advanced-formatting/attaching-files.md index 974d0d736dec..4db93edfe82d 100644 --- a/content/get-started/writing-on-github/working-with-advanced-formatting/attaching-files.md +++ b/content/get-started/writing-on-github/working-with-advanced-formatting/attaching-files.md @@ -74,14 +74,61 @@ The following image and media file types are supported in all contexts. ### Additional file types -The following file types are supported when uploading to issue and pull request comments in repositories. +The following file types are supported for uploads in issue comments, pull request comments, and discussion comments within repositories. This list of file types is also supported in organization discussions. + +### Supported file types for uploads + +#### Documents * PDFs (`.pdf`) -* Microsoft Office documents (`.docx`, `.pptx`, `.xlsx`, `.xls`) +* Microsoft Office documents (`.docx`, `.pptx`, `.xlsx`, `.xls`, `.xlsm`) * OpenDocument formats (`.odt`, `.fodt`, `.ods`, `.fods`, `.odp`, `.fodp`, `.odg`, `.fodg`, `.odf`) -* Text and data files (`.txt`, `.csv`, `.log`, `.md`, `.json`, `.jsonc`) -* Archive files (`.zip`, `.gz`, `.tgz`) -* Development files (`.patch`, `.cpuprofile`, `.dmp`) +* Rich text and word processing files (`.rtf`, `.doc`) + +#### Text and data files + +* Plain text and markup (`.txt`, `.md`, `.copilotmd`) +* Data and tabular files (`.csv`, `.tsv`, `.log`, `.json`, `.jsonc`) + +#### Development and code files + +* Binary files (`.bin`) +* C files (`.c`) +* C# files (`.cs`) +* C++ files (`.cpp`) +* CSS files (`.css`) +* Diagrams (`.drawio`) +* Dump files (`.dmp`) +* HTML files (`.html`, `.htm`) +* Java files (`.java`) +* JavaScript files (`.js`) +* Jupyter notebooks (`.ipynb`) +* Patch files (`.patch`) +* PHP files (`.php`) +* Profiling files (`.cpuprofile`) +* Program database files (`.pdb`) +* Python files (`.py`) +* Shell scripts (`.sh`) +* SQL files (`.sql`) +* TypeScript files (`.ts`, `.tsx`) +* XML files (`.xml`) +* YAML files (`.yaml`, `.yml`) - > [!NOTE] - > If you use Linux and try to upload a `.patch` file, you will receive an error message. This is a known issue. +> [!NOTE] +> If you use Linux and try to upload a `.patch` file, you will receive an error message. This is a known issue. + +#### Archive and compressed files + +* Archives and packages (`.zip`, `.gz`, `.tgz`) + +#### Communication and logs + +* Text and email files (`.debug`, `.msg`, `.eml`) + +#### Images + +* Bitmap and TIFF images (`.bmp`, `.tif`, `.tiff`) + +#### Audio + +* Audio files (`.mp3`, `.wav`) diff --git a/data/reusables/apps/web-app-flow-exchange-code.md b/data/reusables/apps/web-app-flow-exchange-code.md index b5da9d3dcf52..b6d77d6f2034 100644 --- a/data/reusables/apps/web-app-flow-exchange-code.md +++ b/data/reusables/apps/web-app-flow-exchange-code.md @@ -6,5 +6,5 @@ `client_secret` | `string` | **Required.** The client secret for your {% data variables.product.prodname_github_app %}. You can generate a client secret on the settings page for your app. `code` | `string` | **Required.** The code you received in the previous step. `redirect_uri` | `string` | The URL in your application where users will be sent after authorization. This must be an exact match to one of the URLs you provided as a "Callback URL" when setting up your {% data variables.product.prodname_github_app %} and can't contain any additional parameters. -{% ifversion pkce_support %} `code_verifier` | `string` | Strongly recommended | Used to secure the authentication flow with PKCE (Proof Key for Code Exchange). Required if `code_challenge` was sent during the user authorization. Must be the original value used to generate the `code_challenge` in the authorization request. This can be stored in a cookie alongside the `state` parameter or in a session variable during authentication, depending on your application architecture.{% endif %} +{% ifversion pkce_support %} `code_verifier` | `string` | **Strongly recommended.** Used to secure the authentication flow with PKCE (Proof Key for Code Exchange). Required if `code_challenge` was sent during the user authorization. Must be the original value used to generate the `code_challenge` in the authorization request. This can be stored in a cookie alongside the `state` parameter or in a session variable during authentication, depending on your application architecture.{% endif %} `repository_id` | `string` | The ID of a single repository that the user access token can access. If the {% data variables.product.prodname_github_app %} or user cannot access the repository, this will be ignored. Use this parameter to restrict the access of the user access token further. diff --git a/data/reusables/billing/manage-payment-info.md b/data/reusables/billing/manage-payment-info.md new file mode 100644 index 000000000000..08e0d3cfb7aa --- /dev/null +++ b/data/reusables/billing/manage-payment-info.md @@ -0,0 +1,16 @@ +1. In the upper-right corner of any page on {% data variables.product.prodname_dotcom %}, click your profile picture. + +1. Select the account you want to view and then access the "Billing & Licensing" pages: + + * **Personal accounts**: Click **Settings**, then in the **Access** section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & Licensing**. + * **Organizations**: Click **Your organizations**, then next to the organization, click **Settings**. In the organization sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & Licensing**. + * For **enterprises**, click **Your enterprises**, then click the enterprise name. Click the **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & Licensing** tab at the top of the page. + +1. From the list of "Billing & licensing" pages, click **Payment information** to display full details of your payment method. + +1. To edit your payment method: + + * **Bank card or PayPal**: In "Payment method", click **Edit** to update your payment information. + * **Azure subscription**: Under "Azure subscription", click {% octicon "pencil" aria-label="Edit Azure Subscription" %} to edit your subscription or {% octicon "trash" aria-label="Delete Azure Subscription" %} to remove your subscription. See [AUTOTITLE](/billing/how-tos/set-up-payment/connect-azure-sub). + +>[!NOTE] You may see an authorization hold on your provided payment method once it's updated or after accruing significant usage of metered services. Authorization holds are temporary and are released as quickly as possible. diff --git a/data/reusables/copilot/eclipse-mcp-setup-steps.md b/data/reusables/copilot/eclipse-mcp-setup-steps.md new file mode 100644 index 000000000000..29161d20bb80 --- /dev/null +++ b/data/reusables/copilot/eclipse-mcp-setup-steps.md @@ -0,0 +1,3 @@ +1. Click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse. +1. From the menu, select **Open Chat** and, in the chat window, click the "Configure Tools..." icon. + * Alternatively, you can select **Edit preferences**, then in the left pane, expand {% data variables.product.prodname_copilot %} and click **MCP**. diff --git a/data/reusables/copilot/eclipse-prerequisites.md b/data/reusables/copilot/eclipse-prerequisites.md index 479bdf14aa3a..61213eca6406 100644 --- a/data/reusables/copilot/eclipse-prerequisites.md +++ b/data/reusables/copilot/eclipse-prerequisites.md @@ -1,2 +1,3 @@ * **Access to {% data variables.product.prodname_copilot_short %}**. {% data reusables.copilot.subscription-prerequisite %} * **Compatible version of Eclipse**. To use the {% data variables.product.prodname_copilot %} extension, you must have Eclipse version 2024-09 or above. See the [Eclipse download page](https://www.eclipse.org/downloads/packages/). +* If you are a member of an organization or enterprise with a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, the "MCP servers in Copilot" policy must be enabled in order to use MCP with {% data variables.product.prodname_copilot_short %}. diff --git a/data/reusables/copilot/github-mcp-oauth-config-other-ides.md b/data/reusables/copilot/github-mcp-oauth-config-other-ides.md new file mode 100644 index 000000000000..dfe069bd0c39 --- /dev/null +++ b/data/reusables/copilot/github-mcp-oauth-config-other-ides.md @@ -0,0 +1,10 @@ +```json copy +{ + "servers": { + "github": { + "type": "http", + "url": "https://api.githubcopilot.com/mcp/" + } + } +} +``` diff --git a/data/reusables/copilot/jetbrains-mcp-setup-steps.md b/data/reusables/copilot/jetbrains-mcp-setup-steps.md new file mode 100644 index 000000000000..80799f72105d --- /dev/null +++ b/data/reusables/copilot/jetbrains-mcp-setup-steps.md @@ -0,0 +1,3 @@ +1. In the lower right corner, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}**. +1. From the menu, select "Open Chat", make sure you are in Agent mode, then click the tools icon (called "Configure your MCP server") at the bottom of the chat window. +1. Click **Add MCP Tools**. diff --git a/data/reusables/copilot/mcp-availability-and-preview-note.md b/data/reusables/copilot/mcp-availability-and-preview-note.md new file mode 100644 index 000000000000..2e54d1204a4f --- /dev/null +++ b/data/reusables/copilot/mcp-availability-and-preview-note.md @@ -0,0 +1,5 @@ +>[!NOTE] +> +> * MCP support is generally available (GA) in {% data variables.product.prodname_copilot_short %} for {% data variables.product.prodname_vscode %}, JetBrains, Eclipse, and Xcode. +> * MCP support for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vs %} is in {% data variables.release-phases.public_preview %} and is subject to change. +> * The [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) apply only to {% data variables.product.prodname_copilot_short %} in IDEs where MCP support is still in preview. GA terms apply when using MCP for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}, JetBrains, Eclipse, and Xcode. diff --git a/data/reusables/copilot/mcp-availability-note.md b/data/reusables/copilot/mcp-availability-note.md new file mode 100644 index 000000000000..7974cae2155a --- /dev/null +++ b/data/reusables/copilot/mcp-availability-note.md @@ -0,0 +1,4 @@ +>[!NOTE] +> * MCP support is generally available (GA) in {% data variables.copilot.copilot_chat_short %} for {% data variables.product.prodname_vscode %}, JetBrains, Eclipse, and Xcode. +> * MCP support for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vs %} is in {% data variables.release-phases.public_preview %} and is subject to change. +> * The [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) apply only to {% data variables.product.prodname_copilot_short %} in IDEs where MCP support is still in preview. GA terms apply when using MCP for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}, JetBrains, Eclipse, and Xcode. diff --git a/data/reusables/copilot/mcp-chat-json-snippet-for-other-ides.md b/data/reusables/copilot/mcp-chat-json-snippet-for-other-ides-local.md similarity index 100% rename from data/reusables/copilot/mcp-chat-json-snippet-for-other-ides.md rename to data/reusables/copilot/mcp-chat-json-snippet-for-other-ides-local.md diff --git a/data/reusables/copilot/mcp-chat-json-snippet-for-other-ides-remote.md b/data/reusables/copilot/mcp-chat-json-snippet-for-other-ides-remote.md new file mode 100644 index 000000000000..c03df72a723e --- /dev/null +++ b/data/reusables/copilot/mcp-chat-json-snippet-for-other-ides-remote.md @@ -0,0 +1,14 @@ +```json copy +{ + "servers": { + "github": { + "url": "https://api.githubcopilot.com/mcp/", + "requestInit": { + "headers": { + "Authorization": "Bearer YOUR_PAT_HERE" + } + } + } + } + } +``` diff --git a/data/reusables/copilot/mcp-policy-requirement.md b/data/reusables/copilot/mcp-policy-requirement.md new file mode 100644 index 000000000000..f623d8e39469 --- /dev/null +++ b/data/reusables/copilot/mcp-policy-requirement.md @@ -0,0 +1 @@ +If you are a member of an organization or enterprise with a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, the "MCP servers in Copilot" policy must be enabled in order to use MCP with {% data variables.product.prodname_copilot_short %}. diff --git a/data/reusables/copilot/mcp-servers-policy-note.md b/data/reusables/copilot/mcp-servers-policy-note.md new file mode 100644 index 000000000000..4312fb84bf0f --- /dev/null +++ b/data/reusables/copilot/mcp-servers-policy-note.md @@ -0,0 +1,2 @@ +> [!NOTE] +> The **MCP servers in {% data variables.product.prodname_copilot_short %}** policy controls use where MCP server support is generally available (GA). In features where MCP support is in preview, for example {% data variables.product.prodname_copilot_short %} editors, availability is controlled by the **Editor preview features** policy. diff --git a/data/reusables/copilot/mcp/mcp-policy.md b/data/reusables/copilot/mcp/mcp-policy.md index 9f001db1569a..abd5da414041 100644 --- a/data/reusables/copilot/mcp/mcp-policy.md +++ b/data/reusables/copilot/mcp/mcp-policy.md @@ -1 +1,3 @@ -Enterprises and organizations can choose to enable or disable use of MCP for members of their organization or enterprise. See [AUTOTITLE](/copilot/how-tos/administer/enterprises/managing-policies-and-features-for-copilot-in-your-enterprise#mcp-servers-on-githubcom). The MCP policy **only** applies to users who have a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription from an organization or enterprise that configures the policy. {% data variables.copilot.copilot_free_short %}, {% data variables.copilot.copilot_pro_short %}, or {% data variables.copilot.copilot_pro_plus_short %} **do not** have their MCP access governed by this policy. +Enterprises and organizations can choose to enable or disable use of MCP for members of their organization or enterprise. The policy is disabled by default. See [AUTOTITLE](/copilot/how-tos/administer/enterprises/managing-policies-and-features-for-copilot-in-your-enterprise) and [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies). The MCP policy **only** applies to users who have a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription from an organization or enterprise that configures the policy. {% data variables.copilot.copilot_free_short %}, {% data variables.copilot.copilot_pro_short %}, or {% data variables.copilot.copilot_pro_plus_short %} **do not** have their MCP access governed by this policy. + +{% data reusables.copilot.mcp-servers-policy-note %} diff --git a/data/reusables/copilot/xcode-mcp-setup-steps.md b/data/reusables/copilot/xcode-mcp-setup-steps.md new file mode 100644 index 000000000000..cb4a63982e8c --- /dev/null +++ b/data/reusables/copilot/xcode-mcp-setup-steps.md @@ -0,0 +1,3 @@ +1. Open the {% data variables.product.prodname_copilot %} for Xcode extension and go to "Settings". + * Alternatively, in an active Xcode workspace, you can find the settings by clicking **Editor** in the menu bar, selecting **{% data variables.product.prodname_copilot %}**, then clicking **Open {% data variables.product.prodname_copilot %} for Xcode Settings**. +1. Select the **MCP** tab, then click **Edit Config**. diff --git a/src/audit-logs/data/fpt/organization.json b/src/audit-logs/data/fpt/organization.json index a52f0bed61f4..a4b2cc2f4a4e 100644 --- a/src/audit-logs/data/fpt/organization.json +++ b/src/audit-logs/data/fpt/organization.json @@ -1199,7 +1199,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_deleted", @@ -1223,7 +1223,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_updated", @@ -1247,7 +1247,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.plan_changed", diff --git a/src/audit-logs/data/ghec/enterprise.json b/src/audit-logs/data/ghec/enterprise.json index 1fd5168930ce..412feee4555b 100644 --- a/src/audit-logs/data/ghec/enterprise.json +++ b/src/audit-logs/data/ghec/enterprise.json @@ -4024,7 +4024,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_deleted", @@ -4048,7 +4048,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_updated", @@ -4072,7 +4072,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.plan_changed", diff --git a/src/audit-logs/data/ghec/organization.json b/src/audit-logs/data/ghec/organization.json index a52f0bed61f4..a4b2cc2f4a4e 100644 --- a/src/audit-logs/data/ghec/organization.json +++ b/src/audit-logs/data/ghec/organization.json @@ -1199,7 +1199,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_deleted", @@ -1223,7 +1223,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_updated", @@ -1247,7 +1247,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.plan_changed", diff --git a/src/audit-logs/data/ghes-3.14/organization.json b/src/audit-logs/data/ghes-3.14/organization.json index 00011b5e7e2a..7d04af529477 100644 --- a/src/audit-logs/data/ghes-3.14/organization.json +++ b/src/audit-logs/data/ghes-3.14/organization.json @@ -987,7 +987,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_deleted", @@ -1011,7 +1011,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_updated", @@ -1035,7 +1035,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.plan_changed", diff --git a/src/audit-logs/data/ghes-3.15/organization.json b/src/audit-logs/data/ghes-3.15/organization.json index c36875aa23cd..cd0d4e22edb0 100644 --- a/src/audit-logs/data/ghes-3.15/organization.json +++ b/src/audit-logs/data/ghes-3.15/organization.json @@ -970,7 +970,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_deleted", @@ -994,7 +994,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_updated", @@ -1018,7 +1018,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.plan_changed", diff --git a/src/audit-logs/data/ghes-3.16/organization.json b/src/audit-logs/data/ghes-3.16/organization.json index 980f3c1c8568..e061faf96dd4 100644 --- a/src/audit-logs/data/ghes-3.16/organization.json +++ b/src/audit-logs/data/ghes-3.16/organization.json @@ -1077,7 +1077,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_deleted", @@ -1101,7 +1101,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_updated", @@ -1125,7 +1125,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.plan_changed", diff --git a/src/audit-logs/data/ghes-3.17/organization.json b/src/audit-logs/data/ghes-3.17/organization.json index 3fa49b147ee1..9a187a452c72 100644 --- a/src/audit-logs/data/ghes-3.17/organization.json +++ b/src/audit-logs/data/ghes-3.17/organization.json @@ -1199,7 +1199,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_deleted", @@ -1223,7 +1223,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_updated", @@ -1247,7 +1247,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.plan_changed", diff --git a/src/audit-logs/data/ghes-3.18/organization.json b/src/audit-logs/data/ghes-3.18/organization.json index bebb3845dd6b..db63bbe2a581 100644 --- a/src/audit-logs/data/ghes-3.18/organization.json +++ b/src/audit-logs/data/ghes-3.18/organization.json @@ -1199,7 +1199,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_deleted", @@ -1223,7 +1223,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.knowledge_base_updated", @@ -1247,7 +1247,7 @@ "actor_is_bot", "request_access_security_header" ], - "docs_reference_titles": "Creating and managing Copilot knowledge bases" + "docs_reference_titles": "Creating and managing GitHub Copilot knowledge bases" }, { "action": "copilot.plan_changed", diff --git a/src/audit-logs/lib/config.json b/src/audit-logs/lib/config.json index 8a4523252c75..99429b221a80 100644 --- a/src/audit-logs/lib/config.json +++ b/src/audit-logs/lib/config.json @@ -9,5 +9,5 @@ "git": "Note: Git events have special access requirements and retention policies that differ from other audit log events. For GitHub Enterprise Cloud, access Git events via the REST API only with 7-day retention. For GitHub Enterprise Server, Git events must be enabled in audit log configuration and are not included in search results.", "sso_redirect": "Note: Automatically redirecting users to sign in is currently in beta for Enterprise Managed Users and subject to change." }, - "sha": "cf64dc674a26e5950075b354147da9219ace667d" + "sha": "19cd54f06382e76031a46d1d8373c57fb98181db" } \ No newline at end of file diff --git a/src/content-render/scripts/move-content.js b/src/content-render/scripts/move-content.js index aa49550b896e..bd63c9944fc4 100755 --- a/src/content-render/scripts/move-content.js +++ b/src/content-render/scripts/move-content.js @@ -505,8 +505,27 @@ function editFiles(files, updateParent, opts) { } } + // Add contentType frontmatter to moved files + if (files.length > 0) { + const filePaths = files.map(([oldPath, newPath, oldHref, newHref]) => newPath) + try { + const cmd = ['run', 'add-content-type', '--', '--paths', ...filePaths] + const result = execFileSync('npm', cmd, { cwd: process.cwd(), encoding: 'utf8' }) + if (result.trim()) { + console.log(result.trim()) + } + } catch (error) { + console.warn(`Warning: Failed to add contentType frontmatter: ${error.message}`) + } + } + if (useGit) { - const cmd = ['commit', '-a', '-m', `set ${REDIRECT_FROM_KEY} on ${files.length} files`] + const cmd = [ + 'commit', + '-a', + '-m', + `set ${REDIRECT_FROM_KEY} and contentType on ${files.length} files`, + ] execFileSync('git', cmd) if (verbose) { console.log(`git commit command: ${chalk.grey(cmd.join(' '))}`) diff --git a/src/graphql/data/fpt/changelog.json b/src/graphql/data/fpt/changelog.json index c0d4207c7b14..2e1f4dd63c7d 100644 --- a/src/graphql/data/fpt/changelog.json +++ b/src/graphql/data/fpt/changelog.json @@ -1,4 +1,28 @@ [ + { + "schemaChanges": [ + { + "title": "The GraphQL schema includes these changes:", + "changes": [ + "

Type BlockedByAddedEvent was added

", + "

Type BlockedByRemovedEvent was added

", + "

Type BlockingAddedEvent was added

", + "

Type BlockingRemovedEvent was added

", + "

Member BlockedByAddedEvent was added to Union type IssueTimelineItems

", + "

Member BlockedByRemovedEvent was added to Union type IssueTimelineItems

", + "

Member BlockingAddedEvent was added to Union type IssueTimelineItems

", + "

Member BlockingRemovedEvent was added to Union type IssueTimelineItems

", + "

Member BlockedByAddedEvent was added to Union type PullRequestTimelineItems

", + "

Member BlockedByRemovedEvent was added to Union type PullRequestTimelineItems

", + "

Member BlockingAddedEvent was added to Union type PullRequestTimelineItems

", + "

Member BlockingRemovedEvent was added to Union type PullRequestTimelineItems

" + ] + } + ], + "previewChanges": [], + "upcomingChanges": [], + "date": "2025-08-14" + }, { "schemaChanges": [ { diff --git a/src/graphql/data/fpt/schema.docs.graphql b/src/graphql/data/fpt/schema.docs.graphql index 6c14879ad962..0a20c21ba514 100644 --- a/src/graphql/data/fpt/schema.docs.graphql +++ b/src/graphql/data/fpt/schema.docs.graphql @@ -2403,6 +2403,106 @@ type Blob implements GitObject & Node { text: String } +""" +Represents a 'blocked_by_added' event on a given issue. +""" +type BlockedByAddedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + The blocking issue that was added. + """ + blockingIssue: Issue + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The Node ID of the BlockedByAddedEvent object + """ + id: ID! +} + +""" +Represents a 'blocked_by_removed' event on a given issue. +""" +type BlockedByRemovedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + The blocking issue that was removed. + """ + blockingIssue: Issue + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The Node ID of the BlockedByRemovedEvent object + """ + id: ID! +} + +""" +Represents a 'blocking_added' event on a given issue. +""" +type BlockingAddedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + The blocked issue that was added. + """ + blockedIssue: Issue + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The Node ID of the BlockingAddedEvent object + """ + id: ID! +} + +""" +Represents a 'blocking_removed' event on a given issue. +""" +type BlockingRemovedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + The blocked issue that was removed. + """ + blockedIssue: Issue + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The Node ID of the BlockingRemovedEvent object + """ + id: ID! +} + """ A special type of user which takes actions on behalf of GitHub Apps. """ @@ -20205,6 +20305,10 @@ An item in an issue timeline union IssueTimelineItems = AddedToProjectEvent | AssignedEvent + | BlockedByAddedEvent + | BlockedByRemovedEvent + | BlockingAddedEvent + | BlockingRemovedEvent | ClosedEvent | CommentDeletedEvent | ConnectedEvent @@ -42802,6 +42906,10 @@ union PullRequestTimelineItems = | BaseRefChangedEvent | BaseRefDeletedEvent | BaseRefForcePushedEvent + | BlockedByAddedEvent + | BlockedByRemovedEvent + | BlockingAddedEvent + | BlockingRemovedEvent | ClosedEvent | CommentDeletedEvent | ConnectedEvent diff --git a/src/graphql/data/fpt/schema.json b/src/graphql/data/fpt/schema.json index 7a6f98472a19..330b31b5e6fa 100644 --- a/src/graphql/data/fpt/schema.json +++ b/src/graphql/data/fpt/schema.json @@ -11533,6 +11533,198 @@ } ] }, + { + "name": "BlockedByAddedEvent", + "kind": "objects", + "id": "blockedbyaddedevent", + "href": "/graphql/reference/objects#blockedbyaddedevent", + "description": "

Represents ablocked_by_addedevent on a given issue.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "actor", + "description": "

Identifies the actor who performed the event.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "blockingIssue", + "description": "

The blocking issue that was added.

", + "type": "Issue", + "id": "issue", + "kind": "objects", + "href": "/graphql/reference/objects#issue" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "id", + "description": "

The Node ID of the BlockedByAddedEvent object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, + { + "name": "BlockedByRemovedEvent", + "kind": "objects", + "id": "blockedbyremovedevent", + "href": "/graphql/reference/objects#blockedbyremovedevent", + "description": "

Represents ablocked_by_removedevent on a given issue.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "actor", + "description": "

Identifies the actor who performed the event.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "blockingIssue", + "description": "

The blocking issue that was removed.

", + "type": "Issue", + "id": "issue", + "kind": "objects", + "href": "/graphql/reference/objects#issue" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "id", + "description": "

The Node ID of the BlockedByRemovedEvent object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, + { + "name": "BlockingAddedEvent", + "kind": "objects", + "id": "blockingaddedevent", + "href": "/graphql/reference/objects#blockingaddedevent", + "description": "

Represents ablocking_addedevent on a given issue.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "actor", + "description": "

Identifies the actor who performed the event.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "blockedIssue", + "description": "

The blocked issue that was added.

", + "type": "Issue", + "id": "issue", + "kind": "objects", + "href": "/graphql/reference/objects#issue" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "id", + "description": "

The Node ID of the BlockingAddedEvent object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, + { + "name": "BlockingRemovedEvent", + "kind": "objects", + "id": "blockingremovedevent", + "href": "/graphql/reference/objects#blockingremovedevent", + "description": "

Represents ablocking_removedevent on a given issue.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "actor", + "description": "

Identifies the actor who performed the event.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "blockedIssue", + "description": "

The blocked issue that was removed.

", + "type": "Issue", + "id": "issue", + "kind": "objects", + "href": "/graphql/reference/objects#issue" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "id", + "description": "

The Node ID of the BlockingRemovedEvent object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, { "name": "Bot", "kind": "objects", @@ -95401,6 +95593,26 @@ "id": "assignedevent", "href": "/graphql/reference/objects#assignedevent" }, + { + "name": "BlockedByAddedEvent", + "id": "blockedbyaddedevent", + "href": "/graphql/reference/objects#blockedbyaddedevent" + }, + { + "name": "BlockedByRemovedEvent", + "id": "blockedbyremovedevent", + "href": "/graphql/reference/objects#blockedbyremovedevent" + }, + { + "name": "BlockingAddedEvent", + "id": "blockingaddedevent", + "href": "/graphql/reference/objects#blockingaddedevent" + }, + { + "name": "BlockingRemovedEvent", + "id": "blockingremovedevent", + "href": "/graphql/reference/objects#blockingremovedevent" + }, { "name": "ClosedEvent", "id": "closedevent", @@ -96388,6 +96600,26 @@ "id": "baserefforcepushedevent", "href": "/graphql/reference/objects#baserefforcepushedevent" }, + { + "name": "BlockedByAddedEvent", + "id": "blockedbyaddedevent", + "href": "/graphql/reference/objects#blockedbyaddedevent" + }, + { + "name": "BlockedByRemovedEvent", + "id": "blockedbyremovedevent", + "href": "/graphql/reference/objects#blockedbyremovedevent" + }, + { + "name": "BlockingAddedEvent", + "id": "blockingaddedevent", + "href": "/graphql/reference/objects#blockingaddedevent" + }, + { + "name": "BlockingRemovedEvent", + "id": "blockingremovedevent", + "href": "/graphql/reference/objects#blockingremovedevent" + }, { "name": "ClosedEvent", "id": "closedevent", diff --git a/src/graphql/data/ghec/schema.docs.graphql b/src/graphql/data/ghec/schema.docs.graphql index 6c14879ad962..0a20c21ba514 100644 --- a/src/graphql/data/ghec/schema.docs.graphql +++ b/src/graphql/data/ghec/schema.docs.graphql @@ -2403,6 +2403,106 @@ type Blob implements GitObject & Node { text: String } +""" +Represents a 'blocked_by_added' event on a given issue. +""" +type BlockedByAddedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + The blocking issue that was added. + """ + blockingIssue: Issue + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The Node ID of the BlockedByAddedEvent object + """ + id: ID! +} + +""" +Represents a 'blocked_by_removed' event on a given issue. +""" +type BlockedByRemovedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + The blocking issue that was removed. + """ + blockingIssue: Issue + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The Node ID of the BlockedByRemovedEvent object + """ + id: ID! +} + +""" +Represents a 'blocking_added' event on a given issue. +""" +type BlockingAddedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + The blocked issue that was added. + """ + blockedIssue: Issue + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The Node ID of the BlockingAddedEvent object + """ + id: ID! +} + +""" +Represents a 'blocking_removed' event on a given issue. +""" +type BlockingRemovedEvent implements Node { + """ + Identifies the actor who performed the event. + """ + actor: Actor + + """ + The blocked issue that was removed. + """ + blockedIssue: Issue + + """ + Identifies the date and time when the object was created. + """ + createdAt: DateTime! + + """ + The Node ID of the BlockingRemovedEvent object + """ + id: ID! +} + """ A special type of user which takes actions on behalf of GitHub Apps. """ @@ -20205,6 +20305,10 @@ An item in an issue timeline union IssueTimelineItems = AddedToProjectEvent | AssignedEvent + | BlockedByAddedEvent + | BlockedByRemovedEvent + | BlockingAddedEvent + | BlockingRemovedEvent | ClosedEvent | CommentDeletedEvent | ConnectedEvent @@ -42802,6 +42906,10 @@ union PullRequestTimelineItems = | BaseRefChangedEvent | BaseRefDeletedEvent | BaseRefForcePushedEvent + | BlockedByAddedEvent + | BlockedByRemovedEvent + | BlockingAddedEvent + | BlockingRemovedEvent | ClosedEvent | CommentDeletedEvent | ConnectedEvent diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json index 7a6f98472a19..330b31b5e6fa 100644 --- a/src/graphql/data/ghec/schema.json +++ b/src/graphql/data/ghec/schema.json @@ -11533,6 +11533,198 @@ } ] }, + { + "name": "BlockedByAddedEvent", + "kind": "objects", + "id": "blockedbyaddedevent", + "href": "/graphql/reference/objects#blockedbyaddedevent", + "description": "

Represents ablocked_by_addedevent on a given issue.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "actor", + "description": "

Identifies the actor who performed the event.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "blockingIssue", + "description": "

The blocking issue that was added.

", + "type": "Issue", + "id": "issue", + "kind": "objects", + "href": "/graphql/reference/objects#issue" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "id", + "description": "

The Node ID of the BlockedByAddedEvent object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, + { + "name": "BlockedByRemovedEvent", + "kind": "objects", + "id": "blockedbyremovedevent", + "href": "/graphql/reference/objects#blockedbyremovedevent", + "description": "

Represents ablocked_by_removedevent on a given issue.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "actor", + "description": "

Identifies the actor who performed the event.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "blockingIssue", + "description": "

The blocking issue that was removed.

", + "type": "Issue", + "id": "issue", + "kind": "objects", + "href": "/graphql/reference/objects#issue" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "id", + "description": "

The Node ID of the BlockedByRemovedEvent object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, + { + "name": "BlockingAddedEvent", + "kind": "objects", + "id": "blockingaddedevent", + "href": "/graphql/reference/objects#blockingaddedevent", + "description": "

Represents ablocking_addedevent on a given issue.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "actor", + "description": "

Identifies the actor who performed the event.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "blockedIssue", + "description": "

The blocked issue that was added.

", + "type": "Issue", + "id": "issue", + "kind": "objects", + "href": "/graphql/reference/objects#issue" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "id", + "description": "

The Node ID of the BlockingAddedEvent object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, + { + "name": "BlockingRemovedEvent", + "kind": "objects", + "id": "blockingremovedevent", + "href": "/graphql/reference/objects#blockingremovedevent", + "description": "

Represents ablocking_removedevent on a given issue.

", + "implements": [ + { + "name": "Node", + "id": "node", + "href": "/graphql/reference/interfaces#node" + } + ], + "fields": [ + { + "name": "actor", + "description": "

Identifies the actor who performed the event.

", + "type": "Actor", + "id": "actor", + "kind": "interfaces", + "href": "/graphql/reference/interfaces#actor" + }, + { + "name": "blockedIssue", + "description": "

The blocked issue that was removed.

", + "type": "Issue", + "id": "issue", + "kind": "objects", + "href": "/graphql/reference/objects#issue" + }, + { + "name": "createdAt", + "description": "

Identifies the date and time when the object was created.

", + "type": "DateTime!", + "id": "datetime", + "kind": "scalars", + "href": "/graphql/reference/scalars#datetime" + }, + { + "name": "id", + "description": "

The Node ID of the BlockingRemovedEvent object.

", + "type": "ID!", + "id": "id", + "kind": "scalars", + "href": "/graphql/reference/scalars#id" + } + ] + }, { "name": "Bot", "kind": "objects", @@ -95401,6 +95593,26 @@ "id": "assignedevent", "href": "/graphql/reference/objects#assignedevent" }, + { + "name": "BlockedByAddedEvent", + "id": "blockedbyaddedevent", + "href": "/graphql/reference/objects#blockedbyaddedevent" + }, + { + "name": "BlockedByRemovedEvent", + "id": "blockedbyremovedevent", + "href": "/graphql/reference/objects#blockedbyremovedevent" + }, + { + "name": "BlockingAddedEvent", + "id": "blockingaddedevent", + "href": "/graphql/reference/objects#blockingaddedevent" + }, + { + "name": "BlockingRemovedEvent", + "id": "blockingremovedevent", + "href": "/graphql/reference/objects#blockingremovedevent" + }, { "name": "ClosedEvent", "id": "closedevent", @@ -96388,6 +96600,26 @@ "id": "baserefforcepushedevent", "href": "/graphql/reference/objects#baserefforcepushedevent" }, + { + "name": "BlockedByAddedEvent", + "id": "blockedbyaddedevent", + "href": "/graphql/reference/objects#blockedbyaddedevent" + }, + { + "name": "BlockedByRemovedEvent", + "id": "blockedbyremovedevent", + "href": "/graphql/reference/objects#blockedbyremovedevent" + }, + { + "name": "BlockingAddedEvent", + "id": "blockingaddedevent", + "href": "/graphql/reference/objects#blockingaddedevent" + }, + { + "name": "BlockingRemovedEvent", + "id": "blockingremovedevent", + "href": "/graphql/reference/objects#blockingremovedevent" + }, { "name": "ClosedEvent", "id": "closedevent",