Move Copilot variables from product.yml to copilot.yml (#55832)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hubwriter <54933897+hubwriter@users.noreply.github.com> Co-authored-by: hubwriter <hubwriter@github.com> Co-authored-by: felicitymay <1877141+felicitymay@users.noreply.github.com> Co-authored-by: Felix Guntrip <stevecat@github.com> Co-authored-by: Joe Clark <31087804+jc-clark@users.noreply.github.com> Co-authored-by: Ebonsignori <17055832+Ebonsignori@users.noreply.github.com>
This commit is contained in:
@@ -55,7 +55,7 @@ Hiring managers usually consider many applicants for each role. Expect that they
|
||||
|
||||
### Write a helpful README
|
||||
|
||||
The README for your project's repository is a perfect space to give a concise project overview. Use [{% data variables.product.prodname_copilot_chat_short %}](https://github.com/copilot) to help write your README, with a prompt like this:
|
||||
The README for your project's repository is a perfect space to give a concise project overview. Use [{% data variables.copilot.copilot_chat_short %}](https://github.com/copilot) to help write your README, with a prompt like this:
|
||||
|
||||
>Write a README for my lottery-number-generator repository.
|
||||
|
||||
|
||||
@@ -16,4 +16,4 @@ To open a chat about a failed workflow run, you can either:
|
||||
|
||||
This opens a chat window with {% data variables.product.prodname_copilot %}, where it will provide instructions to resolve the issue.
|
||||
|
||||
>[!NOTE] If you are on a {% data variables.product.prodname_copilot_free %} subscription, this will count towards your monthly chat message limit.
|
||||
>[!NOTE] If you are on a {% data variables.copilot.copilot_free %} subscription, this will count towards your monthly chat message limit.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: About enterprise accounts for Copilot Business
|
||||
intro: 'Learn about the options for creating an enterprise account to manage {% data variables.product.prodname_copilot_business_short %} licenses, without adopting {% data variables.product.prodname_enterprise %}.'
|
||||
intro: 'Learn about the options for creating an enterprise account to manage {% data variables.copilot.copilot_business_short %} licenses, without adopting {% data variables.product.prodname_enterprise %}.'
|
||||
versions:
|
||||
ghec: '*'
|
||||
topics:
|
||||
@@ -12,15 +12,15 @@ redirect_from:
|
||||
- /early-access/copilot/managing-copilot-business-licenses-with-an-enterprise-account
|
||||
---
|
||||
|
||||
You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
|
||||
>[!NOTE] Access to this feature is currently managed by {% data variables.contact.contact_enterprise_sales %}.
|
||||
|
||||
## What is an enterprise account for {% data variables.product.prodname_copilot_business_short %}?
|
||||
## What is an enterprise account for {% data variables.copilot.copilot_business_short %}?
|
||||
|
||||
To use {% data variables.product.prodname_copilot %}, a user must authenticate to an account on {% data variables.product.prodname_dotcom %} that has a license for {% data variables.product.prodname_copilot_short %}. Organizations and enterprises on {% data variables.product.prodname_dotcom %} can manage members' access to {% data variables.product.prodname_copilot_short %} through a {% data variables.product.prodname_copilot_business_short %} subscription.
|
||||
To use {% data variables.product.prodname_copilot %}, a user must authenticate to an account on {% data variables.product.prodname_dotcom %} that has a license for {% data variables.product.prodname_copilot_short %}. Organizations and enterprises on {% data variables.product.prodname_dotcom %} can manage members' access to {% data variables.product.prodname_copilot_short %} through a {% data variables.copilot.copilot_business_short %} subscription.
|
||||
|
||||
If you don't already manage users through an organization or enterprise, you can create an enterprise account specifically for allocating {% data variables.product.prodname_copilot_business_short %} licenses.
|
||||
If you don't already manage users through an organization or enterprise, you can create an enterprise account specifically for allocating {% data variables.copilot.copilot_business_short %} licenses.
|
||||
|
||||
* You'll only pay for the {% data variables.product.prodname_copilot_short %} licenses you assign. For pricing, see [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-business).
|
||||
* You won't pay for {% data variables.product.prodname_enterprise %} seats.
|
||||
@@ -37,7 +37,7 @@ How you will add users to your enterprise and manage license assignment depends
|
||||
If you request an enterprise with personal accounts:
|
||||
|
||||
* You'll **add users** to the enterprise by sending an invitation to their personal {% data variables.product.prodname_dotcom %} account.
|
||||
* You'll **create teams** in the enterprise to manage which users receive {% data variables.product.prodname_copilot_business_short %} licenses. You can manage membership of the teams on {% data variables.product.prodname_dotcom %} or with the REST API.
|
||||
* You'll **create teams** in the enterprise to manage which users receive {% data variables.copilot.copilot_business_short %} licenses. You can manage membership of the teams on {% data variables.product.prodname_dotcom %} or with the REST API.
|
||||
* When users receive a license, they can authenticate to {% data variables.product.prodname_dotcom %} from their development environment and **gain access** to {% data variables.product.prodname_copilot_short %}.
|
||||
* Optionally, you can configure **SAML single sign-on** (SSO), so that users must authenticate to an external identity system in addition to their personal account.
|
||||
|
||||
@@ -46,7 +46,7 @@ If you request an enterprise with personal accounts:
|
||||
If you request an {% data variables.enterprise.prodname_emu_enterprise %}:
|
||||
|
||||
* You'll **add users** to the enterprise by provisioning {% data variables.enterprise.prodname_managed_users %} from an identity provider (IdP), using SCIM.
|
||||
* You'll **create teams** in the enterprise to manage which users receive {% data variables.product.prodname_copilot_business_short %} licenses. You can manage membership of the teams from your IdP, on {% data variables.product.prodname_dotcom %}, or with the REST API.
|
||||
* You'll **create teams** in the enterprise to manage which users receive {% data variables.copilot.copilot_business_short %} licenses. You can manage membership of the teams from your IdP, on {% data variables.product.prodname_dotcom %}, or with the REST API.
|
||||
* When users receive a license, they can use single sign-on to authenticate to their {% data variables.product.prodname_dotcom %} account from their development environment and **gain access** to {% data variables.product.prodname_copilot_short %}.
|
||||
|
||||
## Limitations
|
||||
@@ -60,7 +60,7 @@ If you request an {% data variables.enterprise.prodname_emu_enterprise %}:
|
||||
|
||||
## Getting started
|
||||
|
||||
To get started, you will work with {% data variables.contact.contact_enterprise_sales %} to create an enterprise account, then add users to your enterprise and assign {% data variables.product.prodname_copilot_business_short %} licenses.
|
||||
To get started, you will work with {% data variables.contact.contact_enterprise_sales %} to create an enterprise account, then add users to your enterprise and assign {% data variables.copilot.copilot_business_short %} licenses.
|
||||
|
||||
See the setup guide for your chosen type of enterprise.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Using a dedicated enterprise account for Copilot Business
|
||||
intro: Get started with an enterprise account for managing {% data variables.product.prodname_copilot_business_short %} licenses.
|
||||
intro: Get started with an enterprise account for managing {% data variables.copilot.copilot_business_short %} licenses.
|
||||
versions:
|
||||
ghec: '*'
|
||||
children:
|
||||
|
||||
@@ -14,7 +14,7 @@ redirect_from:
|
||||
|
||||
---
|
||||
|
||||
You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
|
||||
This article describes the setup for an **enterprise with managed users**. If you haven't chosen an enterprise type, see [AUTOTITLE](/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business).
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ redirect_from:
|
||||
- /early-access/copilot/using-copilot-business-without-github-enterprise-personal-accounts
|
||||
---
|
||||
|
||||
You can use an enterprise account to manage licenses for {% data variables.product.prodname_copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
You can use an enterprise account to manage licenses for {% data variables.copilot.copilot_for_business %}, without adopting {% data variables.product.prodname_enterprise %}.
|
||||
|
||||
This article describes the setup for an **enterprise with personal accounts**. If you haven't chosen an enterprise type, see [AUTOTITLE](/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business).
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ Rate limits apply for requests to the REST API. See [AUTOTITLE](/rest/overview/r
|
||||
|
||||
### {% data variables.product.prodname_copilot %}
|
||||
|
||||
Your developers can access {% data variables.product.prodname_copilot %} if you grant them access to a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription. {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.product.prodname_copilot_individuals_short %}.
|
||||
Your developers can access {% data variables.product.prodname_copilot %} if you grant them access to a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription. {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.copilot.copilot_individuals_short %}.
|
||||
|
||||
* Users must perform some additional setup to authenticate to their account from their development environment. See [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/using-github-copilot-with-an-account-on-ghecom).
|
||||
* Certain {% data variables.product.prodname_copilot %} features are currently unavailable on {% data variables.enterprise.data_residency_site %}. See [AUTOTITLE](/admin/data-residency/feature-overview-for-github-enterprise-cloud-with-data-residency#currently-unavailable-features).
|
||||
|
||||
@@ -26,9 +26,9 @@ The following features are currently unavailable on {% data variables.enterprise
|
||||
| Maven and Gradle support for {% data variables.product.prodname_registry %} | Currently unavailable. | [AUTOTITLE](/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry) |
|
||||
| {% data variables.product.prodname_importer %} (the "Import repository" button on {% data variables.product.prodname_dotcom_the_website %}) | Instead, the **{% data variables.product.prodname_importer_proper_name %}** is available to migrate data. See [AUTOTITLE](/migrations/using-github-enterprise-importer/understanding-github-enterprise-importer/about-github-enterprise-importer). | [AUTOTITLE](/migrations/importing-source-code/using-github-importer/about-github-importer) |
|
||||
| {% data variables.product.prodname_copilot %} Workspaces | Currently unavailable | N/A |
|
||||
| {% data variables.product.prodname_copilot_extensions %} | Currently unavailable | [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat) |
|
||||
| {% data variables.copilot.copilot_extensions %} | Currently unavailable | [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat) |
|
||||
| {% data variables.product.prodname_copilot_short %} Metrics API | Currently unavailable | [AUTOTITLE](/rest/copilot/copilot-metrics) |
|
||||
| {% data variables.product.prodname_copilot_agent %} | Currently unavailable | [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot) |
|
||||
| {% data variables.copilot.copilot_coding_agent %} | Currently unavailable | [AUTOTITLE](/copilot/using-github-copilot/coding-agent/about-assigning-tasks-to-copilot) |
|
||||
| Restricting {% data variables.product.prodname_actions %} policies to verified creators | Currently unavailable | [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#allow-enterprise-and-select-non-enterprise-actions-and-reusable-workflows) |
|
||||
| Some features currently in {% data variables.release-phases.public_preview %} or {% data variables.release-phases.private_preview %} | Certain features that are in a preview phase on {% data variables.product.prodname_dotcom_the_website %} may not be available on {% data variables.enterprise.data_residency_site %} | |
|
||||
|
||||
|
||||
@@ -128,13 +128,13 @@ Across all of your enterprise's organizations, you can allow or disallow people
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
## Enforcing a policy to manage the use of {% data variables.product.prodname_copilot_autofix_short %} in your enterprise's repositories
|
||||
## Enforcing a policy to manage the use of {% data variables.copilot.copilot_autofix_short %} in your enterprise's repositories
|
||||
|
||||
Across all of your enterprise's organizations, you can allow or disallow people with admin access to repositories to manage where {% data variables.product.prodname_copilot_autofix_short %} is enabled. {% data variables.product.prodname_GH_code_security %} must be enabled for the organization for this policy to take effect.
|
||||
Across all of your enterprise's organizations, you can allow or disallow people with admin access to repositories to manage where {% data variables.copilot.copilot_autofix_short %} is enabled. {% data variables.product.prodname_GH_code_security %} must be enabled for the organization for this policy to take effect.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}
|
||||
1. In the "Policies" section, under "{% data variables.product.prodname_copilot_autofix_short %}", select the dropdown menu and click a policy.
|
||||
1. In the "Policies" section, under "{% data variables.copilot.copilot_autofix_short %}", select the dropdown menu and click a policy.
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Managing requests for Copilot Business from organizations in your enterprise
|
||||
intro: Learn how to view and satisfy requests to access Copilot from organizations owned by your enterprise.
|
||||
permissions: Enterprise owners
|
||||
product: Enterprise accounts with a subscription to {% data variables.product.prodname_copilot_for_business %}.
|
||||
product: Enterprise accounts with a subscription to {% data variables.copilot.copilot_for_business %}.
|
||||
versions:
|
||||
ghec: '*'
|
||||
type: how_to
|
||||
@@ -13,13 +13,13 @@ topics:
|
||||
shortTitle: Manage requests for Copilot
|
||||
---
|
||||
|
||||
Organization owners might not have the necessary permissions to satisfy requests from members. For example, if an organization owner is not an enterprise owner, and {% data variables.product.prodname_copilot_for_business %} is not enabled for that organization, they will not have the permissions to approve requests for {% data variables.product.prodname_copilot_for_business %}.
|
||||
Organization owners might not have the necessary permissions to satisfy requests from members. For example, if an organization owner is not an enterprise owner, and {% data variables.copilot.copilot_for_business %} is not enabled for that organization, they will not have the permissions to approve requests for {% data variables.copilot.copilot_for_business %}.
|
||||
|
||||
In these cases, when an organization member requests access to {% data variables.product.prodname_copilot_for_business %}, the organization owner will be prompted to ask the enterprise owners to enable {% data variables.product.prodname_copilot_short %} for the organization.
|
||||
In these cases, when an organization member requests access to {% data variables.copilot.copilot_for_business %}, the organization owner will be prompted to ask the enterprise owners to enable {% data variables.product.prodname_copilot_short %} for the organization.
|
||||
|
||||
As an enterprise owner, you can view or dismiss these requests from your notifications page. You can approve the request by enabling {% data variables.product.prodname_copilot_short %} for the organization.
|
||||
|
||||
## Approving requests for {% data variables.product.prodname_copilot_for_business %}
|
||||
## Approving requests for {% data variables.copilot.copilot_for_business %}
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
|
||||
@@ -50,7 +50,7 @@ With {% data variables.product.prodname_emus %}, you can control the user accoun
|
||||
|
||||
## {% data variables.product.prodname_copilot %}
|
||||
|
||||
* {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.product.prodname_copilot_pro %} or {% data variables.product.prodname_copilot_free %}. To allow a managed user to use {% data variables.product.prodname_copilot_short %}, you must grant the user access to a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} subscription. See [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot).
|
||||
* {% data variables.enterprise.prodname_managed_users_caps %} cannot sign up for {% data variables.copilot.copilot_pro %} or {% data variables.copilot.copilot_free %}. To allow a managed user to use {% data variables.product.prodname_copilot_short %}, you must grant the user access to a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription. See [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot).
|
||||
|
||||
## {% data variables.product.prodname_pages %}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ Administrators for the enterprise account can:
|
||||
* Configure security, such as single sign-on, IP allow lists, SSH certificate authorities, and two-factor authentication
|
||||
* Stream audit and Git events data
|
||||
* Use internal repositories
|
||||
* Access features like {% data variables.product.prodname_copilot_enterprise %} and {% data variables.product.prodname_AS %}{% ifversion ghas-products %} products{% endif %}
|
||||
* Access features like {% data variables.copilot.copilot_enterprise %} and {% data variables.product.prodname_AS %}{% ifversion ghas-products %} products{% endif %}
|
||||
* Enforce policies. See [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/about-enterprise-policies).
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
@@ -38,7 +38,7 @@ You'll **need help** creating an enterprise account if you require:
|
||||
* {% data variables.product.prodname_ghe_server %}
|
||||
* {% data variables.enterprise.data_residency %}
|
||||
* Invoicing
|
||||
* A dedicated enterprise for managing {% data variables.product.prodname_copilot_for_business %} licenses without adopting {% data variables.product.prodname_enterprise %}
|
||||
* A dedicated enterprise for managing {% data variables.copilot.copilot_for_business %} licenses without adopting {% data variables.product.prodname_enterprise %}
|
||||
|
||||
In these cases, contact {% data variables.contact.contact_enterprise_sales %}.
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ Your business can:
|
||||
* Additional features such as SAML authentication and internal repositories. For a detailed list, see {% data variables.product.pricing_link %}.
|
||||
* Extra allowances for usage-based products such as {% data variables.product.prodname_actions %}.
|
||||
* An enterprise account, which provides a single place to manage billing and settings, enforce policies, and audit the people with access to your enterprise.
|
||||
* The option to add {% ifversion ghas-products %}<!-- Enterprise is no longer a pre-requisite with the GHAS products release -->{% else %}{% data variables.product.prodname_GHAS %}, {% endif %}{% data variables.contact.premium_support %}, and {% data variables.product.prodname_copilot_enterprise %}.
|
||||
* The option to add {% ifversion ghas-products %}<!-- Enterprise is no longer a pre-requisite with the GHAS products release -->{% else %}{% data variables.product.prodname_GHAS %}, {% endif %}{% data variables.contact.premium_support %}, and {% data variables.copilot.copilot_enterprise %}.
|
||||
|
||||
When businesses adopt {% data variables.product.prodname_enterprise %}, their return on investment (ROI) is high. For example, their developers **save 45 minutes per day**, and onboarding and **training time is reduced by 40%**. See [The Total Economic Impact of {% data variables.product.prodname_enterprise %}](https://resources.github.com/forrester/).
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ To set up a trial, you must be signed in to a personal account. If you don't hav
|
||||
The trial lasts for **{% data reusables.enterprise.ghec-trial-length %} days** and includes the following features.
|
||||
|
||||
* Access to **most** {% data variables.product.prodname_ghe_cloud %} features.
|
||||
* {% data variables.product.prodname_copilot_for_business %} ({% data variables.product.prodname_dotcom_the_website %} trials only)
|
||||
* {% data variables.copilot.copilot_for_business %} ({% data variables.product.prodname_dotcom_the_website %} trials only)
|
||||
* {% data variables.product.prodname_GH_cs_and_sp %} ({% data variables.product.prodname_dotcom_the_website %} trials only)
|
||||
* Access to the **new billing platform**.{% ifversion enhanced-billing-platform %} See [AUTOTITLE](/billing/using-the-new-billing-platform/about-the-new-billing-platform-for-enterprises).{% endif %}
|
||||
* An **enterprise account**, which allows you to manage multiple organizations. See [AUTOTITLE](/enterprise-cloud@latest/get-started/learning-about-github/types-of-github-accounts).
|
||||
@@ -40,7 +40,7 @@ Your trial **won't** include access to {% data variables.product.prodname_ghe_se
|
||||
## Features not included in the trial
|
||||
|
||||
* {% data variables.product.prodname_github_codespaces %}
|
||||
* {% data variables.product.prodname_copilot_enterprise %}
|
||||
* {% data variables.copilot.copilot_enterprise %}
|
||||
* {% data variables.product.prodname_sponsors %}
|
||||
* Paid {% data variables.product.prodname_marketplace %} apps
|
||||
* {% data variables.product.prodname_github_connect %}
|
||||
@@ -51,7 +51,7 @@ If you invite an existing organization into your trial enterprise, **all of thes
|
||||
|
||||
## Do I need to provide a payment method?
|
||||
|
||||
You do not need to provide a payment method to start a trial. If you want to use {% data variables.product.prodname_copilot_business_short %} during the trial, you need to provide a credit card. You **won't** be charged for using {% data variables.product.prodname_copilot_business_short %} during the trial.
|
||||
You do not need to provide a payment method to start a trial. If you want to use {% data variables.copilot.copilot_business_short %} during the trial, you need to provide a credit card. You **won't** be charged for using {% data variables.copilot.copilot_business_short %} during the trial.
|
||||
|
||||
## During the trial
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ All listings should meet the following requirements, regardless of whether they
|
||||
* Listings must have a relevant description of the application.
|
||||
* Listings must specify a pricing plan.
|
||||
* Apps must provide value to customers and integrate with the platform in some way beyond authentication.
|
||||
* Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in {% data variables.release-phases.public_preview %} or available by invite only, with the exception of {% data variables.product.prodname_copilot_extensions_short %}.
|
||||
* Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in {% data variables.release-phases.public_preview %} or available by invite only, with the exception of {% data variables.copilot.copilot_extensions_short %}.
|
||||
* Apps must have webhook events set up to notify the publisher of any plan changes or cancellations using the {% data variables.product.prodname_marketplace %} API. For more information, see [AUTOTITLE](/apps/github-marketplace/using-the-github-marketplace-api-in-your-app).
|
||||
|
||||
For more information on providing a good customer experience, see [AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps).
|
||||
@@ -55,13 +55,13 @@ To protect your customers, we recommend that you also follow security best pract
|
||||
|
||||
{% data reusables.marketplace.free-apps-encouraged %}
|
||||
|
||||
## Requirements for {% data variables.product.prodname_copilot_extensions %}
|
||||
## Requirements for {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
{% data variables.product.prodname_copilot_extensions_short %} are essentially {% data variables.product.prodname_github_apps %} with additional read access to {% data variables.product.prodname_copilot_chat_short %}, integration with the {% data variables.product.prodname_copilot_short %} API, and optional integration into other LLMs.
|
||||
{% data variables.copilot.copilot_extensions_short %} are essentially {% data variables.product.prodname_github_apps %} with additional read access to {% data variables.copilot.copilot_chat_short %}, integration with the {% data variables.product.prodname_copilot_short %} API, and optional integration into other LLMs.
|
||||
|
||||
To publish an extension, it must be owned by an organization account with Verified Creator status. For more information about the verification process or transferring ownership of your app, see [AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization).
|
||||
|
||||
The requirements to publish a {% data variables.product.prodname_copilot_extension_short %} are the same as the requirements for free apps, with the following exceptions:
|
||||
The requirements to publish a {% data variables.copilot.copilot_extension_short %} are the same as the requirements for free apps, with the following exceptions:
|
||||
* Your extension must provide a clear and descriptive response to a prompt like "What can you do?" or "List your capabilities".
|
||||
* Your extension can be in {% data variables.release-phases.public_preview %} as long as that is clearly communicated in the listing description. If you are using a waitlist, you must also include a link to sign up at the top of the description. Someone from the {% data variables.product.github %} review team will join the waitlist and email your technical lead requesting access for testing.
|
||||
* You must include links to two videos that demonstrate the following:
|
||||
|
||||
@@ -44,11 +44,11 @@ If you're interested in creating an app for {% data variables.product.prodname_m
|
||||
|
||||
{% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_apps %} in {% data variables.product.prodname_marketplace %}. For more information, see [AUTOTITLE](/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps) and [AUTOTITLE](/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps).
|
||||
|
||||
### {% data variables.product.prodname_copilot_extensions %}
|
||||
### {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %}
|
||||
|
||||
To learn more about {% data variables.product.prodname_copilot_extensions_short %}, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions).
|
||||
To learn more about {% data variables.copilot.copilot_extensions_short %}, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions).
|
||||
|
||||
## Publishing an app to {% data variables.product.prodname_marketplace %} overview
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ The events listed in your security log are triggered by your actions. Actions ar
|
||||
| {% ifversion fpt or ghec %} |
|
||||
| `billing` | Contains all activities related to your billing information. |
|
||||
| `codespaces` | Contains all activities related to {% data variables.product.prodname_github_codespaces %}. For more information, see [AUTOTITLE](/codespaces/quickstart). |
|
||||
| `copilot` | Contains all activities related to {% data variables.product.prodname_copilot_business_short %}. For more information, see [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot). |
|
||||
| `copilot` | Contains all activities related to {% data variables.copilot.copilot_business_short %}. For more information, see [AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot). |
|
||||
| `marketplace_agreement_signature` | Contains all activities related to signing the {% data variables.product.prodname_marketplace %} Developer Agreement. |
|
||||
| `marketplace_listing`| Contains all activities related to listing apps in {% data variables.product.prodname_marketplace %}. |
|
||||
| {% endif %} |
|
||||
|
||||
@@ -12,24 +12,24 @@ redirect_from:
|
||||
|
||||
## {% data variables.product.prodname_copilot %} in your enterprise
|
||||
|
||||
Enterprises on {% data variables.product.prodname_ghe_cloud %} can subscribe to either {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %}, or a mixture of both across different organizations within an enterprise. Both plans are available on a monthly cycle, and pricing varies. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/about-billing-for-github-copilot-in-your-enterprise).
|
||||
Enterprises on {% data variables.product.prodname_ghe_cloud %} can subscribe to either {% data variables.copilot.copilot_for_business %} or {% data variables.copilot.copilot_enterprise %}, or a mixture of both across different organizations within an enterprise. Both plans are available on a monthly cycle, and pricing varies. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-the-copilot-subscription-for-your-enterprise/about-billing-for-github-copilot-in-your-enterprise).
|
||||
|
||||
## {% data variables.product.prodname_copilot %} in your organization
|
||||
|
||||
{% data variables.product.github %} bills {% data variables.product.prodname_copilot_business_short %} on a monthly cycle, for {% data variables.copilot.cfb_price_per_month %} per user per month. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization).
|
||||
{% data variables.product.github %} bills {% data variables.copilot.copilot_business_short %} on a monthly cycle, for {% data variables.copilot.cfb_price_per_month %} per user per month. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-the-copilot-subscription-for-your-organization/about-billing-for-github-copilot-in-your-organization).
|
||||
|
||||
## {% data variables.product.prodname_copilot %} as an individual
|
||||
|
||||
{% data variables.product.prodname_copilot_pro %} and {% data variables.product.prodname_copilot_pro_plus %} plans are available on a monthly or yearly cycle:
|
||||
{% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} plans are available on a monthly or yearly cycle:
|
||||
|
||||
* **{% data variables.product.prodname_copilot_pro_short %}**: {% data variables.copilot.cfi_price_per_month %} per calendar month or {% data variables.copilot.cfi_price_per_year %} per year.
|
||||
* **{% data variables.product.prodname_copilot_pro_plus_short %}**: {% data variables.copilot.cpp_price_per_month %} per calendar month or {% data variables.copilot.cpp_price_per_year %} per year.
|
||||
* **{% data variables.copilot.copilot_pro_short %}**: {% data variables.copilot.cfi_price_per_month %} per calendar month or {% data variables.copilot.cfi_price_per_year %} per year.
|
||||
* **{% data variables.copilot.copilot_pro_plus_short %}**: {% data variables.copilot.cpp_price_per_month %} per calendar month or {% data variables.copilot.cpp_price_per_year %} per year.
|
||||
|
||||
See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-subscription/about-billing-for-github-copilot-individual).
|
||||
|
||||
> [!NOTE] {% data reusables.copilot.copilot-one-account %}
|
||||
|
||||
If you want to try {% data variables.product.prodname_copilot_short %} before subscribing, you can use {% data variables.product.prodname_copilot_free %} for a limited experience. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/about-github-copilot-free).
|
||||
If you want to try {% data variables.product.prodname_copilot_short %} before subscribing, you can use {% data variables.copilot.copilot_free %} for a limited experience. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/about-github-copilot-free).
|
||||
|
||||
## Migrating between {% data variables.product.prodname_copilot_short %} plans
|
||||
|
||||
@@ -45,7 +45,7 @@ Some migrations cannot be completed through self-service options.
|
||||
|
||||
* **Non-enterprise to enterprise environment migrations**: When moving from standalone {% data variables.product.prodname_copilot_short %} plans to a {% data variables.product.prodname_enterprise %} environment, contact {% data variables.contact.contact_support_page %} or your account manager for assistance to avoid service interruption.
|
||||
|
||||
* **Changing between {% data variables.product.prodname_copilot_business_short %} and {% data variables.product.prodname_copilot_enterprise_short %}**: If you need to migrate between these plans within your enterprise and the option isn't available in your "Billing & Licensing" settings, contact {% data variables.contact.contact_support_page %} or your account manager for assistance.
|
||||
* **Changing between {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %}**: If you need to migrate between these plans within your enterprise and the option isn't available in your "Billing & Licensing" settings, contact {% data variables.contact.contact_support_page %} or your account manager for assistance.
|
||||
|
||||
## Allowance usage for {% data variables.copilot.copilot_coding_agent %}
|
||||
|
||||
@@ -63,7 +63,7 @@ When {% data variables.product.prodname_copilot_short %} works on coding tasks,
|
||||
|
||||
* **Premium requests** from your account's monthly allowance of premium {% data variables.product.prodname_copilot_short %} requests.
|
||||
|
||||
This allowance of free premium requests is shared with other {% data variables.product.prodname_copilot_short %} features, such as {% data variables.product.prodname_copilot_chat_short %}.
|
||||
This allowance of free premium requests is shared with other {% data variables.product.prodname_copilot_short %} features, such as {% data variables.copilot.copilot_chat_short %}.
|
||||
|
||||
When you use {% data variables.copilot.copilot_coding_agent %}, {% data variables.product.prodname_copilot_short %} may make multiple premium requests to complete a single task. This includes both user-initiated prompts and follow-up actions {% data variables.product.prodname_copilot_short %} takes on your behalf. The total premium requests used will depend on the complexity of the task and the number of steps involved. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/monitoring-usage-and-entitlements/avoiding-unexpected-copilot-costs).
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Managing billing for GitHub Copilot
|
||||
shortTitle: GitHub Copilot
|
||||
intro: '{% ifversion fpt %}You can set up a {% data variables.product.prodname_copilot %} subscription through your personal or organization account. You can modify or cancel your subscription at any time.{% endif %}{% ifversion ghec %}You can view your usage of {% data variables.product.prodname_copilot_for_business %}, and learn about how the costs are calculated.{% endif %}'
|
||||
intro: '{% ifversion fpt %}You can set up a {% data variables.product.prodname_copilot %} subscription through your personal or organization account. You can modify or cancel your subscription at any time.{% endif %}{% ifversion ghec %}You can view your usage of {% data variables.copilot.copilot_for_business %}, and learn about how the costs are calculated.{% endif %}'
|
||||
versions:
|
||||
feature: copilot
|
||||
redirect_from:
|
||||
|
||||
@@ -40,7 +40,7 @@ If you use {% data variables.product.prodname_ghe_cloud %} through a Microsoft E
|
||||
| {% data variables.product.prodname_github_codespaces %} usage | [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces) | [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces) |
|
||||
| {% data variables.product.prodname_actions %} usage beyond the amounts included with your plan | [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions) | [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#about-spending-limits) |
|
||||
| {% data variables.product.prodname_registry %} usage beyond the amounts included with your plan | [AUTOTITLE](/billing/managing-billing-for-github-packages/about-billing-for-github-packages) | [AUTOTITLE](/billing/managing-billing-for-github-packages/about-billing-for-github-packages#about-spending-limits) |
|
||||
| {% data variables.product.prodname_copilot_business_short %} usage | [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot-business-and-github-copilot-enterprise) | N/A |
|
||||
| {% data variables.copilot.copilot_business_short %} usage | [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot-business-and-github-copilot-enterprise) | N/A |
|
||||
| {% data variables.product.prodname_AS %} usage (only available with a trial of {% data variables.product.prodname_ghe_cloud %}) | [AUTOTITLE](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#usage-based-billing-for-github-advanced-security) | N/A |
|
||||
| {% data variables.product.prodname_enterprise %} usage | [AUTOTITLE](/billing/managing-your-billing/about-billing-for-your-enterprise) | N/A |
|
||||
|
||||
@@ -50,7 +50,7 @@ If you use {% data variables.product.prodname_ghe_cloud %} through a Microsoft E
|
||||
|
||||
If you link your {% data variables.product.company_short %} account to Azure, any usage-based costs starting from that point will be billed through Azure and charged on the 1st of each month. However, remaining {% data variables.product.company_short %} charges, for example charges for your {% data variables.product.prodname_dotcom %} plan, will still be billed on your usual billing date.
|
||||
|
||||
For example, you link your Azure subscription to your organization {% ifversion ghec %}or enterprise{% endif %} account on June 16th and you also have a {% data variables.product.prodname_copilot_for_business %} subscription. From that date onwards, any usage costs for {% data variables.product.prodname_copilot_business_short %} will be included in your Azure bill and charged on July 1st. However, any charges incurred before June 16th for {% data variables.product.prodname_copilot_business_short %} will be billed separately through {% data variables.product.company_short %} on your account's usual billing date.
|
||||
For example, you link your Azure subscription to your organization {% ifversion ghec %}or enterprise{% endif %} account on June 16th and you also have a {% data variables.copilot.copilot_for_business %} subscription. From that date onwards, any usage costs for {% data variables.copilot.copilot_business_short %} will be included in your Azure bill and charged on July 1st. However, any charges incurred before June 16th for {% data variables.copilot.copilot_business_short %} will be billed separately through {% data variables.product.company_short %} on your account's usual billing date.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ For {% data variables.product.prodname_code_scanning %} alerts from {% data vari
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ This article explains a high-level process focusing on enabling {% data variable
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_secret_scanning %} alerts in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.copilot_chat %} for help to better understand {% data variables.product.prodname_secret_scanning %} alerts in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ If {% data variables.product.prodname_code_scanning %} finds a potential vulnera
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_code_scanning %} analysis in private repositories, allowing developers to prevent and reduce vulnerabilities with less effort. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_code_scanning %} analysis in private repositories, allowing developers to prevent and reduce vulnerabilities with less effort. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -26,13 +26,13 @@ By default, {% data variables.product.prodname_code_scanning %} analyzes your co
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
You can use {% data variables.product.prodname_copilot_autofix %} to generate fixes automatically for {% data variables.product.prodname_code_scanning %} alerts, including {% data variables.product.prodname_codeql %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/resolving-code-scanning-alerts#generating-suggested-fixes-for-code-scanning-alerts).
|
||||
You can use {% data variables.copilot.copilot_autofix %} to generate fixes automatically for {% data variables.product.prodname_code_scanning %} alerts, including {% data variables.product.prodname_codeql %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/resolving-code-scanning-alerts#generating-suggested-fixes-for-code-scanning-alerts).
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -45,9 +45,9 @@ For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_code_scanning %} alerts
|
||||
## Asking {% data variables.copilot.copilot_chat %} about {% data variables.product.prodname_code_scanning %} alerts
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can ask {% data variables.product.prodname_copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_code_scanning %} alerts, in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can ask {% data variables.copilot.copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_code_scanning %} alerts, in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ In addition to the benefit of removing an important security problem from your o
|
||||
* You have a campaign manager on the security team to collaborate with and a specific contact link for discussing campaign activities.
|
||||
* You know that you are fixing a security alert that is important to the company.
|
||||
* Potentially, you may have access to targeted training materials.{% ifversion security-campaigns-autofix %}
|
||||
* You don't need to request a {% data variables.product.prodname_copilot_autofix %} suggestion, it is already available as a starting point.{% endif %}{% ifversion copilot %}
|
||||
* If you have access to {% data variables.product.prodname_copilot_chat %}, you can ask questions about the alert and the suggested fix.{% endif %}
|
||||
* You don't need to request a {% data variables.copilot.copilot_autofix %} suggestion, it is already available as a starting point.{% endif %}{% ifversion copilot %}
|
||||
* If you have access to {% data variables.copilot.copilot_chat %}, you can ask questions about the alert and the suggested fix.{% endif %}
|
||||
* You are improving and demonstrating your knowledge of secure coding.
|
||||
|
||||
Adopting a few key best practices can help you participate successfully in a campaign.
|
||||
@@ -82,17 +82,17 @@ When fixing security alerts as part of a campaign, it may be helpful to group an
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
### {% data variables.product.prodname_copilot_autofix_short %}
|
||||
### {% data variables.copilot.copilot_autofix_short %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} is automatically triggered for alerts that are included in a campaign, meaning that where possible, fixes are automatically generated for you. You can commit the suggested fix to resolve the alert and then verify that continuous integration testing (CI) for the codebase is still passing. See [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign).
|
||||
{% data variables.copilot.copilot_autofix_short %} is automatically triggered for alerts that are included in a campaign, meaning that where possible, fixes are automatically generated for you. You can commit the suggested fix to resolve the alert and then verify that continuous integration testing (CI) for the codebase is still passing. See [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/fixing-alerts-in-security-campaign).
|
||||
|
||||
### {% data variables.product.prodname_copilot_chat_short %}
|
||||
### {% data variables.copilot.copilot_chat_short %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
You can ask {% data variables.product.prodname_copilot_chat_short %} for help in understanding the vulnerability, the suggested fix, and how to test that the fix is comprehensive. To access {% data variables.product.prodname_copilot_chat_short %}, navigate to https://github.com/copilot.
|
||||
You can ask {% data variables.copilot.copilot_chat_short %} for help in understanding the vulnerability, the suggested fix, and how to test that the fix is comprehensive. To access {% data variables.copilot.copilot_chat_short %}, navigate to https://github.com/copilot.
|
||||
|
||||
Alternatively, when viewing a specific alert, in the top right corner of the page, click the {% data variables.product.prodname_copilot_chat_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) to open a chat window, and ask {% data variables.product.prodname_copilot_short %} questions about the alert.
|
||||
Alternatively, when viewing a specific alert, in the top right corner of the page, click the {% data variables.copilot.copilot_chat_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) to open a chat window, and ask {% data variables.product.prodname_copilot_short %} questions about the alert.
|
||||
|
||||
For example:
|
||||
|
||||
@@ -102,7 +102,7 @@ For example:
|
||||
|
||||
```
|
||||
|
||||
If you don't already have access to {% data variables.product.prodname_copilot_chat_short %} through your organization{% ifversion ghec %} or enterprise{% endif %}, you can sign up to {% data variables.product.prodname_copilot_free %}. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-copilot-free/accessing-github-copilot-free).
|
||||
If you don't already have access to {% data variables.copilot.copilot_chat_short %} through your organization{% ifversion ghec %} or enterprise{% endif %}, you can sign up to {% data variables.copilot.copilot_free %}. For more information, see [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-copilot-free/accessing-github-copilot-free).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Disabling Copilot Autofix for code scanning
|
||||
shortTitle: Disable Copilot Autofix
|
||||
allowTitleToDifferFromFilename: true
|
||||
intro: You can choose to disallow {% data variables.product.prodname_copilot_autofix %} for an enterprise or disable {% data variables.product.prodname_copilot_autofix %} at the organization and repository level.
|
||||
intro: You can choose to disallow {% data variables.copilot.copilot_autofix %} for an enterprise or disable {% data variables.copilot.copilot_autofix %} at the organization and repository level.
|
||||
product: '{% data reusables.rai.code-scanning.gated-feature-autofix %}'
|
||||
versions:
|
||||
feature: code-scanning-autofix
|
||||
@@ -14,47 +14,47 @@ topics:
|
||||
- AI
|
||||
---
|
||||
|
||||
## About disabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}
|
||||
## About disabling {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is a {% data variables.product.prodname_copilot %}-powered expansion of {% data variables.product.prodname_code_scanning %}. It provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts) so they can avoid introducing new security vulnerabilities. To learn more about {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix %} is a {% data variables.product.prodname_copilot %}-powered expansion of {% data variables.product.prodname_code_scanning %}. It provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts) so they can avoid introducing new security vulnerabilities. To learn more about {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
{% data reusables.rai.code-scanning.copilot-autofix-note %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} is allowed by default and enabled for every repository that uses {% data variables.product.prodname_codeql %}, regardless of whether it uses default or advanced setup for {% data variables.product.prodname_code_scanning %}. Administrators at the enterprise, organization and repository levels can choose to opt out and disable {% data variables.product.prodname_copilot_autofix_short %}.
|
||||
{% data variables.copilot.copilot_autofix_short %} is allowed by default and enabled for every repository that uses {% data variables.product.prodname_codeql %}, regardless of whether it uses default or advanced setup for {% data variables.product.prodname_code_scanning %}. Administrators at the enterprise, organization and repository levels can choose to opt out and disable {% data variables.copilot.copilot_autofix_short %}.
|
||||
|
||||
Note that disabling {% data variables.product.prodname_copilot_autofix_short %} at any level will close all open {% data variables.product.prodname_copilot_autofix_short %} comments. If {% data variables.product.prodname_copilot_autofix_short %} is disabled and then subsequently enabled, {% data variables.product.prodname_copilot_autofix_short %} won't automatically suggest fixes for any pull requests that are already open. The suggestions will only be generated for any pull requests that are opened after {% data variables.product.prodname_copilot_autofix_short %} is enabled, or after re-running {% data variables.product.prodname_code_scanning %} analysis on existing pull requests.
|
||||
Note that disabling {% data variables.copilot.copilot_autofix_short %} at any level will close all open {% data variables.copilot.copilot_autofix_short %} comments. If {% data variables.copilot.copilot_autofix_short %} is disabled and then subsequently enabled, {% data variables.copilot.copilot_autofix_short %} won't automatically suggest fixes for any pull requests that are already open. The suggestions will only be generated for any pull requests that are opened after {% data variables.copilot.copilot_autofix_short %} is enabled, or after re-running {% data variables.product.prodname_code_scanning %} analysis on existing pull requests.
|
||||
|
||||
## Blocking use of {% data variables.product.prodname_copilot_autofix_short %} for an enterprise
|
||||
## Blocking use of {% data variables.copilot.copilot_autofix_short %} for an enterprise
|
||||
|
||||
Enterprise administrators can disallow {% data variables.product.prodname_copilot_autofix_short %} for their enterprise. If you disallow {% data variables.product.prodname_copilot_autofix_short %} for an enterprise, {% data variables.product.prodname_copilot_autofix_short %} cannot be enabled for any organizations or repositories within the enterprise.
|
||||
Enterprise administrators can disallow {% data variables.copilot.copilot_autofix_short %} for their enterprise. If you disallow {% data variables.copilot.copilot_autofix_short %} for an enterprise, {% data variables.copilot.copilot_autofix_short %} cannot be enabled for any organizations or repositories within the enterprise.
|
||||
|
||||
Note that allowing {% data variables.product.prodname_copilot_autofix_short %} for an enterprise does not enforce enablement of {% data variables.product.prodname_copilot_autofix_short %}, but means that organization and repository administrators will have the option to enable or disable {% data variables.product.prodname_copilot_autofix_short %}.
|
||||
Note that allowing {% data variables.copilot.copilot_autofix_short %} for an enterprise does not enforce enablement of {% data variables.copilot.copilot_autofix_short %}, but means that organization and repository administrators will have the option to enable or disable {% data variables.copilot.copilot_autofix_short %}.
|
||||
|
||||
Disallowing {% data variables.product.prodname_copilot_autofix_short %} at the enterprise level will remove all open {% data variables.product.prodname_copilot_autofix_short %} comments across all repositories of all organizations within the enterprise.
|
||||
Disallowing {% data variables.copilot.copilot_autofix_short %} at the enterprise level will remove all open {% data variables.copilot.copilot_autofix_short %} comments across all repositories of all organizations within the enterprise.
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.code-security-and-analysis-policies %}
|
||||
1. Under "{% data variables.product.prodname_copilot_autofix_short %}", use the dropdown menu to choose "Not allowed."
|
||||
1. Under "{% data variables.copilot.copilot_autofix_short %}", use the dropdown menu to choose "Not allowed."
|
||||
|
||||
## Disabling {% data variables.product.prodname_copilot_autofix_short %} for an organization
|
||||
## Disabling {% data variables.copilot.copilot_autofix_short %} for an organization
|
||||
|
||||
If {% data variables.product.prodname_copilot_autofix_short %} is allowed at the enterprise level, organization administrators have the option to disable {% data variables.product.prodname_copilot_autofix_short %} for an organization. If you disable {% data variables.product.prodname_copilot_autofix_short %} for an organization, {% data variables.product.prodname_copilot_autofix_short %} cannot be enabled for any repositories within the organization.
|
||||
If {% data variables.copilot.copilot_autofix_short %} is allowed at the enterprise level, organization administrators have the option to disable {% data variables.copilot.copilot_autofix_short %} for an organization. If you disable {% data variables.copilot.copilot_autofix_short %} for an organization, {% data variables.copilot.copilot_autofix_short %} cannot be enabled for any repositories within the organization.
|
||||
|
||||
Note that disabling {% data variables.product.prodname_copilot_autofix_short %} at the organization level will remove all open {% data variables.product.prodname_copilot_autofix_short %} comments across all repositories in the organization.
|
||||
Note that disabling {% data variables.copilot.copilot_autofix_short %} at the organization level will remove all open {% data variables.copilot.copilot_autofix_short %} comments across all repositories in the organization.
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.profile.org_settings %}
|
||||
{% data reusables.security-configurations.display-global-settings %}
|
||||
1. Under the "{% data variables.product.prodname_code_scanning_caps %}" section, deselect **{% data variables.product.prodname_copilot_autofix_short %}** or **{% data variables.product.prodname_copilot_autofix_short %} for third-party tools**.
|
||||
1. Under the "{% data variables.product.prodname_code_scanning_caps %}" section, deselect **{% data variables.copilot.copilot_autofix_short %}** or **{% data variables.copilot.copilot_autofix_short %} for third-party tools**.
|
||||
|
||||
For more information about configuring global {% data variables.product.prodname_code_scanning %} settings, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization#configuring-global-code-scanning-settings).
|
||||
|
||||
## Disabling {% data variables.product.prodname_copilot_autofix_short %} for a repository
|
||||
## Disabling {% data variables.copilot.copilot_autofix_short %} for a repository
|
||||
|
||||
If {% data variables.product.prodname_copilot_autofix_short %} is allowed at the enterprise level and enabled at the organization level, repository administrators have the option to disable {% data variables.product.prodname_copilot_autofix_short %} for a repository. Disabling {% data variables.product.prodname_copilot_autofix_short %} at the repository level will remove all open {% data variables.product.prodname_copilot_autofix_short %} comments across the repository.
|
||||
If {% data variables.copilot.copilot_autofix_short %} is allowed at the enterprise level and enabled at the organization level, repository administrators have the option to disable {% data variables.copilot.copilot_autofix_short %} for a repository. Disabling {% data variables.copilot.copilot_autofix_short %} at the repository level will remove all open {% data variables.copilot.copilot_autofix_short %} comments across the repository.
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.repositories.navigate-to-code-security-and-analysis %}
|
||||
1. In the "{% data variables.product.UI_code_security_scanning %}" section, deselect **{% data variables.product.prodname_copilot_autofix_short %}** or **{% data variables.product.prodname_copilot_autofix_short %} for third-party tools**.
|
||||
1. In the "{% data variables.product.UI_code_security_scanning %}" section, deselect **{% data variables.copilot.copilot_autofix_short %}** or **{% data variables.copilot.copilot_autofix_short %} for third-party tools**.
|
||||
|
||||
@@ -47,9 +47,9 @@ If you want to see the code that triggered the security alert and the suggested
|
||||
|
||||
{% ifversion copilot %}
|
||||
|
||||
## Using {% data variables.product.prodname_copilot_chat %} for secure coding
|
||||
## Using {% data variables.copilot.copilot_chat %} for secure coding
|
||||
|
||||
If you have access to {% data variables.product.prodname_copilot_chat_short %} then you can ask the AI questions about the vulnerability, the suggested fix, and how to test that the fix is comprehensive.
|
||||
If you have access to {% data variables.copilot.copilot_chat_short %} then you can ask the AI questions about the vulnerability, the suggested fix, and how to test that the fix is comprehensive.
|
||||
|
||||
> [!TIP]
|
||||
> {% data reusables.copilot.semantic-index-info %}
|
||||
|
||||
@@ -26,9 +26,9 @@ topics:
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_code_scanning %} alerts
|
||||
## Asking {% data variables.copilot.copilot_chat %} about {% data variables.product.prodname_code_scanning %} alerts
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can ask {% data variables.product.prodname_copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_code_scanning %} alerts, in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can ask {% data variables.copilot.copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_code_scanning %} alerts, in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -36,7 +36,7 @@ With a {% data variables.product.prodname_copilot_enterprise %} license, you can
|
||||
|
||||
## Generating suggested fixes for {% data variables.product.prodname_code_scanning %} alerts
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} can generate fixes for alerts identified by {% data variables.product.prodname_code_scanning %} analysis. Most {% data variables.product.prodname_codeql %} alert types are supported and also some alerts from third-party tools. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix %} can generate fixes for alerts identified by {% data variables.product.prodname_code_scanning %} analysis. Most {% data variables.product.prodname_codeql %} alert types are supported and also some alerts from third-party tools. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
{% data reusables.rai.code-scanning.copilot-autofix-note %}
|
||||
|
||||
@@ -44,7 +44,7 @@ With a {% data variables.product.prodname_copilot_enterprise %} license, you can
|
||||
{% data reusables.repositories.sidebar-security %}
|
||||
{% data reusables.repositories.sidebar-code-scanning-alerts %}
|
||||
1. Click the name of an alert.
|
||||
1. If {% data variables.product.prodname_copilot_autofix_short %} can suggest a fix, at the top of the page, click **{% octicon "shield-check" aria-hidden="true" aria-label="shield-check" %} Generate fix**.
|
||||
1. If {% data variables.copilot.copilot_autofix_short %} can suggest a fix, at the top of the page, click **{% octicon "shield-check" aria-hidden="true" aria-label="shield-check" %} Generate fix**.
|
||||
1. Once the suggested fix has been generated, at the bottom of the page, you can click **Create PR with fix** to automatically generate a pull request with the suggested fix.
|
||||
A new branch is created from the default branch, the generated fix is committed and a draft pull request is created. You can test and edit the suggested fix as you would with any other fix.
|
||||
|
||||
|
||||
@@ -16,15 +16,15 @@ redirect_from:
|
||||
- /code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning
|
||||
---
|
||||
|
||||
## About {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}
|
||||
## About {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts so they can avoid introducing new security vulnerabilities. The potential fixes are generated automatically by large language models (LLMs) using data from the codebase and from {% data variables.product.prodname_code_scanning %} analysis. {% data variables.product.prodname_copilot_autofix %} is available for {% data variables.product.prodname_codeql %} analysis, and supports the third-party tool ESLint (third-party support is in {% data variables.release-phases.public_preview %} and subject to change).
|
||||
{% data variables.copilot.copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help them fix {% data variables.product.prodname_code_scanning %} alerts so they can avoid introducing new security vulnerabilities. The potential fixes are generated automatically by large language models (LLMs) using data from the codebase and from {% data variables.product.prodname_code_scanning %} analysis. {% data variables.copilot.copilot_autofix %} is available for {% data variables.product.prodname_codeql %} analysis, and supports the third-party tool ESLint (third-party support is in {% data variables.release-phases.public_preview %} and subject to change).
|
||||
|
||||
{% data reusables.rai.code-scanning.copilot-autofix-note %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} generates potential fixes that are relevant to the existing source code and translates the description and location of an alert into code changes that may fix the alert. {% data variables.product.prodname_copilot_autofix_short %} uses internal {% data variables.product.prodname_copilot %} APIs interfacing with the large language model {% data variables.copilot.copilot_gpt_4o %} from OpenAI, which has sufficient generative capabilities to produce both suggested fixes in code and explanatory text for those fixes.
|
||||
{% data variables.copilot.copilot_autofix_short %} generates potential fixes that are relevant to the existing source code and translates the description and location of an alert into code changes that may fix the alert. {% data variables.copilot.copilot_autofix_short %} uses internal {% data variables.product.prodname_copilot %} APIs interfacing with the large language model {% data variables.copilot.copilot_gpt_4o %} from OpenAI, which has sufficient generative capabilities to produce both suggested fixes in code and explanatory text for those fixes.
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} is allowed by default and enabled for every repository using {% data variables.product.prodname_codeql %}, but you can choose to opt out and disable {% data variables.product.prodname_copilot_autofix_short %}. To learn how to disable {% data variables.product.prodname_copilot_autofix_short %} at the enterprise, organization and repository levels, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix_short %} is allowed by default and enabled for every repository using {% data variables.product.prodname_codeql %}, but you can choose to opt out and disable {% data variables.copilot.copilot_autofix_short %}. To learn how to disable {% data variables.copilot.copilot_autofix_short %} at the enterprise, organization and repository levels, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning).
|
||||
|
||||
In an organization's security overview dashboard, you can view the total number of code suggestions generated on open and closed pull requests in the organization for a given time period. For more information, see [AUTOTITLE](/code-security/security-overview/viewing-security-insights#autofix-suggestions).
|
||||
|
||||
@@ -32,17 +32,17 @@ In an organization's security overview dashboard, you can view the total number
|
||||
|
||||
{% data variables.product.prodname_code_scanning_caps %} users can already see security alerts to analyze their pull requests. However, developers often have little training in secure coding so fixing these alerts requires substantial effort. They must first read and understand the alert location and description, and then use that understanding to edit the source code to fix the vulnerability.
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} lowers the barrier of entry to developers by combining information on best practices with details of the codebase and alert to suggest a potential fix to the developer. Instead of starting with a search for information about the vulnerability, the developer starts with a code suggestion that demonstrates a potential solution for their codebase. The developer evaluates the potential fix to determine whether it is the best solution for their codebase and to ensure that it maintains the intended behavior.
|
||||
{% data variables.copilot.copilot_autofix_short %} lowers the barrier of entry to developers by combining information on best practices with details of the codebase and alert to suggest a potential fix to the developer. Instead of starting with a search for information about the vulnerability, the developer starts with a code suggestion that demonstrates a potential solution for their codebase. The developer evaluates the potential fix to determine whether it is the best solution for their codebase and to ensure that it maintains the intended behavior.
|
||||
|
||||
After committing a suggested fix or modified fix, the developer should always verify that continuous integration testing (CI) for the codebase continues to pass and that the alert is shown as resolved before they merge their pull request.
|
||||
|
||||
## Supported languages for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} supports fix generation for a subset of queries included in the default and security-extended {% data variables.product.prodname_codeql %} query suites for {% data variables.code-scanning.codeql_autofix_languages %}. For more information on these query suites, see [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#built-in-codeql-query-suites).
|
||||
{% data variables.copilot.copilot_autofix_short %} supports fix generation for a subset of queries included in the default and security-extended {% data variables.product.prodname_codeql %} query suites for {% data variables.code-scanning.codeql_autofix_languages %}. For more information on these query suites, see [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#built-in-codeql-query-suites).
|
||||
|
||||
## Suggestion generation process
|
||||
|
||||
When {% data variables.product.prodname_copilot_autofix_short %} is enabled for a repository, {% data variables.product.prodname_code_scanning %} alerts that are identified send input to the LLM. If the LLM can generate a potential fix, the fix is shown as a suggestion.
|
||||
When {% data variables.copilot.copilot_autofix_short %} is enabled for a repository, {% data variables.product.prodname_code_scanning %} alerts that are identified send input to the LLM. If the LLM can generate a potential fix, the fix is shown as a suggestion.
|
||||
|
||||
{% data variables.product.prodname_dotcom %} sends the LLM a variety of data from the {% data variables.product.prodname_code_scanning %} analysis. For example:
|
||||
|
||||
@@ -52,13 +52,13 @@ When {% data variables.product.prodname_copilot_autofix_short %} is enabled for
|
||||
* First ~10 lines from each file involved in any of those locations.
|
||||
* Help text for the {% data variables.product.prodname_codeql %} query that identified the problem. For examples, see “[{% data variables.product.prodname_codeql %} query help](https://codeql.github.com/codeql-query-help/).”
|
||||
|
||||
Any {% data variables.product.prodname_copilot_autofix_short %} suggestions are generated and stored within the {% data variables.product.prodname_code_scanning %} backend. They are displayed as suggestions. No user interaction is needed beyond enabling {% data variables.product.prodname_code_scanning %} on the codebase and creating a pull request.
|
||||
Any {% data variables.copilot.copilot_autofix_short %} suggestions are generated and stored within the {% data variables.product.prodname_code_scanning %} backend. They are displayed as suggestions. No user interaction is needed beyond enabling {% data variables.product.prodname_code_scanning %} on the codebase and creating a pull request.
|
||||
|
||||
The process of generating fixes does not gather or utilize any customer data beyond the scope outlined above. Therefore, the use of this feature is governed by the existing terms and conditions associated with {% data variables.product.prodname_AS %}. Moreover, data handled by {% data variables.product.prodname_copilot_autofix_short %} is strictly not employed for LLM training purposes. For more information on {% data variables.product.prodname_AS %} terms and conditions, see [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#advanced-security){% ifversion fpt %}.{% else %} in the Free, Pro, & Team documentation.{% endif %}
|
||||
The process of generating fixes does not gather or utilize any customer data beyond the scope outlined above. Therefore, the use of this feature is governed by the existing terms and conditions associated with {% data variables.product.prodname_AS %}. Moreover, data handled by {% data variables.copilot.copilot_autofix_short %} is strictly not employed for LLM training purposes. For more information on {% data variables.product.prodname_AS %} terms and conditions, see [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#advanced-security){% ifversion fpt %}.{% else %} in the Free, Pro, & Team documentation.{% endif %}
|
||||
|
||||
## Quality of suggestions
|
||||
|
||||
{% data variables.product.prodname_dotcom %} uses an automated test harness to continuously monitor the quality of suggestions from {% data variables.product.prodname_copilot_autofix_short %}. This allows us to understand how the suggestions generated by the LLM change as the model develops.
|
||||
{% data variables.product.prodname_dotcom %} uses an automated test harness to continuously monitor the quality of suggestions from {% data variables.copilot.copilot_autofix_short %}. This allows us to understand how the suggestions generated by the LLM change as the model develops.
|
||||
|
||||
The test harness includes a set of over 2,300 alerts from a diverse set of public repositories where the highlighted code has test coverage. Suggestions for these alerts are tested to see how good they are, that is, how much a developer would need to edit them before committing them to the codebase. For many of the test alerts, suggestions generated by the LLM could be committed as-is to fix the alert while continuing to successfully pass all the existing CI tests.
|
||||
|
||||
@@ -77,20 +77,20 @@ In addition, we spot check many of the successful suggestions and verify that th
|
||||
|
||||
### Effectiveness on other projects
|
||||
|
||||
The test set contains a broad range of different types of projects and alerts. We predict that suggestions for other projects using languages supported by {% data variables.product.prodname_copilot_autofix_short %} should follow a similar pattern.
|
||||
The test set contains a broad range of different types of projects and alerts. We predict that suggestions for other projects using languages supported by {% data variables.copilot.copilot_autofix_short %} should follow a similar pattern.
|
||||
|
||||
* {% data variables.product.prodname_copilot_autofix_short %} is likely to add a code suggestion to the majority of alerts.
|
||||
* {% data variables.copilot.copilot_autofix_short %} is likely to add a code suggestion to the majority of alerts.
|
||||
* When developers evaluate the suggestions we expect that the majority of fixes can be committed without editing or with minor updates to reflect the wider context of the code.
|
||||
* A small percentage of suggested fixes will reflect a significant misunderstanding of the codebase or the vulnerability.
|
||||
|
||||
However, each project and codebase is unique, so developers may need to edit a larger percentage of suggested fixes before committing them. {% data variables.product.prodname_copilot_autofix_short %} provides valuable information to help you resolve {% data variables.product.prodname_code_scanning %} alerts, but ultimately it remains your responsibility to evaluate the proposed change and ensure the security and accuracy of your code.
|
||||
However, each project and codebase is unique, so developers may need to edit a larger percentage of suggested fixes before committing them. {% data variables.copilot.copilot_autofix_short %} provides valuable information to help you resolve {% data variables.product.prodname_code_scanning %} alerts, but ultimately it remains your responsibility to evaluate the proposed change and ensure the security and accuracy of your code.
|
||||
|
||||
> [!NOTE]
|
||||
> Fix generation for supported languages is subject to LLM operational capacity. In addition, each suggested fix is tested before it is added to a pull request. If no suggestion is available, or if the suggested fix fails internal testing, then no suggestion is displayed.
|
||||
|
||||
## Limitations of suggestions
|
||||
|
||||
When you review a suggestion from {% data variables.product.prodname_copilot_autofix_short %}, you must always consider the limitations of AI and edit the changes as needed before you accept the changes. You should also consider updating the CI testing and dependency management for a repository before enabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}. For more information, see [Mitigating the limitations of suggestions](#mitigating-the-limitations-of-suggestions).
|
||||
When you review a suggestion from {% data variables.copilot.copilot_autofix_short %}, you must always consider the limitations of AI and edit the changes as needed before you accept the changes. You should also consider updating the CI testing and dependency management for a repository before enabling {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}. For more information, see [Mitigating the limitations of suggestions](#mitigating-the-limitations-of-suggestions).
|
||||
|
||||
### Limitations of code suggestions
|
||||
|
||||
@@ -111,7 +111,7 @@ Sometimes a suggested fix includes a change in the dependencies of the codebase.
|
||||
|
||||
## Mitigating the limitations of suggestions
|
||||
|
||||
The best way to mitigate the limitations of suggestions from {% data variables.product.prodname_copilot_autofix_short %} is to follow best practices. For example, using CI testing of pull requests to verify functional requirements are unaffected and using dependency management solutions, such as the dependency review API and action. For more information, see “[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).”
|
||||
The best way to mitigate the limitations of suggestions from {% data variables.copilot.copilot_autofix_short %} is to follow best practices. For example, using CI testing of pull requests to verify functional requirements are unaffected and using dependency management solutions, such as the dependency review API and action. For more information, see “[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).”
|
||||
|
||||
It is important to remember that the author of a pull request retains responsibility for how they respond to review comments and suggested code changes, whether proposed by colleagues or automated tools. Developers should always look at suggestions for code changes critically. If needed, they should edit the suggested changes to ensure that the resulting code and application are correct, secure, meet performance criteria, and satisfy all other functional and non-functional requirements for the application.
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ If the lines of code changed in the pull request generate {% data variables.prod
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_code_scanning %} analysis (including {% data variables.product.prodname_codeql %} analysis) in private repositories. For more information on working with suggestions from {% data variables.product.prodname_copilot_autofix_short %} in pull requests, see [Working with {% data variables.product.prodname_copilot_autofix_short %} suggestions for alerts on a pull request](#working-with-copilot-autofix-suggestions-for-alerts-on-a-pull-request).
|
||||
{% data variables.copilot.copilot_autofix %} will suggest fixes for alerts from {% data variables.product.prodname_code_scanning %} analysis (including {% data variables.product.prodname_codeql %} analysis) in private repositories. For more information on working with suggestions from {% data variables.copilot.copilot_autofix_short %} in pull requests, see [Working with {% data variables.copilot.copilot_autofix_short %} suggestions for alerts on a pull request](#working-with-copilot-autofix-suggestions-for-alerts-on-a-pull-request).
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -50,7 +50,7 @@ If your pull request targets a protected branch that uses {% data variables.prod
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.copilot_chat %} for help to better understand {% data variables.product.prodname_code_scanning %} alerts in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -114,30 +114,30 @@ Anyone with push access to a pull request can fix a {% data variables.product.pr
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
## Working with {% data variables.product.prodname_copilot_autofix_short %} suggestions for alerts on a pull request
|
||||
## Working with {% data variables.copilot.copilot_autofix_short %} suggestions for alerts on a pull request
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts) in pull requests. The potential fixes are generated automatically by large language models (LLMs) using data from the codebase, the pull request, and from {% data variables.product.prodname_code_scanning %} analysis.
|
||||
{% data variables.copilot.copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts) in pull requests. The potential fixes are generated automatically by large language models (LLMs) using data from the codebase, the pull request, and from {% data variables.product.prodname_code_scanning %} analysis.
|
||||
|
||||
{% data reusables.rai.code-scanning.copilot-autofix-note %}
|
||||
|
||||

|
||||
|
||||
### Generating {% data variables.product.prodname_copilot_autofix_short %} suggestions and publishing to a pull request
|
||||
### Generating {% data variables.copilot.copilot_autofix_short %} suggestions and publishing to a pull request
|
||||
|
||||
When {% data variables.product.prodname_copilot_autofix_short %} is enabled for a repository, alerts are displayed in pull requests as normal and information from any alerts found by {% data variables.product.prodname_code_scanning %} is automatically sent to the LLM for processing. When LLM analysis is complete, any results are published as comments on relevant alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
When {% data variables.copilot.copilot_autofix_short %} is enabled for a repository, alerts are displayed in pull requests as normal and information from any alerts found by {% data variables.product.prodname_code_scanning %} is automatically sent to the LLM for processing. When LLM analysis is complete, any results are published as comments on relevant alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
> [!NOTE]
|
||||
> * {% data variables.product.prodname_copilot_autofix_short %} supports a subset of {% data variables.product.prodname_codeql %} queries. For information about the availability of {% data variables.product.prodname_copilot_autofix_short %}, see the query tables linked from [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#query-lists-for-the-default-query-suites).
|
||||
> * When analysis is complete, all relevant results are published to the pull request at once. If at least one alert in your pull request has an {% data variables.product.prodname_copilot_autofix_short %} suggestion, you should assume that the LLM has finished identifying potential fixes for your code.
|
||||
> * On alerts generated from queries that are not supported by {% data variables.product.prodname_copilot_autofix_short %}, you will see a note telling you that the query is not supported. If a suggestion for a supported query fails to generate, you will see a note on the alert prompting you to try pushing another commit or to contact support.
|
||||
> * {% data variables.copilot.copilot_autofix_short %} supports a subset of {% data variables.product.prodname_codeql %} queries. For information about the availability of {% data variables.copilot.copilot_autofix_short %}, see the query tables linked from [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites#query-lists-for-the-default-query-suites).
|
||||
> * When analysis is complete, all relevant results are published to the pull request at once. If at least one alert in your pull request has an {% data variables.copilot.copilot_autofix_short %} suggestion, you should assume that the LLM has finished identifying potential fixes for your code.
|
||||
> * On alerts generated from queries that are not supported by {% data variables.copilot.copilot_autofix_short %}, you will see a note telling you that the query is not supported. If a suggestion for a supported query fails to generate, you will see a note on the alert prompting you to try pushing another commit or to contact support.
|
||||
|
||||
Usually, when you suggest changes to a pull request, your comment contains changes for a single file that is changed in the pull request. The following screenshot shows an {% data variables.product.prodname_copilot_autofix_short %} comment that suggests changes to the `index.js` file where the alert is displayed. Since the potential fix requires a new dependency on `escape-html`, the comment also suggests adding this dependency to the `package.json` file, even though the original pull request makes no changes to this file.
|
||||
Usually, when you suggest changes to a pull request, your comment contains changes for a single file that is changed in the pull request. The following screenshot shows an {% data variables.copilot.copilot_autofix_short %} comment that suggests changes to the `index.js` file where the alert is displayed. Since the potential fix requires a new dependency on `escape-html`, the comment also suggests adding this dependency to the `package.json` file, even though the original pull request makes no changes to this file.
|
||||
|
||||

|
||||

|
||||
|
||||
### Assessing and committing an {% data variables.product.prodname_copilot_autofix_short %} suggestion
|
||||
### Assessing and committing an {% data variables.copilot.copilot_autofix_short %} suggestion
|
||||
|
||||
Each {% data variables.product.prodname_copilot_autofix_short %} suggestion demonstrates a potential solution for a {% data variables.product.prodname_code_scanning %} alert in your codebase. You must assess the suggested changes to determine whether they are a good solution for your codebase and to ensure that they maintain the intended behavior. For information about the limitations of {% data variables.product.prodname_copilot_autofix_short %} suggestions, see [Limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#limitations-of-suggestions) and [Mitigating the limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#mitigating-the-limitations-of-suggestions) in "Responsible use of {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}."
|
||||
Each {% data variables.copilot.copilot_autofix_short %} suggestion demonstrates a potential solution for a {% data variables.product.prodname_code_scanning %} alert in your codebase. You must assess the suggested changes to determine whether they are a good solution for your codebase and to ensure that they maintain the intended behavior. For information about the limitations of {% data variables.copilot.copilot_autofix_short %} suggestions, see [Limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#limitations-of-suggestions) and [Mitigating the limitations of suggestions](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning#mitigating-the-limitations-of-suggestions) in "Responsible use of {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_code_scanning %}."
|
||||
|
||||
1. Click **Edit** to display the editing options and select your preferred method.
|
||||
* Under **Edit with {% data variables.product.prodname_cli %}**, follow the instructions for checking out the pull request locally and applying the suggested fix.
|
||||
@@ -152,9 +152,9 @@ Each {% data variables.product.prodname_copilot_autofix_short %} suggestion demo
|
||||
1. When you have finished testing your changes, commit the changes, and push them to your branch.
|
||||
1. Pushing the changes to your branch will trigger all the usual tests for your pull request. Confirm that your unit tests still pass and that the {% data variables.product.prodname_code_scanning %} alert is now fixed.
|
||||
|
||||
### Dismissing a {% data variables.product.prodname_copilot_autofix_short %} suggestion
|
||||
### Dismissing a {% data variables.copilot.copilot_autofix_short %} suggestion
|
||||
|
||||
If you decide to reject a {% data variables.product.prodname_copilot_autofix_short %} suggestion, click **Dismiss suggestion** in the comment to dismiss the suggested fix.
|
||||
If you decide to reject a {% data variables.copilot.copilot_autofix_short %} suggestion, click **Dismiss suggestion** in the comment to dismiss the suggested fix.
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ The built-in {% data variables.product.prodname_codeql %} query suites, `default
|
||||
|
||||
## Query lists for the default query suites
|
||||
|
||||
For each language, the following article lists which queries are included in the `default` and the `security-extended` suites. {% ifversion code-scanning-autofix %}Where {% data variables.product.prodname_copilot_autofix_short %} is available for a language, details of which queries are supported are also included.{% endif %}
|
||||
For each language, the following article lists which queries are included in the `default` and the `security-extended` suites. {% ifversion code-scanning-autofix %}Where {% data variables.copilot.copilot_autofix_short %} is available for a language, details of which queries are supported are also included.{% endif %}
|
||||
|
||||
{% data reusables.code-scanning.codeql-query-tables.links-to-all-tables %}
|
||||
|
||||
|
||||
@@ -93,9 +93,9 @@ You can also see all the {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_dependabot_alerts %}
|
||||
## Asking {% data variables.copilot.copilot_chat %} about {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can ask {% data variables.product.prodname_copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_dependabot_alerts %}, in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can ask {% data variables.copilot.copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_dependabot_alerts %}, in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ In cases where a patched version is not available, or you can’t update to the
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand {% data variables.product.prodname_dependabot_alerts %} in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.copilot_chat %} for help to better understand {% data variables.product.prodname_dependabot_alerts %} in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -210,7 +210,7 @@ Run {% data variables.product.prodname_codeql %} processes locally on software p
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
### {% data variables.product.prodname_copilot_autofix_short %}
|
||||
### {% data variables.copilot.copilot_autofix_short %}
|
||||
|
||||
Get automatically generated fixes for {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
@@ -242,9 +242,9 @@ Security overview allows you to review the overall security landscape of your or
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Leveraging {% data variables.product.prodname_copilot_chat %} to understand security alerts
|
||||
## Leveraging {% data variables.copilot.copilot_chat %} to understand security alerts
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can also ask {% data variables.product.prodname_copilot_chat %} for help to better understand security alerts in repositories in your organization from {% data variables.product.prodname_GHAS %} features ({% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_secret_scanning %}, and {% data variables.product.prodname_dependabot_alerts %}). For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can also ask {% data variables.copilot.copilot_chat %} for help to better understand security alerts in repositories in your organization from {% data variables.product.prodname_GHAS %} features ({% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_secret_scanning %}, and {% data variables.product.prodname_dependabot_alerts %}). For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ To enable {% data variables.product.prodname_dependabot_version_updates %}, you
|
||||
> {% data variables.product.prodname_code_security %} features are available for all public repositories, and for private repositories owned by organizations that are part of a team or an enterprise that uses {% data variables.product.prodname_GH_code_security %} or {% data variables.product.prodname_GHAS %}.
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghas-products %}{% data variables.product.prodname_GH_code_security %} includes {% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_codeql_cli %} and {% data variables.product.prodname_copilot_autofix_short %}, as well as other features that find and fix vulnerabilities in your codebase.{% endif %}
|
||||
{% ifversion ghas-products %}{% data variables.product.prodname_GH_code_security %} includes {% data variables.product.prodname_code_scanning %}, {% data variables.product.prodname_codeql_cli %} and {% data variables.copilot.copilot_autofix_short %}, as well as other features that find and fix vulnerabilities in your codebase.{% endif %}
|
||||
|
||||
You can configure {% data variables.product.prodname_code_scanning %} to automatically identify vulnerabilities and errors in the code stored in your repository by using a {% data variables.code-scanning.codeql_workflow %} or third-party tool. Depending on the programming languages in your repository, you can configure {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %} using default setup, in which {% data variables.product.github %} automatically determines the languages to scan, query suites to run, and events that will trigger a new scan. For more information, see [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning).
|
||||
|
||||
@@ -126,7 +126,7 @@ You can configure {% data variables.product.prodname_code_scanning %} to automat
|
||||
1. To the right of "CodeQL analysis", select **Set up** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %}, then click **Default**.{% else %}
|
||||
1. In the "{% data variables.product.prodname_code_scanning_caps %}" section, select **Set up** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %}, then click **Default**.{% endif %}
|
||||
1. In the pop-up window that appears, review the default configuration settings for your repository, then click **Enable {% data variables.product.prodname_codeql %}**.{% ifversion code-scanning-autofix %}
|
||||
1. Choose whether you want to enable addition features, such as {% data variables.product.prodname_copilot_autofix_short %}.{% endif %}
|
||||
1. Choose whether you want to enable addition features, such as {% data variables.copilot.copilot_autofix_short %}.{% endif %}
|
||||
|
||||
As an alternative to default setup, you can use advanced setup, which generates a workflow file you can edit to customize your {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}. For more information, see [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-advanced-setup-for-code-scanning-with-codeql).
|
||||
|
||||
|
||||
@@ -47,9 +47,9 @@ You can use the REST API to retrieve a list of the most recent validation status
|
||||
|
||||
{% ifversion copilot-chat-ghas-alerts %}
|
||||
|
||||
## Asking {% data variables.product.prodname_copilot_chat %} about {% data variables.product.prodname_secret_scanning %} alerts
|
||||
## Asking {% data variables.copilot.copilot_chat %} about {% data variables.product.prodname_secret_scanning %} alerts
|
||||
|
||||
With a {% data variables.product.prodname_copilot_enterprise %} license, you can ask {% data variables.product.prodname_copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_secret_scanning %} alerts, in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
With a {% data variables.copilot.copilot_enterprise %} license, you can ask {% data variables.copilot.copilot_chat_short %} for help to better understand security alerts, including {% data variables.product.prodname_secret_scanning %} alerts, in repositories in your organization. For more information, see [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-githubcom#asking-questions-about-alerts-from-github-advanced-security-features).
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -75,8 +75,8 @@ To update private dependencies of repositories in your organization, {% data var
|
||||
You can customize several {% data variables.product.prodname_global_settings %} for {% data variables.product.prodname_code_scanning %}:
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
* [Enabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_codeql %}](#enabling-copilot-autofix-for-codeql)
|
||||
* [Enabling {% data variables.product.prodname_copilot_autofix_short %} for third-party {% data variables.product.prodname_code_scanning %} tools](#enabling-copilot-autofix-for-third-party-code-scanning-tools) {% endif %}
|
||||
* [Enabling {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_codeql %}](#enabling-copilot-autofix-for-codeql)
|
||||
* [Enabling {% data variables.copilot.copilot_autofix_short %} for third-party {% data variables.product.prodname_code_scanning %} tools](#enabling-copilot-autofix-for-third-party-code-scanning-tools) {% endif %}
|
||||
* [Recommending the extended query suite for default setup](#recommending-the-extended-query-suite-for-default-setup){% ifversion ghes < 3.17 %}
|
||||
* [Setting a failure threshold for {% data variables.product.prodname_code_scanning %} checks in pull requests](#setting-a-failure-threshold-for-code-scanning-checks-in-pull-requests){% endif %}
|
||||
|
||||
@@ -88,16 +88,16 @@ You can customize several {% data variables.product.prodname_global_settings %}
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
### Enabling {% data variables.product.prodname_copilot_autofix_short %} for {% data variables.product.prodname_codeql %}
|
||||
### Enabling {% data variables.copilot.copilot_autofix_short %} for {% data variables.product.prodname_codeql %}
|
||||
|
||||
You can select **{% data variables.product.prodname_copilot_autofix_short %}** to enable {% data variables.product.prodname_copilot_autofix_short %} for all the repositories in your organization that use {% data variables.product.prodname_codeql %} default setup or {% data variables.product.prodname_codeql %} advanced setup. {% data variables.product.prodname_copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
You can select **{% data variables.copilot.copilot_autofix_short %}** to enable {% data variables.copilot.copilot_autofix_short %} for all the repositories in your organization that use {% data variables.product.prodname_codeql %} default setup or {% data variables.product.prodname_codeql %} advanced setup. {% data variables.copilot.copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
### Enabling {% data variables.product.prodname_copilot_autofix_short %} for third-party {% data variables.product.prodname_code_scanning %} tools
|
||||
### Enabling {% data variables.copilot.copilot_autofix_short %} for third-party {% data variables.product.prodname_code_scanning %} tools
|
||||
|
||||
>[!NOTE]
|
||||
> Third-party {% data variables.product.prodname_code_scanning %} tool support is in {% data variables.release-phases.public_preview %}, and subject to change. Currently, the third-party tool ESLint is supported. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
You can select **{% data variables.product.prodname_copilot_autofix_short %} for third-party tools** to enable {% data variables.product.prodname_copilot_autofix_short %} for all the repositories in your organization that use third-party tools. {% data variables.product.prodname_copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts.
|
||||
You can select **{% data variables.copilot.copilot_autofix_short %} for third-party tools** to enable {% data variables.copilot.copilot_autofix_short %} for all the repositories in your organization that use third-party tools. {% data variables.copilot.copilot_autofix_short %} is an expansion of {% data variables.product.prodname_code_scanning %} that suggests fixes for {% data variables.product.prodname_code_scanning %} alerts.
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ A security campaign has many benefits over other ways of encouraging developers
|
||||
* Developers are notified about any security campaigns taking place in repositories they work in or subscribe to by email.
|
||||
* Developers can see the alerts you've highlighted for remediation without leaving their normal workflows.
|
||||
* Each campaign has a named point of contact for questions, reviews, and collaboration. {% ifversion security-campaigns-autofix %}
|
||||
* {% data variables.product.prodname_copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. {% endif %}
|
||||
* {% data variables.copilot.copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. {% endif %}
|
||||
|
||||
You can use one of the templates to select a group of closely related alerts for a campaign. This allows developers to build on the knowledge gained by resolving one alert and use it to fix several more, providing them with an incentive to fix multiple alerts.
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ topics:
|
||||
Successful security campaigns to fix alerts at scale have many features in common, including:
|
||||
|
||||
* Selecting a related group of security alerts for remediation.
|
||||
* Using {% data variables.product.prodname_copilot_autofix_short %} suggestions where possible to help developers remediate alerts faster and more effectively.
|
||||
* Using {% data variables.copilot.copilot_autofix_short %} suggestions where possible to help developers remediate alerts faster and more effectively.
|
||||
* Making sure that the campaign managers are available for collaboration, reviews, and questions about fixes.
|
||||
* Providing access to educational information about the type of alerts included in the campaign.{% ifversion ghec %}
|
||||
* Making {% data variables.product.prodname_copilot_chat %} available for developers to use to learn about the vulnerabilities highlighted by the security alerts in the campaign. {% endif %}
|
||||
* Making {% data variables.copilot.copilot_chat %} available for developers to use to learn about the vulnerabilities highlighted by the security alerts in the campaign. {% endif %}
|
||||
* Defining a realistic deadline for campaign, bearing in mind the number of alerts you aim to fix.
|
||||
* Publicizing the collaboration to developer teams and identifying the best way to engage them for your organization.
|
||||
|
||||
@@ -38,9 +38,9 @@ For example, if you have many alerts for cross-site scripting vulnerabilities, y
|
||||
* Hold a training session or other event to highlight this opportunity to gain confidence in secure coding while fixing real bugs.
|
||||
* Make sure that the security team members assigned to manage the campaign are available to review the pull requests created to fix the campaign alerts, collaborating as needed.
|
||||
|
||||
### Using {% data variables.product.prodname_copilot_autofix_short %} to help remediate security alerts
|
||||
### Using {% data variables.copilot.copilot_autofix_short %} to help remediate security alerts
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help fix {% data variables.product.prodname_code_scanning %} alerts. When you select alerts to include in a security campaign, you can preferentially include alerts that are eligible to be fixed with the help of {% data variables.product.prodname_copilot_autofix %} using the `autofix:supported` filter.
|
||||
{% data variables.copilot.copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides users with targeted recommendations to help fix {% data variables.product.prodname_code_scanning %} alerts. When you select alerts to include in a security campaign, you can preferentially include alerts that are eligible to be fixed with the help of {% data variables.copilot.copilot_autofix %} using the `autofix:supported` filter.
|
||||
|
||||
### Campaign filter templates
|
||||
|
||||
@@ -85,7 +85,7 @@ The OWASP Foundation provides many resources for learning about the most common
|
||||
|
||||
## Providing AI support for learning about security vulnerabilities
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. However, developers will often want more information about why the original code is insecure and how to test that the fix is correct and doesn't break other components.
|
||||
{% data variables.copilot.copilot_autofix %} is automatically triggered to suggest a resolution for each security alert. However, developers will often want more information about why the original code is insecure and how to test that the fix is correct and doesn't break other components.
|
||||
|
||||
{% data variables.product.prodname_copilot %} is an important tool for developers who have questions about secure coding, how to fix security alerts, and test their fix. Check that all developers in your organization have access to {% data variables.product.prodname_copilot_short %} in both their IDE and {% data variables.product.github %}, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/granting-access-to-copilot-for-members-of-your-organization).
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Security campaigns are created and managed from the **Security** tab for your or
|
||||
|
||||
You choose the alerts that you want to include in the campaign by using either:
|
||||
|
||||
* **Campaign templates**: Campaign templates contain filters for the most common alert selections. {% ifversion security-campaigns-autofix %}They also all include the requirement that {% data variables.product.prodname_copilot_autofix %} is supported for all the alert types included (that is, `autofix:supported`).{% endif %}
|
||||
* **Campaign templates**: Campaign templates contain filters for the most common alert selections. {% ifversion security-campaigns-autofix %}They also all include the requirement that {% data variables.copilot.copilot_autofix %} is supported for all the alert types included (that is, `autofix:supported`).{% endif %}
|
||||
* **Custom filters**: Creating a campaign using custom filters lets you define your own criteria for selecting alerts for the campaign, and lets you tailor your campaign to your organization's specific needs.
|
||||
|
||||
{% data reusables.code-scanning.campaigns-api %}
|
||||
@@ -70,7 +70,7 @@ All the template filters include the following useful filters:
|
||||
|
||||
* `is:open` includes only alerts that are open in the default branch.
|
||||
* `autofilter:true` includes only alerts that appear to be in application code. {% ifversion security-campaigns-autofix %}
|
||||
* `autofix:supported` includes only alerts that are for rules that are supported for {% data variables.product.prodname_copilot_autofix %}.{% endif %}
|
||||
* `autofix:supported` includes only alerts that are for rules that are supported for {% data variables.copilot.copilot_autofix %}.{% endif %}
|
||||
|
||||
Once you include these core filters, you will usually want to add a filter to limit results to a specific rule name, severity, or tag. For example:
|
||||
|
||||
@@ -88,7 +88,7 @@ For more information about filtering alerts, see [AUTOTITLE](/code-security/secu
|
||||
|
||||
{% ifversion security-campaigns-autofix %}
|
||||
|
||||
When you create a campaign, all the alerts are automatically submitted to {% data variables.product.prodname_copilot_autofix %} to be processed as capacity allows. This ensures that suggestions for alerts found in pull requests aren't delayed by a new campaign. In most cases, you should find that all suggestions that can be created are ready within an hour. At busy times of day, or for particularly complex alerts, it will take longer.
|
||||
When you create a campaign, all the alerts are automatically submitted to {% data variables.copilot.copilot_autofix %} to be processed as capacity allows. This ensures that suggestions for alerts found in pull requests aren't delayed by a new campaign. In most cases, you should find that all suggestions that can be created are ready within an hour. At busy times of day, or for particularly complex alerts, it will take longer.
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ The tracking view shows you a summary of:
|
||||
|
||||
* **Campaign progress**: how many alerts are closed (fixed or dismissed), in progress, or still left to review.
|
||||
* **Status**: how the campaign is progressing towards its due date.
|
||||
* **{% data variables.product.prodname_copilot_autofix_short %}**: number of alerts where {% data variables.product.prodname_copilot_autofix_short %} can generate a fix to resolve the alert.
|
||||
* **{% data variables.copilot.copilot_autofix_short %}**: number of alerts where {% data variables.copilot.copilot_autofix_short %} can generate a fix to resolve the alert.
|
||||
|
||||
You can also explore the campaign repositories and alerts to see where teams are engaging in the campaign, and where teams might need some extra encouragement to take part.
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ The metrics overview for {% data variables.product.prodname_codeql %} pull reque
|
||||
|
||||
The overview shows you a summary of how many vulnerabilities prevented by {% data variables.product.prodname_codeql %} have been caught in pull requests. The metrics are only tracked for pull requests that have been merged into the default branches of repositories in your organizations.
|
||||
|
||||
You can also find more granular metrics, such as how many alerts were fixed{% ifversion code-scanning-autofix %} with and without {% data variables.product.prodname_copilot_autofix_short %} suggestions{% endif %}, how many were unresolved and merged, and how many were dismissed as false positive or as risk accepted.
|
||||
You can also find more granular metrics, such as how many alerts were fixed{% ifversion code-scanning-autofix %} with and without {% data variables.copilot.copilot_autofix_short %} suggestions{% endif %}, how many were unresolved and merged, and how many were dismissed as false positive or as risk accepted.
|
||||
|
||||
You can also view:
|
||||
|
||||
@@ -32,17 +32,17 @@ You can also view:
|
||||
* The number of alerts that were merged into the default branch without resolution, and the number of alerts dismissed as an acceptable risk.
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
* The number of alerts that were fixed with an accepted {% data variables.product.prodname_copilot_autofix_short %} suggestion, displayed as a fraction of how many total {% data variables.product.prodname_copilot_autofix_short %} suggestions were available.
|
||||
* The number of alerts that were fixed with an accepted {% data variables.copilot.copilot_autofix_short %} suggestion, displayed as a fraction of how many total {% data variables.copilot.copilot_autofix_short %} suggestions were available.
|
||||
|
||||
* Remediation rates, in a graph showing the percentage of alerts that were remediated with an available {% data variables.product.prodname_copilot_autofix_short %} suggestion, and the percentage of alerts that were remediated without a {% data variables.product.prodname_copilot_autofix_short %} suggestion.
|
||||
* Remediation rates, in a graph showing the percentage of alerts that were remediated with an available {% data variables.copilot.copilot_autofix_short %} suggestion, and the percentage of alerts that were remediated without a {% data variables.copilot.copilot_autofix_short %} suggestion.
|
||||
{% endif %}
|
||||
|
||||
You can apply filters to the data. The metrics are based on activity from the default period or your selected period.
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
> [!NOTE] Metrics for {% data variables.product.prodname_copilot_autofix_short %} will be shown only for repositories where {% data variables.product.prodname_copilot_autofix_short %} is enabled.
|
||||
> [!NOTE] Metrics for {% data variables.copilot.copilot_autofix_short %} will be shown only for repositories where {% data variables.copilot.copilot_autofix_short %} is enabled.
|
||||
{% else %}
|
||||
> [!NOTE] Metrics for {% data variables.product.prodname_copilot_autofix_short %} are omitted because {% data variables.product.prodname_copilot_autofix_short %} is available only on {% data variables.product.github %} cloud platforms.
|
||||
> [!NOTE] Metrics for {% data variables.copilot.copilot_autofix_short %} are omitted because {% data variables.copilot.copilot_autofix_short %} is available only on {% data variables.product.github %} cloud platforms.
|
||||
{% endif %}
|
||||
|
||||
## Viewing {% data variables.product.prodname_codeql %} pull request alerts metrics for an organization
|
||||
|
||||
@@ -198,7 +198,7 @@ Green bars represent the number of new alerts created during the segmented time
|
||||
|
||||
* [Introduced versus prevented](#introduced-versus-prevented)
|
||||
* [Vulnerabilities fixed in pull requests](#vulnerabilities-fixed-in-pull-requests){% ifversion code-scanning-autofix %}
|
||||
* [{% data variables.product.prodname_copilot_autofix_short %} suggestions](##pull-request-alerts-fixed-with-copilot-autofix-suggestions){% endif %}
|
||||
* [{% data variables.copilot.copilot_autofix_short %} suggestions](##pull-request-alerts-fixed-with-copilot-autofix-suggestions){% endif %}
|
||||
|
||||
#### Introduced versus prevented
|
||||
|
||||
@@ -212,11 +212,11 @@ The "Vulnerabilities fixed in pull requests" metric shows the count of pull requ
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
#### Pull request alerts fixed with {% data variables.product.prodname_copilot_autofix_short %} suggestions
|
||||
#### Pull request alerts fixed with {% data variables.copilot.copilot_autofix_short %} suggestions
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} for {% data variables.product.prodname_code_scanning %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix %} for {% data variables.product.prodname_code_scanning %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts. For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
The "Pull request alerts fixed with autofix suggestions" metric shows the ratio of accepted {% data variables.product.prodname_copilot_autofix_short %} suggestions to the total number of {% data variables.product.prodname_copilot_autofix_short %} suggestions on pull request alerts detected by {% data variables.product.prodname_code_scanning %}.
|
||||
The "Pull request alerts fixed with autofix suggestions" metric shows the ratio of accepted {% data variables.copilot.copilot_autofix_short %} suggestions to the total number of {% data variables.copilot.copilot_autofix_short %} suggestions on pull request alerts detected by {% data variables.product.prodname_code_scanning %}.
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -287,11 +287,11 @@ Alerts that are reopened and re-closed during the chosen time period are ignored
|
||||
|
||||
{% ifversion code-scanning-autofix %}
|
||||
|
||||
### {% data variables.product.prodname_copilot_autofix_short %} suggestions
|
||||
### {% data variables.copilot.copilot_autofix_short %} suggestions
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts). For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
{% data variables.copilot.copilot_autofix %} is an expansion of {% data variables.product.prodname_code_scanning %} that provides you with targeted recommendations to help you fix {% data variables.product.prodname_code_scanning %} alerts (including {% data variables.product.prodname_codeql %} alerts). For more information, see [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning).
|
||||
|
||||
The "{% data variables.product.prodname_copilot_autofix_short %} suggestions" metric is the total number of {% data variables.product.prodname_copilot_autofix_short %} suggestions generated in open and closed pull requests during the chosen time period.
|
||||
The "{% data variables.copilot.copilot_autofix_short %} suggestions" metric is the total number of {% data variables.copilot.copilot_autofix_short %} suggestions generated in open and closed pull requests during the chosen time period.
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -49,14 +49,14 @@ If the extended suite still fails to find the results you expect, you may need t
|
||||
|
||||
There are three different types of automated analysis of pull requests built into {% data variables.product.github %}:
|
||||
|
||||
* **{% data variables.product.prodname_code_scanning_caps %} analysis** uses queries to highlight known bad coding patterns and security vulnerabilities. {% data variables.product.prodname_copilot_autofix_short %} suggests fixes to problems identified by {% data variables.product.prodname_code_scanning %}.
|
||||
* **{% data variables.product.prodname_code_scanning_caps %} analysis** uses queries to highlight known bad coding patterns and security vulnerabilities. {% data variables.copilot.copilot_autofix_short %} suggests fixes to problems identified by {% data variables.product.prodname_code_scanning %}.
|
||||
* **Dependency review** summarizes the dependency changes made by the pull request and highlights any dependencies with known vulnerabilities or that do not meet your development standards.
|
||||
* **{% data variables.product.prodname_copilot_short %} code review** uses AI to provide feedback on your changes with suggested fixes where possible.
|
||||
|
||||
These automated reviews are a valuable extension to self-review and make it easier for developers to present a more complete and secure pull request for peer review. In addition, {% data variables.product.prodname_code_scanning %} and dependency reviews can be enforced to protect the security and compliance of your code.
|
||||
|
||||
> [!NOTE]
|
||||
> {% data variables.product.prodname_copilot_autofix %} is included in the license for {% data variables.product.prodname_GH_code_security %}. {% data variables.product.prodname_copilot_short %} code review requires a paid {% data variables.product.prodname_copilot_short %} plan.
|
||||
> {% data variables.copilot.copilot_autofix %} is included in the license for {% data variables.product.prodname_GH_code_security %}. {% data variables.product.prodname_copilot_short %} code review requires a paid {% data variables.product.prodname_copilot_short %} plan.
|
||||
|
||||
### {% data variables.product.prodname_code_scanning_caps %} analysis
|
||||
|
||||
@@ -92,14 +92,14 @@ By default, users request a review from {% data variables.product.prodname_copil
|
||||
|
||||
{% data variables.product.prodname_copilot_short %} leaves a review comment on each pull request it reviews, without approving the pull request or requesting changes. This ensures that its review is advisory and will not block development work. Similarly, you should not enforce the resolution of suggestions made by {% data variables.product.prodname_copilot_short %} because AI suggestions have known limitations, see [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-code-review#limitations-of-github-copilot-code-review).
|
||||
|
||||
## Define where {% data variables.product.prodname_copilot_autofix_short %} is allowed and enabled
|
||||
## Define where {% data variables.copilot.copilot_autofix_short %} is allowed and enabled
|
||||
|
||||
{% data variables.product.prodname_copilot_autofix_short %} helps developers understand and fix {% data variables.product.prodname_code_scanning %} alerts found in their pull requests. We recommend that you enable this feature for all repositories with {% data variables.product.prodname_code_security %} enabled to help developers resolve alerts efficiently and increase their understanding of secure coding.
|
||||
{% data variables.copilot.copilot_autofix_short %} helps developers understand and fix {% data variables.product.prodname_code_scanning %} alerts found in their pull requests. We recommend that you enable this feature for all repositories with {% data variables.product.prodname_code_security %} enabled to help developers resolve alerts efficiently and increase their understanding of secure coding.
|
||||
|
||||
There are two levels of control:
|
||||
|
||||
* Enterprises can allow or block use of {% data variables.product.prodname_copilot_autofix_short %} throughout the enterprise using an "{% ifversion ghas-products %}{% data variables.product.prodname_AS %}{% else %}Code security{% endif %}" policy, see: [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise).
|
||||
* Organizations can enable or disable {% data variables.product.prodname_copilot_autofix_short %} for all organization-owned repositories in the "Global settings" for the organization, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization).
|
||||
* Enterprises can allow or block use of {% data variables.copilot.copilot_autofix_short %} throughout the enterprise using an "{% ifversion ghas-products %}{% data variables.product.prodname_AS %}{% else %}Code security{% endif %}" policy, see: [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise).
|
||||
* Organizations can enable or disable {% data variables.copilot.copilot_autofix_short %} for all organization-owned repositories in the "Global settings" for the organization, see [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization).
|
||||
|
||||
## Engage developers in security remediation
|
||||
|
||||
|
||||
@@ -788,7 +788,7 @@ When introducing a list, avoid short, nonspecific sentences using terms like “
|
||||
Use permission statements and product callouts to communicate tasks that require specific roles or products to complete.
|
||||
|
||||
* [**Permissions statements**](/contributing/style-guide-and-content-model/contents-of-a-github-docs-article#permissions-statements): The role required to take an action or do a task described in the article. Example: "Enterprise owners."
|
||||
* [**Product callout**](/contributing/style-guide-and-content-model/contents-of-a-github-docs-article#product-callout): The product or products required to take an action or do a task described in the article. Example: "Organization and enterprise accounts with a subscription to {% data variables.product.prodname_copilot_business_short %}."
|
||||
* [**Product callout**](/contributing/style-guide-and-content-model/contents-of-a-github-docs-article#product-callout): The product or products required to take an action or do a task described in the article. Example: "Organization and enterprise accounts with a subscription to {% data variables.copilot.copilot_business_short %}."
|
||||
|
||||
Together, permission statements and product callouts tell readers who can use the feature being described in an article.
|
||||
|
||||
|
||||
@@ -20,15 +20,15 @@ Autocomplete-style suggestions from {% data variables.product.prodname_copilot_s
|
||||
|
||||
If you use {% data variables.product.prodname_vscode_shortname %}, you can also use {% data variables.copilot.next_edit_suggestions %}, which will predict the location of the next edit you are likely to make and suggest a completion for it.
|
||||
|
||||
### {% data variables.product.prodname_copilot_chat_short %}
|
||||
### {% data variables.copilot.copilot_chat_short %}
|
||||
|
||||
A chat interface that lets you ask coding-related questions. {% data variables.product.prodname_copilot_chat %} is available on the {% data variables.product.github %} website, in {% data variables.product.prodname_mobile %}, in supported IDEs _({% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Eclipse IDE, and Xcode)_, and in {% data variables.product.prodname_windows_terminal %}. Users can also use skills with {% data variables.product.prodname_copilot_chat_short %}. See [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-github) and [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide).
|
||||
A chat interface that lets you ask coding-related questions. {% data variables.copilot.copilot_chat %} is available on the {% data variables.product.github %} website, in {% data variables.product.prodname_mobile %}, in supported IDEs _({% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Eclipse IDE, and Xcode)_, and in {% data variables.product.prodname_windows_terminal %}. Users can also use skills with {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-github) and [AUTOTITLE](/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide).
|
||||
|
||||
### {% data variables.copilot.copilot_coding_agent %} ({% data variables.release-phases.public_preview %})
|
||||
|
||||
An autonomous AI agent that can make code changes for you. You can assign a {% data variables.product.github %} issue to {% data variables.product.prodname_copilot_short %} and the agent will work on making the required changes, and will create a pull request for you to review. You can also ask {% data variables.product.prodname_copilot_short %} to create a pull request from {% data variables.product.prodname_copilot_chat_short %}. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent).
|
||||
An autonomous AI agent that can make code changes for you. You can assign a {% data variables.product.github %} issue to {% data variables.product.prodname_copilot_short %} and the agent will work on making the required changes, and will create a pull request for you to review. You can also ask {% data variables.product.prodname_copilot_short %} to create a pull request from {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/using-github-copilot/coding-agent).
|
||||
|
||||
### {% data variables.product.prodname_copilot_cli_short %}
|
||||
### {% data variables.copilot.copilot_cli_short %}
|
||||
|
||||
A chat-like interface in the terminal, where you can ask questions about the command line. You can ask {% data variables.product.prodname_copilot_short %} to provide command suggestions or explanations of commands. Users can also integrate {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_windows_terminal %} Canary. See [AUTOTITLE](/copilot/using-github-copilot/using-github-copilot-in-the-command-line).
|
||||
|
||||
@@ -36,19 +36,19 @@ A chat-like interface in the terminal, where you can ask questions about the com
|
||||
|
||||
AI-generated code review suggestions to help you write better code. See [AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review).
|
||||
|
||||
### {% data variables.product.prodname_copilot_for_prs %}
|
||||
### {% data variables.copilot.copilot_for_prs %}
|
||||
|
||||
AI-generated summaries of the changes that were made in a pull request, which files they impact, and what a reviewer should focus on when they conduct their review. See [AUTOTITLE](/copilot/using-github-copilot/using-github-copilot-for-pull-requests/creating-a-pull-request-summary-with-github-copilot).
|
||||
|
||||
### {% data variables.product.prodname_copilot_workspace %} ({% data variables.release-phases.public_preview %})
|
||||
### {% data variables.copilot.copilot_workspace %} ({% data variables.release-phases.public_preview %})
|
||||
|
||||
A {% data variables.product.prodname_copilot_short %}-enabled environment for refining your pull requests, validating changes, and integrating suggestions from reviewers. See [AUTOTITLE](/copilot/using-github-copilot/using-github-copilot-for-pull-requests/using-copilot-to-help-you-work-on-a-pull-request).
|
||||
|
||||
### {% data variables.product.prodname_copilot_autocomplete_pr %} ({% data variables.release-phases.public_preview %})
|
||||
### {% data variables.copilot.copilot_autocomplete_pr %} ({% data variables.release-phases.public_preview %})
|
||||
|
||||
AI-generated text completion to help you write pull request descriptions quickly and accurately. See [AUTOTITLE](/copilot/using-github-copilot/using-copilot-text-completion).
|
||||
|
||||
### {% data variables.product.prodname_copilot_extensions %}
|
||||
### {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %} See [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions).
|
||||
|
||||
@@ -56,29 +56,29 @@ AI-generated text completion to help you write pull request descriptions quickly
|
||||
|
||||
Bringing the power of industry leading large and small language models to users directly on {% data variables.product.github %}. See [AUTOTITLE](/github-models).
|
||||
|
||||
### {% data variables.product.prodname_copilot_edits_short %}
|
||||
### {% data variables.copilot.copilot_edits_short %}
|
||||
|
||||
{% data variables.product.prodname_copilot_edits_short %} is available in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and JetBrains IDEs. {% data reusables.copilot.copilot-edits.about-copilot-edits %}
|
||||
{% data variables.copilot.copilot_edits_short %} is available in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and JetBrains IDEs. {% data reusables.copilot.copilot-edits.about-copilot-edits %}
|
||||
|
||||
### {% data variables.product.prodname_copilot_short %} custom instructions
|
||||
|
||||
Enhance {% data variables.product.prodname_copilot_chat_short %} responses by providing contextual details on your preferences, tools, and requirements. See [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses).
|
||||
Enhance {% data variables.copilot.copilot_chat_short %} responses by providing contextual details on your preferences, tools, and requirements. See [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses).
|
||||
|
||||
### {% data variables.product.prodname_copilot_desktop_short %} ({% data variables.release-phases.public_preview %})
|
||||
### {% data variables.copilot.copilot_desktop_short %} ({% data variables.release-phases.public_preview %})
|
||||
|
||||
Automatically generate commit messages and descriptions with {% data variables.product.prodname_copilot_desktop_short %} based on the changes you make to your project.
|
||||
Automatically generate commit messages and descriptions with {% data variables.copilot.copilot_desktop_short %} based on the changes you make to your project.
|
||||
|
||||
### {% data variables.product.prodname_copilot_spaces %} ({% data variables.release-phases.public_preview %})
|
||||
### {% data variables.copilot.copilot_spaces %} ({% data variables.release-phases.public_preview %})
|
||||
|
||||
Organize and centralize relevant content—like code, docs, specs, and more—into {% data variables.product.prodname_copilot_spaces_short %} that ground {% data variables.product.prodname_copilot_short %}’s responses in the right context for a specific task. See [AUTOTITLE](/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces).
|
||||
Organize and centralize relevant content—like code, docs, specs, and more—into {% data variables.copilot.copilot_spaces_short %} that ground {% data variables.product.prodname_copilot_short %}’s responses in the right context for a specific task. See [AUTOTITLE](/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces).
|
||||
|
||||
### {% data variables.product.prodname_copilot_short %} knowledge bases _({% data variables.product.prodname_copilot_enterprise_short %} only)_
|
||||
### {% data variables.product.prodname_copilot_short %} knowledge bases _({% data variables.copilot.copilot_enterprise_short %} only)_
|
||||
|
||||
Create and manage collections of documentation to use as context for chatting with {% data variables.product.prodname_copilot_short %}. When you ask a question in {% data variables.product.prodname_copilot_chat_dotcom_short %} or in {% data variables.product.prodname_vscode_shortname %}, you can specify a knowledge base as the context for your question. See [AUTOTITLE](/copilot/customizing-copilot/managing-copilot-knowledge-bases).
|
||||
Create and manage collections of documentation to use as context for chatting with {% data variables.product.prodname_copilot_short %}. When you ask a question in {% data variables.copilot.copilot_chat_dotcom_short %} or in {% data variables.product.prodname_vscode_shortname %}, you can specify a knowledge base as the context for your question. See [AUTOTITLE](/copilot/customizing-copilot/managing-copilot-knowledge-bases).
|
||||
|
||||
## {% data variables.product.prodname_copilot %} features for administrators
|
||||
|
||||
The following features are available to organization and enterprise owners with a {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} plan.
|
||||
The following features are available to organization and enterprise owners with a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan.
|
||||
|
||||
### Policy management
|
||||
|
||||
|
||||
@@ -16,15 +16,15 @@ redirect_from:
|
||||
|
||||
{% data variables.product.company_short %} offers several plans for {% data variables.product.prodname_copilot %}, depending on your needs and whether you're using {% data variables.product.prodname_copilot_short %} as an individual or as part of an organization or enterprise.
|
||||
|
||||
* **{% data variables.product.prodname_copilot_free %}** is available to individual developers who don't have access to {% data variables.product.prodname_copilot_short %} through an organization or enterprise. This free plan includes limited access to select {% data variables.product.prodname_copilot_short %} features, allowing you to try AI-powered coding assistance at no cost.
|
||||
* **{% data variables.copilot.copilot_free %}** is available to individual developers who don't have access to {% data variables.product.prodname_copilot_short %} through an organization or enterprise. This free plan includes limited access to select {% data variables.product.prodname_copilot_short %} features, allowing you to try AI-powered coding assistance at no cost.
|
||||
|
||||
* **{% data variables.product.prodname_copilot_pro %}** is designed for individuals who want more flexibility. This paid plan includes unlimited completions, access to premium models in {% data variables.product.prodname_copilot_chat_short %}, and a monthly allowance of premium requests. Verified students, teachers, and maintainers of popular open source projects may be eligible for free access.
|
||||
* **{% data variables.copilot.copilot_pro %}** is designed for individuals who want more flexibility. This paid plan includes unlimited completions, access to premium models in {% data variables.copilot.copilot_chat_short %}, and a monthly allowance of premium requests. Verified students, teachers, and maintainers of popular open source projects may be eligible for free access.
|
||||
|
||||
* **{% data variables.product.prodname_copilot_pro_plus %}** offers the highest level of access for individual developers. In addition to everything in {% data variables.product.prodname_copilot_pro_short %}, this plan includes {% data variables.copilot.copilot_coding_agent %}, a larger allowance of premium requests, and full access to all available models in {% data variables.product.prodname_copilot_chat_short %}. Ideal for AI power users who want access to the most advanced capabilities.
|
||||
* **{% data variables.copilot.copilot_pro_plus %}** offers the highest level of access for individual developers. In addition to everything in {% data variables.copilot.copilot_pro_short %}, this plan includes {% data variables.copilot.copilot_coding_agent %}, a larger allowance of premium requests, and full access to all available models in {% data variables.copilot.copilot_chat_short %}. Ideal for AI power users who want access to the most advanced capabilities.
|
||||
|
||||
* **{% data variables.product.prodname_copilot_for_business %}** is for organizations on {% data variables.product.prodname_free_team %} or {% data variables.product.prodname_team %} plan, or enterprises on {% data variables.product.prodname_ghe_cloud %}. This plan enables centralized management and {% data variables.product.prodname_copilot_short %} policy control for organization members.
|
||||
* **{% data variables.copilot.copilot_for_business %}** is for organizations on {% data variables.product.prodname_free_team %} or {% data variables.product.prodname_team %} plan, or enterprises on {% data variables.product.prodname_ghe_cloud %}. This plan enables centralized management and {% data variables.product.prodname_copilot_short %} policy control for organization members.
|
||||
|
||||
* **{% data variables.product.prodname_copilot_enterprise %}** is for enterprises using {% data variables.product.prodname_ghe_cloud %}. It includes all the features of {% data variables.product.prodname_copilot_business_short %}, plus {% data variables.copilot.copilot_coding_agent %} and additional enterprise-grade capabilities. Enterprise owners can assign either {% data variables.product.prodname_copilot_enterprise_short %} or {% data variables.product.prodname_copilot_business_short %} to individual organizations.
|
||||
* **{% data variables.copilot.copilot_enterprise %}** is for enterprises using {% data variables.product.prodname_ghe_cloud %}. It includes all the features of {% data variables.copilot.copilot_business_short %}, plus {% data variables.copilot.copilot_coding_agent %} and additional enterprise-grade capabilities. Enterprise owners can assign either {% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %} to individual organizations.
|
||||
|
||||
{% data variables.product.prodname_copilot_short %} is not currently available for {% data variables.product.prodname_ghe_server %}.
|
||||
|
||||
@@ -40,12 +40,12 @@ For more information, see [AUTOTITLE](/copilot/about-github-copilot/github-copil
|
||||
|
||||
Start using {% data variables.product.prodname_copilot_short %} by signing up for the plan that best fits your needs.
|
||||
|
||||
* **{% data variables.product.prodname_copilot_free_short %}** — Try {% data variables.product.prodname_copilot_short %} with limited features and requests. [Start using {% data variables.product.prodname_copilot_free_short %}](https://github.com/copilot).
|
||||
* **{% data variables.copilot.copilot_free_short %}** — Try {% data variables.product.prodname_copilot_short %} with limited features and requests. [Start using {% data variables.copilot.copilot_free_short %}](https://github.com/copilot).
|
||||
|
||||
* **{% data variables.product.prodname_copilot_pro_short %}** — Get unlimited completions and access to premium models. Includes a free 30-day trial for eligible users. [Try {% data variables.product.prodname_copilot_pro_short %} for free](https://github.com/github-copilot/signup?ref_cta=Copilot+trial&ref_loc=about+github+copilot&ref_page=docs).
|
||||
* **{% data variables.copilot.copilot_pro_short %}** — Get unlimited completions and access to premium models. Includes a free 30-day trial for eligible users. [Try {% data variables.copilot.copilot_pro_short %} for free](https://github.com/github-copilot/signup?ref_cta=Copilot+trial&ref_loc=about+github+copilot&ref_page=docs).
|
||||
|
||||
* **{% data variables.product.prodname_copilot_pro_plus_short %}** — Unlock advanced AI models, extended request limits, and extra capabilities. [Subscribe to {% data variables.product.prodname_copilot_pro_plus_short %}](https://github.com/github-copilot/signup?ref_cta=Copilot+Pro%2B&ref_loc=subscriptions+page&ref_page=docs).
|
||||
* **{% data variables.copilot.copilot_pro_plus_short %}** — Unlock advanced AI models, extended request limits, and extra capabilities. [Subscribe to {% data variables.copilot.copilot_pro_plus_short %}](https://github.com/github-copilot/signup?ref_cta=Copilot+Pro%2B&ref_loc=subscriptions+page&ref_page=docs).
|
||||
|
||||
* **{% data variables.product.prodname_copilot_business_short %}** — For teams and organizations. [Subscribe to {% data variables.product.prodname_copilot_business_short %}](https://github.com/github-copilot/purchase?priority=business&cft=copilot_li.copilot_plans.cfb).
|
||||
* **{% data variables.copilot.copilot_business_short %}** — For teams and organizations. [Subscribe to {% data variables.copilot.copilot_business_short %}](https://github.com/github-copilot/purchase?priority=business&cft=copilot_li.copilot_plans.cfb).
|
||||
|
||||
* **{% data variables.product.prodname_copilot_enterprise_short %}** — For enterprises that need advanced features and centralized management. [Subscribe to {% data variables.product.prodname_copilot_enterprise_short %}](https://github.com/github-copilot/purchase?priority=enterprise&cft=copilot_li.copilot_plans.ce).
|
||||
* **{% data variables.copilot.copilot_enterprise_short %}** — For enterprises that need advanced features and centralized management. [Subscribe to {% data variables.copilot.copilot_enterprise_short %}](https://github.com/github-copilot/purchase?priority=enterprise&cft=copilot_li.copilot_plans.ce).
|
||||
|
||||
@@ -36,10 +36,10 @@ redirect_from:
|
||||
* Get code suggestions as you type in your IDE
|
||||
* Chat with {% data variables.product.prodname_copilot_short %} to ask for help with your code
|
||||
* Ask {% data variables.product.prodname_copilot_short %} for help using the command line
|
||||
* Organize and share task-specific context with {% data variables.product.prodname_copilot_spaces %} to get more relevant answers
|
||||
* Generate a description of the changes in a pull request _({% data variables.product.prodname_copilot_enterprise_short %} only)_
|
||||
* Create and manage collections of documentation, called knowledge bases, to use as a context for chatting with {% data variables.product.prodname_copilot_short %} _({% data variables.product.prodname_copilot_enterprise_short %} only)_
|
||||
* Work on code changes and create a pull request for you to review _({% data variables.product.prodname_copilot_pro_plus_short %} and {% data variables.product.prodname_copilot_enterprise_short %} only)_
|
||||
* Organize and share task-specific context with {% data variables.copilot.copilot_spaces %} to get more relevant answers
|
||||
* Generate a description of the changes in a pull request _({% data variables.copilot.copilot_enterprise_short %} only)_
|
||||
* Create and manage collections of documentation, called knowledge bases, to use as a context for chatting with {% data variables.product.prodname_copilot_short %} _({% data variables.copilot.copilot_enterprise_short %} only)_
|
||||
* Work on code changes and create a pull request for you to review _({% data variables.copilot.copilot_pro_plus_short %} and {% data variables.copilot.copilot_enterprise_short %} only)_
|
||||
|
||||
{% data variables.product.prodname_copilot_short %} is available:
|
||||
|
||||
@@ -57,19 +57,19 @@ There are a few ways you can start using {% data variables.product.prodname_copi
|
||||
|
||||
### For individuals
|
||||
|
||||
* **Try {% data variables.product.prodname_copilot_short %} for free**: Use {% data variables.product.prodname_copilot_free_short %} to explore core {% data variables.product.prodname_copilot_short %} features with no paid plan required.
|
||||
* **Subscribe to a paid plan**: Upgrade to {% data variables.product.prodname_copilot_pro_short %} or {% data variables.product.prodname_copilot_pro_plus_short %} for full access to premium features and more generous usage limits. You can <a href="https://github.com/github-copilot/signup?ref_cta=Copilot+trial&ref_loc=about+github+copilot&ref_page=docs" target="_blank"><span>try {% data variables.product.prodname_copilot_pro_short %} for free</span></a> with a one-time 30-day trial.
|
||||
* **Eligible for free {% data variables.product.prodname_copilot_pro_short %} access?** Students, teachers, and open source maintainers may qualify for {% data variables.product.prodname_copilot_pro_short %} at no cost. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer).
|
||||
* **Try {% data variables.product.prodname_copilot_short %} for free**: Use {% data variables.copilot.copilot_free_short %} to explore core {% data variables.product.prodname_copilot_short %} features with no paid plan required.
|
||||
* **Subscribe to a paid plan**: Upgrade to {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} for full access to premium features and more generous usage limits. You can <a href="https://github.com/github-copilot/signup?ref_cta=Copilot+trial&ref_loc=about+github+copilot&ref_page=docs" target="_blank"><span>try {% data variables.copilot.copilot_pro_short %} for free</span></a> with a one-time 30-day trial.
|
||||
* **Eligible for free {% data variables.copilot.copilot_pro_short %} access?** Students, teachers, and open source maintainers may qualify for {% data variables.copilot.copilot_pro_short %} at no cost. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer).
|
||||
* **Organization members**: If your organization or enterprise has a {% data variables.product.prodname_copilot %} plan, you can request access to {% data variables.product.prodname_copilot_short %} by going to [https://github.com/settings/copilot](https://github.com/settings/copilot) and requesting access under "Get {% data variables.product.prodname_copilot_short %} from an organization."
|
||||
|
||||
See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-started-with-copilot-on-your-personal-account/getting-started-with-a-copilot-plan) for more information.
|
||||
|
||||
### For organizations and enterprises
|
||||
|
||||
* **Organization owners**: Purchase {% data variables.product.prodname_copilot_business_short %} for your team. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/subscribing-to-copilot-for-your-organization). If your organization is owned by an enterprise that has a {% data variables.product.prodname_copilot_short %} subscription, you can ask your enterprise owner to enable {% data variables.product.prodname_copilot_short %} for your organization by going to [https://github.com/settings/copilot](https://github.com/settings/copilot) and requesting access under "Get {% data variables.product.prodname_copilot_short %} from an organization."
|
||||
* **Enterprise owners**: Purchase {% data variables.product.prodname_copilot_business_short %} or {% data variables.product.prodname_copilot_enterprise_short %} for your enterprise. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/subscribing-to-copilot-for-your-enterprise).
|
||||
* **Organization owners**: Purchase {% data variables.copilot.copilot_business_short %} for your team. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/subscribing-to-copilot-for-your-organization). If your organization is owned by an enterprise that has a {% data variables.product.prodname_copilot_short %} subscription, you can ask your enterprise owner to enable {% data variables.product.prodname_copilot_short %} for your organization by going to [https://github.com/settings/copilot](https://github.com/settings/copilot) and requesting access under "Get {% data variables.product.prodname_copilot_short %} from an organization."
|
||||
* **Enterprise owners**: Purchase {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} for your enterprise. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/subscribing-to-copilot-for-your-enterprise).
|
||||
|
||||
If you **don't need other {% data variables.product.github %} features**, you can request an enterprise account specifically for managing {% data variables.product.prodname_copilot_business_short %} licenses. These accounts don't include repository or organization creation and don’t incur {% data variables.product.prodname_enterprise %} seat charges. See [AUTOTITLE](/enterprise-cloud@latest/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business).
|
||||
If you **don't need other {% data variables.product.github %} features**, you can request an enterprise account specifically for managing {% data variables.copilot.copilot_business_short %} licenses. These accounts don't include repository or organization creation and don’t incur {% data variables.product.prodname_enterprise %} seat charges. See [AUTOTITLE](/enterprise-cloud@latest/admin/copilot-business-only/about-enterprise-accounts-for-copilot-business).
|
||||
|
||||
## Next steps
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: About building Copilot Extensions
|
||||
intro: 'Learn about the development process for {% data variables.product.prodname_copilot_extensions_short %}.'
|
||||
intro: 'Learn about the development process for {% data variables.copilot.copilot_extensions_short %}.'
|
||||
product: '{% data reusables.gated-features.copilot-extensions %}'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
@@ -10,26 +10,26 @@ shortTitle: About building Extensions
|
||||
type: overview
|
||||
---
|
||||
|
||||
## About {% data variables.product.prodname_copilot_extensions_short %}
|
||||
## About {% data variables.copilot.copilot_extensions_short %}
|
||||
|
||||
{% data variables.product.prodname_copilot_extensions_short %} are integrations that expand the functionality of {% data variables.product.prodname_copilot_chat_short %}, allowing developers to bring external tools, services, and custom behaviors into the Chat experience. You can use {% data variables.product.prodname_copilot_extensions_short %} to extend the capabilities of {% data variables.product.prodname_copilot_chat_short %} in a variety of ways, including:
|
||||
{% data variables.copilot.copilot_extensions_short %} are integrations that expand the functionality of {% data variables.copilot.copilot_chat_short %}, allowing developers to bring external tools, services, and custom behaviors into the Chat experience. You can use {% data variables.copilot.copilot_extensions_short %} to extend the capabilities of {% data variables.copilot.copilot_chat_short %} in a variety of ways, including:
|
||||
|
||||
* **Querying documentation:** A {% data variables.product.prodname_copilot_extension_short %} can allow {% data variables.product.prodname_copilot_chat_short %} to query a third-party documentation service to find information about a specific topic.
|
||||
* **AI-assisted coding:** A {% data variables.product.prodname_copilot_extension_short %} can use a third-party AI model to provide code suggestions.
|
||||
* **Data retrieval:** A {% data variables.product.prodname_copilot_extension_short %} can allow {% data variables.product.prodname_copilot_chat_short %} to query a third-party data service to retrieve information about a specific topic.
|
||||
* **Action execution:** A {% data variables.product.prodname_copilot_extension_short %} can allow {% data variables.product.prodname_copilot_chat_short %} to execute a specific action, such as posting to a message board or updating a tracking item in an external system.
|
||||
* **Querying documentation:** A {% data variables.copilot.copilot_extension_short %} can allow {% data variables.copilot.copilot_chat_short %} to query a third-party documentation service to find information about a specific topic.
|
||||
* **AI-assisted coding:** A {% data variables.copilot.copilot_extension_short %} can use a third-party AI model to provide code suggestions.
|
||||
* **Data retrieval:** A {% data variables.copilot.copilot_extension_short %} can allow {% data variables.copilot.copilot_chat_short %} to query a third-party data service to retrieve information about a specific topic.
|
||||
* **Action execution:** A {% data variables.copilot.copilot_extension_short %} can allow {% data variables.copilot.copilot_chat_short %} to execute a specific action, such as posting to a message board or updating a tracking item in an external system.
|
||||
|
||||
## About building {% data variables.product.prodname_copilot_extensions %}
|
||||
## About building {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
{% data variables.product.prodname_copilot_extensions %} are a type of {% data variables.product.prodname_copilot_extension_short %} built with {% data variables.product.prodname_github_apps %}. {% data variables.product.prodname_copilot_extensions %} are best suited for developers who want cross-platform compatibility and app management and support from {% data variables.product.github %}.
|
||||
{% data variables.copilot.copilot_extensions %} are a type of {% data variables.copilot.copilot_extension_short %} built with {% data variables.product.prodname_github_apps %}. {% data variables.copilot.copilot_extensions %} are best suited for developers who want cross-platform compatibility and app management and support from {% data variables.product.github %}.
|
||||
|
||||
### Supported clients and IDEs
|
||||
|
||||
{% data reusables.copilot.copilot-extensions.supported-clients-and-ides-table %}
|
||||
|
||||
### About visibility of {% data variables.product.prodname_copilot_extensions %}
|
||||
### About visibility of {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
{% data variables.product.prodname_copilot_extensions %} can be private, public and shareable, or public and listed on the {% data variables.product.prodname_marketplace %}. Which visibility option you choose will depend on your use case and the audience you are targeting.
|
||||
{% data variables.copilot.copilot_extensions %} can be private, public and shareable, or public and listed on the {% data variables.product.prodname_marketplace %}. Which visibility option you choose will depend on your use case and the audience you are targeting.
|
||||
|
||||
* Private extensions are often preferred by large enterprises or companies that:
|
||||
* Want more customization and controls over data access
|
||||
@@ -44,13 +44,13 @@ type: overview
|
||||
* Integrate their tool into the developer workflow on {% data variables.product.company_short %} and the IDE
|
||||
* Leverage the {% data variables.product.company_short %} ecosystem to raise awareness for their product
|
||||
|
||||
### About {% data variables.product.prodname_copilot_extensions %} permissions
|
||||
### About {% data variables.copilot.copilot_extensions %} permissions
|
||||
|
||||
{% data reusables.copilot.copilot-extensions.about-extensions-permissions %}
|
||||
|
||||
#### Granting permissions to access organization resources
|
||||
|
||||
Only organization admins can grant permissions for {% data variables.product.prodname_copilot_extensions_short %} to access organization resources.
|
||||
Only organization admins can grant permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources.
|
||||
To grant organization members access:
|
||||
* The organization admin must install the extension.
|
||||
* The organization admin must grant the extension permission to access specific repositories.
|
||||
@@ -64,9 +64,9 @@ For more information about skillsets, see [AUTOTITLE](/copilot/building-copilot-
|
||||
|
||||
### About context passing
|
||||
|
||||
You can allow your {% data variables.product.prodname_copilot_extension_short %} to receive context from the editor, such as the currently opened file, by enabling the **Read-only** access level for the "{% data variables.product.prodname_copilot_short %} Editor Context" permission in your {% data variables.product.prodname_github_app %} settings. See step 10 of [Configuring your {% data variables.product.prodname_github_app %}](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-extension#configuring-your-github-app).
|
||||
You can allow your {% data variables.copilot.copilot_extension_short %} to receive context from the editor, such as the currently opened file, by enabling the **Read-only** access level for the "{% data variables.product.prodname_copilot_short %} Editor Context" permission in your {% data variables.product.prodname_github_app %} settings. See step 10 of [Configuring your {% data variables.product.prodname_github_app %}](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-extension#configuring-your-github-app).
|
||||
|
||||
The {% data variables.product.prodname_copilot_extensibility_platform %} automatically handles messaging when implicit and explicit context is unavailable or unauthorized. To enable context passing, you are required to request permissions from users. To enable context passing, you are required to:
|
||||
The {% data variables.copilot.copilot_extensibility_platform %} automatically handles messaging when implicit and explicit context is unavailable or unauthorized. To enable context passing, you are required to request permissions from users. To enable context passing, you are required to:
|
||||
|
||||
* Update your APIs to handle new reference types.
|
||||
* Request permissions from users. When requesting permissions, follow these best practices:
|
||||
@@ -79,39 +79,39 @@ Context passing respects content exclusions, which refers to any files listed in
|
||||
|
||||
For more information about context passing, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent).
|
||||
|
||||
### Using APIs in {% data variables.product.prodname_copilot_extensions %}
|
||||
### Using APIs in {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
Building {% data variables.product.prodname_copilot_extensions %} requires using the {% data variables.product.github %} API. Optionally, the {% data variables.product.prodname_copilot_short %} API can be used for additional capabilities. For details on request and response formatting, see the [OpenAI API documentation](https://platform.openai.com/docs/api-reference/chat).
|
||||
Building {% data variables.copilot.copilot_extensions %} requires using the {% data variables.product.github %} API. Optionally, the {% data variables.product.prodname_copilot_short %} API can be used for additional capabilities. For details on request and response formatting, see the [OpenAI API documentation](https://platform.openai.com/docs/api-reference/chat).
|
||||
|
||||
> [!NOTE] The {% data variables.product.prodname_copilot_short %} API is available for {% data variables.product.prodname_copilot_extension_short %} builders, but only {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_vscode_shortname %} Chat extensions can be used to access these endpoints.
|
||||
> [!NOTE] The {% data variables.product.prodname_copilot_short %} API is available for {% data variables.copilot.copilot_extension_short %} builders, but only {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_vscode_shortname %} Chat extensions can be used to access these endpoints.
|
||||
|
||||
## Resources for building {% data variables.product.prodname_copilot_extensions %}
|
||||
## Resources for building {% data variables.copilot.copilot_extensions %}
|
||||
|
||||
{% data variables.product.company_short %} provides a comprehensive toolkit for extension builders, with code samples, a CLI debugging tool, quickstart SDKs, and a user feedback repository. For more information, see the [copilot-extensions](https://github.com/orgs/copilot-extensions/) organization on {% data variables.product.company_short %}.
|
||||
|
||||
Before creating your own {% data variables.product.prodname_copilot_extension %} from scratch, you may want to explore an existing {% data variables.product.prodname_copilot_agent_short %}, then integrate it with a {% data variables.product.prodname_github_app %} to see how it works. {% data variables.product.company_short %} provides a few example {% data variables.product.prodname_copilot_agents_short %} that you can clone and use as the basis for your own {% data variables.product.prodname_copilot_extension %}:
|
||||
Before creating your own {% data variables.copilot.copilot_extension %} from scratch, you may want to explore an existing {% data variables.copilot.copilot_agent_short %}, then integrate it with a {% data variables.product.prodname_github_app %} to see how it works. {% data variables.product.company_short %} provides a few example {% data variables.copilot.copilot_agents_short %} that you can clone and use as the basis for your own {% data variables.copilot.copilot_extension %}:
|
||||
|
||||
* **Blackbeard:** A simple {% data variables.product.prodname_copilot_agent_short %} that responds to requests like a pirate, using {% data variables.product.prodname_copilot_short %}'s LLM API and special system prompts. It is a good starting point for learning how to build a {% data variables.product.prodname_copilot_extension %}. For more information, see the [Blackbeard {% data variables.product.prodname_copilot_extension_short %}](https://github.com/copilot-extensions/blackbeard-extension).
|
||||
* **{% data variables.product.prodname_github_models %}:** A more complex {% data variables.product.prodname_copilot_agent_short %} that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} from within {% data variables.product.prodname_copilot_chat_short %}. For more information, see the [{% data variables.product.prodname_github_models %} {% data variables.product.prodname_copilot_extension_short %}](https://github.com/copilot-extensions/github-models-extension).
|
||||
* **Blackbeard:** A simple {% data variables.copilot.copilot_agent_short %} that responds to requests like a pirate, using {% data variables.product.prodname_copilot_short %}'s LLM API and special system prompts. It is a good starting point for learning how to build a {% data variables.copilot.copilot_extension %}. For more information, see the [Blackbeard {% data variables.copilot.copilot_extension_short %}](https://github.com/copilot-extensions/blackbeard-extension).
|
||||
* **{% data variables.product.prodname_github_models %}:** A more complex {% data variables.copilot.copilot_agent_short %} that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} from within {% data variables.copilot.copilot_chat_short %}. For more information, see the [{% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %}](https://github.com/copilot-extensions/github-models-extension).
|
||||
|
||||
> [!NOTE] {% data variables.product.prodname_github_models %} are in {% data variables.release-phases.public_preview %} and subject to change. To request access, join the [waitlist](https://github.com/marketplace/models/waitlist).
|
||||
* **Function calling:** an example agent written in Go that demonstrates function calling and confirmation dialogues. For more information, see the [Function calling extension](https://github.com/copilot-extensions/function-calling-extension).
|
||||
* **RAG extension:** an example agent written in Go that demonstrates a simple implementation of retrieval augmented generation. For more information, see the [RAG extension](https://github.com/copilot-extensions/rag-extension).
|
||||
* **Preview SDK:** An SDK that simplifies the process of building {% data variables.product.prodname_copilot_extensions %} by handling request verification, response formatting, and API interactions. It allows builders to focus on their extension's core functionality rather than boilerplate, by streamlining the integration of tools, APIs, and data sources into {% data variables.product.prodname_copilot_chat_short %}. For more information, see the [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js).
|
||||
* **Preview SDK:** An SDK that simplifies the process of building {% data variables.copilot.copilot_extensions %} by handling request verification, response formatting, and API interactions. It allows builders to focus on their extension's core functionality rather than boilerplate, by streamlining the integration of tools, APIs, and data sources into {% data variables.copilot.copilot_chat_short %}. For more information, see the [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js).
|
||||
|
||||
## About building {% data variables.product.prodname_copilot_extensions_vsc %}
|
||||
## About building {% data variables.copilot.copilot_extensions_vsc %}
|
||||
|
||||
> [!NOTE] The {% data variables.product.github %} documentation focuses on building {% data variables.product.prodname_copilot_extensions %}, not {% data variables.product.prodname_copilot_extensions_vsc %}.
|
||||
> [!NOTE] The {% data variables.product.github %} documentation focuses on building {% data variables.copilot.copilot_extensions %}, not {% data variables.copilot.copilot_extensions_vsc %}.
|
||||
|
||||
You can build a {% data variables.product.prodname_copilot_extension_short %} that is exclusive and native to {% data variables.product.prodname_vscode %}, called a {% data variables.product.prodname_copilot_extensions_vsc %}. This option is best suited for developers who want to build extensions that use {% data variables.product.prodname_vscode_shortname %}-specific APIs and functionality, or extend existing {% data variables.product.prodname_vscode_shortname %} extensions.
|
||||
You can build a {% data variables.copilot.copilot_extension_short %} that is exclusive and native to {% data variables.product.prodname_vscode %}, called a {% data variables.copilot.copilot_extensions_vsc %}. This option is best suited for developers who want to build extensions that use {% data variables.product.prodname_vscode_shortname %}-specific APIs and functionality, or extend existing {% data variables.product.prodname_vscode_shortname %} extensions.
|
||||
|
||||
Also known as {% data variables.product.prodname_vscode_shortname %} Chat extensions, {% data variables.product.prodname_copilot_extensions_vsc %} function similarly to {% data variables.product.prodname_copilot_extensions %} by extending the capabilities of {% data variables.product.prodname_copilot_chat_short %}, with a few notable differences:
|
||||
Also known as {% data variables.product.prodname_vscode_shortname %} Chat extensions, {% data variables.copilot.copilot_extensions_vsc %} function similarly to {% data variables.copilot.copilot_extensions %} by extending the capabilities of {% data variables.copilot.copilot_chat_short %}, with a few notable differences:
|
||||
* {% data variables.product.prodname_vscode_shortname %} Chat extensions are only usable in {% data variables.product.prodname_vscode_shortname %}.
|
||||
* {% data variables.product.prodname_vscode_shortname %} Chat extensions have more access to {% data variables.product.prodname_vscode_shortname %}'s features and APIs, allowing more editor-specific interactions like accessing local workspace data, manipulating {% data variables.product.prodname_vscode %}'s interface, and read/write access to local files.
|
||||
* {% data variables.product.prodname_vscode_shortname %} Chat extensions are published to the {% data variables.product.prodname_vs_marketplace_shortname %}, not the {% data variables.product.prodname_marketplace %}.
|
||||
* {% data variables.product.prodname_vscode_shortname %} Chat extensions are local to the user's machine, and cannot be controlled by an organization{% ifversion ghec %} or enterprise's{% else %}'s{% endif %} policies.
|
||||
|
||||
For more information on {% data variables.product.prodname_copilot_extensions_vsc %}, see [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation.
|
||||
For more information on {% data variables.copilot.copilot_extensions_vsc %}, see [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation.
|
||||
|
||||
## Further reading
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: About Copilot agents
|
||||
intro: 'Learn what {% data variables.product.prodname_copilot_agents %} are and how they can enhance your {% data variables.product.prodname_copilot_chat %} experience.'
|
||||
intro: 'Learn what {% data variables.copilot.copilot_agents %} are and how they can enhance your {% data variables.copilot.copilot_chat %} experience.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -9,11 +9,11 @@ shortTitle: About Copilot agents
|
||||
type: overview
|
||||
---
|
||||
|
||||
{% data variables.product.prodname_copilot_agents_short %} are custom tools embedded in {% data variables.product.prodname_copilot_extensions_short %}. They integrate with {% data variables.product.prodname_copilot_chat_short %} to provide additional functionalities tailored to specific needs. {% data variables.product.prodname_copilot_agents_short %} can perform various tasks such as querying documentation, retrieving data, executing specific actions, or providing AI-assisted coding suggestions. They enhance the capabilities of {% data variables.product.prodname_copilot %} by allowing developers to build and integrate custom features directly into the {% data variables.product.prodname_copilot_chat_short %} interface.
|
||||
{% data variables.copilot.copilot_agents_short %} are custom tools embedded in {% data variables.copilot.copilot_extensions_short %}. They integrate with {% data variables.copilot.copilot_chat_short %} to provide additional functionalities tailored to specific needs. {% data variables.copilot.copilot_agents_short %} can perform various tasks such as querying documentation, retrieving data, executing specific actions, or providing AI-assisted coding suggestions. They enhance the capabilities of {% data variables.product.prodname_copilot %} by allowing developers to build and integrate custom features directly into the {% data variables.copilot.copilot_chat_short %} interface.
|
||||
|
||||
To use a {% data variables.product.prodname_copilot_agent_short %} in {% data variables.product.prodname_copilot_chat_short %}, it must be associated with a {% data variables.product.prodname_github_app %}. This combination of a {% data variables.product.prodname_github_app %} and a {% data variables.product.prodname_copilot_agent_short %} is what we refer to as a {% data variables.product.prodname_copilot_extension %}. For more information on {% data variables.product.prodname_copilot_extensions_short %}, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions).
|
||||
To use a {% data variables.copilot.copilot_agent_short %} in {% data variables.copilot.copilot_chat_short %}, it must be associated with a {% data variables.product.prodname_github_app %}. This combination of a {% data variables.product.prodname_github_app %} and a {% data variables.copilot.copilot_agent_short %} is what we refer to as a {% data variables.copilot.copilot_extension %}. For more information on {% data variables.copilot.copilot_extensions_short %}, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions).
|
||||
|
||||
Any {% data variables.product.company_short %} user can create a {% data variables.product.prodname_copilot_extension_short %} by building a {% data variables.product.prodname_copilot_agent_short %} and associating it with a {% data variables.product.prodname_github_app %}. For more information on creating a {% data variables.product.prodname_copilot_extension_short %}, see [AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions).
|
||||
Any {% data variables.product.company_short %} user can create a {% data variables.copilot.copilot_extension_short %} by building a {% data variables.copilot.copilot_agent_short %} and associating it with a {% data variables.product.prodname_github_app %}. For more information on creating a {% data variables.copilot.copilot_extension_short %}, see [AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions).
|
||||
|
||||
## Further reading
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Configuring your Copilot agent to communicate with GitHub
|
||||
intro: 'Learn how to verify payloads and get resources from {% data variables.product.github %} with your {% data variables.product.prodname_copilot_agent_short %}.'
|
||||
intro: 'Learn how to verify payloads and get resources from {% data variables.product.github %} with your {% data variables.copilot.copilot_agent_short %}.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -15,7 +15,7 @@ type: reference
|
||||
|
||||
## Verifying that payloads are coming from {% data variables.product.github %}
|
||||
|
||||
Before your {% data variables.product.prodname_copilot_agent_short %} begins processing a request, you should verify that the request came from {% data variables.product.github %}, and that it is intended for your agent. All agent requests contain the `X-GitHub-Public-Key-Identifier` and `X-GitHub-Public-Key-Signature` headers. To verify the signature for a particular request, compare the signature in the `X-GitHub-Public-Key-Signature` header with a signed copy of the request body using the current public key listed at https://api.github.com/meta/public_keys/copilot_api.
|
||||
Before your {% data variables.copilot.copilot_agent_short %} begins processing a request, you should verify that the request came from {% data variables.product.github %}, and that it is intended for your agent. All agent requests contain the `X-GitHub-Public-Key-Identifier` and `X-GitHub-Public-Key-Signature` headers. To verify the signature for a particular request, compare the signature in the `X-GitHub-Public-Key-Signature` header with a signed copy of the request body using the current public key listed at https://api.github.com/meta/public_keys/copilot_api.
|
||||
|
||||
For more details and examples of signature verification in specific languages, see the [`github-technology-partners/signature-verification`](https://github.com/github-technology-partners/signature-verification) repository.
|
||||
|
||||
@@ -23,7 +23,7 @@ For more details and examples of signature verification in specific languages, s
|
||||
|
||||
## Fetching resources from the {% data variables.product.github %} API
|
||||
|
||||
Requests to your {% data variables.product.prodname_copilot_agent_short %} will receive an `X-GitHub-Token` header. This header contains an API token that can be used to fetch resources from the {% data variables.product.github %} API on behalf of the user interacting with your agent. The permissions of this token are the overlap of the user's own permissions and the permissions granted to your {% data variables.product.prodname_github_app %} installation.
|
||||
Requests to your {% data variables.copilot.copilot_agent_short %} will receive an `X-GitHub-Token` header. This header contains an API token that can be used to fetch resources from the {% data variables.product.github %} API on behalf of the user interacting with your agent. The permissions of this token are the overlap of the user's own permissions and the permissions granted to your {% data variables.product.prodname_github_app %} installation.
|
||||
|
||||
For an example of how you might use `X-GitHub-Token`, see the following code sample:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Configuring your Copilot agent to communicate with the Copilot platform
|
||||
intro: 'Learn how to interact with the {% data variables.product.prodname_copilot_short %} platform by sending and receiving server-sent events with your {% data variables.product.prodname_copilot_agent_short %}.'
|
||||
intro: 'Learn how to interact with the {% data variables.product.prodname_copilot_short %} platform by sending and receiving server-sent events with your {% data variables.copilot.copilot_agent_short %}.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -10,7 +10,7 @@ type: reference
|
||||
layout: inline
|
||||
---
|
||||
|
||||
{% data variables.product.prodname_copilot_agents_short %} communicate with the {% data variables.product.prodname_copilot_short %} platform in the form of server-sent events (SSEs). Rather than waiting for the {% data variables.product.prodname_copilot_short %} platform to request an update from your agent, or vice versa, you can use SSEs to send and receive updates to and from the platform in real time.
|
||||
{% data variables.copilot.copilot_agents_short %} communicate with the {% data variables.product.prodname_copilot_short %} platform in the form of server-sent events (SSEs). Rather than waiting for the {% data variables.product.prodname_copilot_short %} platform to request an update from your agent, or vice versa, you can use SSEs to send and receive updates to and from the platform in real time.
|
||||
|
||||
To learn more about SSEs, see [Server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) in the mdn documentation.
|
||||
|
||||
@@ -87,7 +87,7 @@ data: [{
|
||||
|
||||
### `copilot_references`
|
||||
|
||||
> [!NOTE] Rendering references is currently unsupported for {% data variables.product.prodname_copilot_mobile_short %}. Extensions that depend on reference memory to generate responses will still work, but the references will not be displayed to the user.
|
||||
> [!NOTE] Rendering references is currently unsupported for {% data variables.copilot.copilot_mobile_short %}. Extensions that depend on reference memory to generate responses will still work, but the references will not be displayed to the user.
|
||||
|
||||
The `copilot_references` SSE sends the user a list of references used to generate a response. This SSE is sent through an event type and data field. See the following code for an example of a `copilot_references` SSE:
|
||||
|
||||
@@ -149,4 +149,4 @@ curl --request POST \
|
||||
|
||||
## Next steps
|
||||
|
||||
Now that you understand how your {% data variables.product.prodname_copilot_agent_short %} communicates with the {% data variables.product.prodname_copilot_short %} platform, you can learn how to integrate your agent with the {% data variables.product.github %} API. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github).
|
||||
Now that you understand how your {% data variables.copilot.copilot_agent_short %} communicates with the {% data variables.product.prodname_copilot_short %} platform, you can learn how to integrate your agent with the {% data variables.product.github %} API. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Context passing for your agent
|
||||
intro: 'Learn how to use context passing with your {% data variables.product.prodname_copilot_agent_short %}.'
|
||||
intro: 'Learn how to use context passing with your {% data variables.copilot.copilot_agent_short %}.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -11,12 +11,12 @@ type: how_to
|
||||
|
||||
## About context passing
|
||||
|
||||
{% data variables.product.prodname_copilot_extensions %} can access certain contextual information using context passing.
|
||||
{% data variables.copilot.copilot_extensions %} can access certain contextual information using context passing.
|
||||
Context passing allows agents to receive relevant details about a user’s current file, selected text, and repository.
|
||||
It happens automatically when you interact with an extension, but requires your explicit authorization through {% data variables.product.prodname_github_app %} permissions for use in any organization-owned repositories.
|
||||
|
||||
Different clients, such as {% data variables.product.prodname_copilot_chat %} in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and {% data variables.product.github %}, provide context through different reference types.
|
||||
For example, IDEs send information such as file contents and selections, while {% data variables.product.prodname_copilot_chat_dotcom_short %} includes the current URL for the page being viewed.
|
||||
Different clients, such as {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and {% data variables.product.github %}, provide context through different reference types.
|
||||
For example, IDEs send information such as file contents and selections, while {% data variables.copilot.copilot_chat_dotcom_short %} includes the current URL for the page being viewed.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -28,7 +28,7 @@ Context passing enables agents to receive information about the user’s active
|
||||
Your agent receives server-sent events (SSEs) that contain a list of messages from the user as well as references to the user’s current environment.
|
||||
Depending on the client, different types of context are provided.
|
||||
|
||||
The following table shows the reference types that are passed to {% data variables.product.prodname_copilot_extensions %} based on the client or IDE you are using.
|
||||
The following table shows the reference types that are passed to {% data variables.copilot.copilot_extensions %} based on the client or IDE you are using.
|
||||
|
||||
{% rowheaders %}
|
||||
|
||||
@@ -41,14 +41,14 @@ The following table shows the reference types that are passed to {% data variabl
|
||||
|
||||
{% endrowheaders %}
|
||||
|
||||
### Reference types for {% data variables.product.prodname_copilot_chat_short %} in IDEs
|
||||
### Reference types for {% data variables.copilot.copilot_chat_short %} in IDEs
|
||||
|
||||
The following reference types can be passed to your agent from an IDE:
|
||||
* `client.file`: Represents the full content of the currently active file in the IDE.
|
||||
* `client.selection`: Represents the selected portion of text the user highlighted in the active file.
|
||||
* `github.repository`: Provides information about the active repository.
|
||||
|
||||
### Reference types for {% data variables.product.prodname_copilot_chat_dotcom_short %}
|
||||
### Reference types for {% data variables.copilot.copilot_chat_dotcom_short %}
|
||||
|
||||
The following reference types can be passed to your agent from {% data variables.product.github %}:
|
||||
* `github.current-url`: Represents the URL of the current {% data variables.product.github %} page the user is viewing.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Building a Copilot agent for your Copilot Extension
|
||||
shortTitle: Build a Copilot agent
|
||||
intro: 'Learn how to build a custom {% data variables.product.prodname_copilot_agent_short %} that determines the functionality of your {% data variables.product.prodname_copilot_extension_short %}.'
|
||||
intro: 'Learn how to build a custom {% data variables.copilot.copilot_agent_short %} that determines the functionality of your {% data variables.copilot.copilot_extension_short %}.'
|
||||
versions:
|
||||
feature: copilot
|
||||
topics:
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
---
|
||||
title: About Copilot skillsets
|
||||
intro: 'Learn what {% data variables.product.prodname_copilot_skillsets %} are and how they simplify integrating third-party tools and functions into your {% data variables.product.prodname_copilot_short %} experience.'
|
||||
intro: 'Learn what {% data variables.copilot.copilot_skillsets %} are and how they simplify integrating third-party tools and functions into your {% data variables.product.prodname_copilot_short %} experience.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
- Copilot
|
||||
shortTitle: About {% data variables.product.prodname_copilot_skillsets_short %}
|
||||
shortTitle: About {% data variables.copilot.copilot_skillsets_short %}
|
||||
type: overview
|
||||
---
|
||||
|
||||
A skill within {% data variables.product.prodname_copilot %} is a tool that the model calls to perform a specific task in response to a user query. A skillset is a collection of these skills (up to five per skillset). {% data variables.product.prodname_copilot_skillsets %} provide a streamlined way to extend {% data variables.product.prodname_copilot_short %}’s functionality, allowing builders to integrate external services or custom API endpoints into their {% data variables.product.prodname_copilot_short %} workflow. With skillsets, builders can enable {% data variables.product.prodname_copilot_short %} to perform tasks—such as retrieving data or executing actions in third-party services—without needing to manage complex workflows or architecture.
|
||||
A skill within {% data variables.product.prodname_copilot %} is a tool that the model calls to perform a specific task in response to a user query. A skillset is a collection of these skills (up to five per skillset). {% data variables.copilot.copilot_skillsets %} provide a streamlined way to extend {% data variables.product.prodname_copilot_short %}’s functionality, allowing builders to integrate external services or custom API endpoints into their {% data variables.product.prodname_copilot_short %} workflow. With skillsets, builders can enable {% data variables.product.prodname_copilot_short %} to perform tasks—such as retrieving data or executing actions in third-party services—without needing to manage complex workflows or architecture.
|
||||
|
||||
For a quickstart example of a skillset, see the [skillset-example](https://github.com/copilot-extensions/skillset-example) repository. For information on building a skillset, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets).
|
||||
|
||||
@@ -20,14 +20,14 @@ For a quickstart example of a skillset, see the [skillset-example](https://githu
|
||||
|
||||
## The extensibility platform
|
||||
|
||||
Skillsets and agents both operate on the {% data variables.product.prodname_copilot_extensibility_platform %}, which manages the flow of user requests and function evaluations. With {% data variables.product.prodname_copilot_skillsets_short %}, the platform handles routing, prompt crafting, function calls and prompt generation.
|
||||
Skillsets and agents both operate on the {% data variables.copilot.copilot_extensibility_platform %}, which manages the flow of user requests and function evaluations. With {% data variables.copilot.copilot_skillsets_short %}, the platform handles routing, prompt crafting, function calls and prompt generation.
|
||||
|
||||
### Workflow overview
|
||||
|
||||
The extensibility platform follows a structured workflow to process user requests and generate responses:
|
||||
|
||||
1. **User request**
|
||||
A user issues a request in the {% data variables.product.prodname_copilot_chat_short %} interface, such as asking for data or executing a specific action.
|
||||
A user issues a request in the {% data variables.copilot.copilot_chat_short %} interface, such as asking for data or executing a specific action.
|
||||
|
||||
1. **Routing**
|
||||
The request is routed to the appropriate extension. For skillsets, this means the platform agent identifies and invokes the corresponding skillset based on the user’s intent. Each skill’s inference description helps the platform determine which skill to call.
|
||||
@@ -47,7 +47,7 @@ The language model (LLM) processes the prompt and determines:
|
||||
|
||||
1. **Function Evaluation**
|
||||
The extension invokes the selected function(s), which may involve:
|
||||
* Gathering relevant context, such as {% data variables.product.prodname_copilot_skillsets_short %} repository or user metadata.
|
||||
* Gathering relevant context, such as {% data variables.copilot.copilot_skillsets_short %} repository or user metadata.
|
||||
* Making an API call to an external service to retrieve data or execute an action.
|
||||
|
||||
1. **Response generation**
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
---
|
||||
title: Building Copilot skillsets
|
||||
intro: 'Learn the steps to build {% data variables.product.prodname_copilot_skillsets %} and integrate custom tools and functions into your Copilot environment.'
|
||||
intro: 'Learn the steps to build {% data variables.copilot.copilot_skillsets %} and integrate custom tools and functions into your Copilot environment.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
- Copilot
|
||||
shortTitle: Build {% data variables.product.prodname_copilot_skillsets_short %}
|
||||
shortTitle: Build {% data variables.copilot.copilot_skillsets_short %}
|
||||
type: how_to
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
{% data variables.product.prodname_copilot_skillsets %} are a streamlined way to extend {% data variables.product.prodname_copilot %}'s functionality by defining API endpoints that {% data variables.product.prodname_copilot_short %} can call. When you create a skillset, {% data variables.product.prodname_copilot_short %} handles all the AI interactions while your endpoints provide the data or functionality. This guide walks you through configuring and deploying a skillset within your {% data variables.product.prodname_github_app %}.
|
||||
{% data variables.copilot.copilot_skillsets %} are a streamlined way to extend {% data variables.product.prodname_copilot %}'s functionality by defining API endpoints that {% data variables.product.prodname_copilot_short %} can call. When you create a skillset, {% data variables.product.prodname_copilot_short %} handles all the AI interactions while your endpoints provide the data or functionality. This guide walks you through configuring and deploying a skillset within your {% data variables.product.prodname_github_app %}.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Building a Copilot skillset for your Copilot Extension
|
||||
shortTitle: Build a Copilot skillset
|
||||
intro: 'Learn how to build a custom {% data variables.product.prodname_copilot_skillset_short %} to combine custom skills and extend the capabilities of {% data variables.product.prodname_copilot_short %}.'
|
||||
intro: 'Learn how to build a custom {% data variables.copilot.copilot_skillset_short %} to combine custom skills and extend the capabilities of {% data variables.product.prodname_copilot_short %}.'
|
||||
versions:
|
||||
feature: copilot
|
||||
topics:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Copilot Extensions FAQ
|
||||
intro: 'Find answers to common questions about {% data variables.product.prodname_copilot_extensions %}.'
|
||||
intro: 'Find answers to common questions about {% data variables.copilot.copilot_extensions %}.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -11,79 +11,79 @@ type: reference
|
||||
|
||||
## General
|
||||
|
||||
This section answers common questions about {% data variables.product.prodname_copilot_extensions %}.
|
||||
This section answers common questions about {% data variables.copilot.copilot_extensions %}.
|
||||
|
||||
* [What is the difference between a {% data variables.product.prodname_copilot_extension %} and a {% data variables.product.prodname_vscode %} chat participant?](#what-is-the-difference-between-a-github-copilot-extension-and-a-visual-studio-code-chat-participant)
|
||||
* [Is indemnity provided for {% data variables.product.prodname_copilot_extensions_short %}?](#is-indemnity-provided-for-copilot-extensions)
|
||||
* [What is the difference between a {% data variables.copilot.copilot_extension %} and a {% data variables.product.prodname_vscode %} chat participant?](#what-is-the-difference-between-a-github-copilot-extension-and-a-visual-studio-code-chat-participant)
|
||||
* [Is indemnity provided for {% data variables.copilot.copilot_extensions_short %}?](#is-indemnity-provided-for-copilot-extensions)
|
||||
|
||||
### What is the difference between a {% data variables.product.prodname_copilot_extension %} and a {% data variables.product.prodname_vscode %} chat participant?
|
||||
### What is the difference between a {% data variables.copilot.copilot_extension %} and a {% data variables.product.prodname_vscode %} chat participant?
|
||||
|
||||
{% data variables.product.prodname_copilot_extensions %} and {% data variables.product.prodname_vscode %} chat participants use the same backend platform to route requests to extensions. Both provide similar end-user experiences, integrate with {% data variables.product.prodname_copilot_chat_short %}, and can leverage the {% data variables.product.prodname_copilot_short %} API or other LLMs.
|
||||
{% data variables.copilot.copilot_extensions %} and {% data variables.product.prodname_vscode %} chat participants use the same backend platform to route requests to extensions. Both provide similar end-user experiences, integrate with {% data variables.copilot.copilot_chat_short %}, and can leverage the {% data variables.product.prodname_copilot_short %} API or other LLMs.
|
||||
|
||||
While they share similarities, below are several key differences:
|
||||
* {% data variables.product.prodname_copilot_extensions %} and {% data variables.product.prodname_vscode %} chat participants are accessed through different marketplaces.
|
||||
* {% data variables.product.prodname_copilot_extensions %} are server-side extensions, requiring server infrastructure to build. These extensions provide a built-in connection to your {% data variables.product.github %} workspaces, as set by your organization admin.
|
||||
* {% data variables.copilot.copilot_extensions %} and {% data variables.product.prodname_vscode %} chat participants are accessed through different marketplaces.
|
||||
* {% data variables.copilot.copilot_extensions %} are server-side extensions, requiring server infrastructure to build. These extensions provide a built-in connection to your {% data variables.product.github %} workspaces, as set by your organization admin.
|
||||
* {% data variables.product.prodname_vscode %} chat participants are client-side extensions that have read and write access to your local files. They do not require server infrastructure.
|
||||
* {% data variables.product.prodname_copilot_extensions %} can be used in any editor where extensions are supported, while {% data variables.product.prodname_vscode %} Chat Participants are only available in {% data variables.product.prodname_vscode %}.
|
||||
* {% data variables.copilot.copilot_extensions %} can be used in any editor where extensions are supported, while {% data variables.product.prodname_vscode %} Chat Participants are only available in {% data variables.product.prodname_vscode %}.
|
||||
|
||||
For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions).
|
||||
|
||||
### Is indemnity provided for {% data variables.product.prodname_copilot_extensions_short %}?
|
||||
### Is indemnity provided for {% data variables.copilot.copilot_extensions_short %}?
|
||||
|
||||
No, {% data variables.product.prodname_copilot_extensions_short %} are not covered by {% data variables.product.prodname_copilot %}’s indemnity policy. However, this exclusion applies only to issues that arise within extension chat threads.
|
||||
No, {% data variables.copilot.copilot_extensions_short %} are not covered by {% data variables.product.prodname_copilot %}’s indemnity policy. However, this exclusion applies only to issues that arise within extension chat threads.
|
||||
|
||||
Installing and using extensions does not affect indemnity coverage for any issues that occur while using other {% data variables.product.prodname_copilot_short %} features such as code completion and chat.
|
||||
|
||||
## Data and Permissions
|
||||
|
||||
This section explains what data is collected and shared when using {% data variables.product.prodname_copilot_extensions_short %}.
|
||||
This section explains what data is collected and shared when using {% data variables.copilot.copilot_extensions_short %}.
|
||||
|
||||
* [What data is being collected and shared with {% data variables.product.prodname_copilot_extensions_short %}?](#what-data-is-being-collected-and-shared-with-copilot-extensions)
|
||||
* [What permissions are required for {% data variables.product.prodname_copilot_extensions_short %}?](#what-permissions-are-required-for-copilot-extensions)
|
||||
* [Who can provide permissions for {% data variables.product.prodname_copilot_extensions_short %} to access organization resources?](#who-can-provide-permissions-for-copilot-extensions-to-access-organization-resources)
|
||||
* [Can a user use {% data variables.product.prodname_copilot_extensions_short %} that the organization has not provided permissions for?](#can-a-user-use-copilot-extensions-that-the-organization-has-not-provided-permissions-for)
|
||||
* [What data is being collected and shared with {% data variables.copilot.copilot_extensions_short %}?](#what-data-is-being-collected-and-shared-with-copilot-extensions)
|
||||
* [What permissions are required for {% data variables.copilot.copilot_extensions_short %}?](#what-permissions-are-required-for-copilot-extensions)
|
||||
* [Who can provide permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources?](#who-can-provide-permissions-for-copilot-extensions-to-access-organization-resources)
|
||||
* [Can a user use {% data variables.copilot.copilot_extensions_short %} that the organization has not provided permissions for?](#can-a-user-use-copilot-extensions-that-the-organization-has-not-provided-permissions-for)
|
||||
|
||||
### What data is being collected and shared with {% data variables.product.prodname_copilot_extensions_short %}?
|
||||
### What data is being collected and shared with {% data variables.copilot.copilot_extensions_short %}?
|
||||
|
||||
The following data is shared when interacting with {% data variables.product.prodname_copilot_extensions_short %}:
|
||||
* Data attached to your account and {% data variables.product.prodname_copilot_chat_short %} usage, such as {% data variables.product.github %} user ID, and timestamps of messages.
|
||||
The following data is shared when interacting with {% data variables.copilot.copilot_extensions_short %}:
|
||||
* Data attached to your account and {% data variables.copilot.copilot_chat_short %} usage, such as {% data variables.product.github %} user ID, and timestamps of messages.
|
||||
* Past messages within the chat thread where you are invoking an extension. Only one extension can be used per thread, preventing data sharing across extensions. The data retention period for thread context is 30 days.
|
||||
* Any additional organization and repository data that is authorized for the extension by your organization admin. Admins installing extensions must approve access to the required permissions prior to completing installation.
|
||||
* For {% data variables.product.prodname_copilot_chat_dotcom_short %}, if your admin has approved the extension to access repository or organization metadata , that data will be shared as well.
|
||||
* For {% data variables.copilot.copilot_chat_dotcom_short %}, if your admin has approved the extension to access repository or organization metadata , that data will be shared as well.
|
||||
|
||||
### What permissions are required for {% data variables.product.prodname_copilot_extensions_short %}?
|
||||
### What permissions are required for {% data variables.copilot.copilot_extensions_short %}?
|
||||
|
||||
{% data reusables.copilot.copilot-extensions.about-extensions-permissions %}
|
||||
|
||||
### Who can provide permissions for {% data variables.product.prodname_copilot_extensions_short %} to access organization resources?
|
||||
### Who can provide permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources?
|
||||
|
||||
Only organization admins can grant permissions for {% data variables.product.prodname_copilot_extensions_short %} to access organization resources.
|
||||
Only organization admins can grant permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources.
|
||||
Organization members may encounter cases where an extension cannot access a repository or query context. This typically happens because the organization admin has not yet provided permissions or authorized the extension. See [Granting permissions to access organization resources](/copilot/building-copilot-extensions/about-building-copilot-extensions#granting-permissions-to-access-organization-resources).
|
||||
|
||||
### Can a user use {% data variables.product.prodname_copilot_extensions_short %} that the organization has not provided permissions for?
|
||||
### Can a user use {% data variables.copilot.copilot_extensions_short %} that the organization has not provided permissions for?
|
||||
|
||||
Yes, any user can install and use {% data variables.product.prodname_copilot_extensions_short %}. However, to query organization resources and repositories, an extension must be installed and authorized by an organization admin. See [Granting permissions to access organization resources](/copilot/building-copilot-extensions/about-building-copilot-extensions#granting-permissions-to-access-organization-resources).
|
||||
Yes, any user can install and use {% data variables.copilot.copilot_extensions_short %}. However, to query organization resources and repositories, an extension must be installed and authorized by an organization admin. See [Granting permissions to access organization resources](/copilot/building-copilot-extensions/about-building-copilot-extensions#granting-permissions-to-access-organization-resources).
|
||||
|
||||
Users should contact their organization admin to request installation and authorization. Company context cannot be accessed without admin permissions.
|
||||
|
||||
## Policies
|
||||
|
||||
This section covers administrative policies for {% data variables.product.prodname_copilot_extensions_short %}
|
||||
This section covers administrative policies for {% data variables.copilot.copilot_extensions_short %}
|
||||
|
||||
* [How do I control which {% data variables.product.prodname_copilot_extensions_short %} can be used in my enterprise?](#how-do-i-control-which-copilot-extensions-can-be-used-in-my-enterprise)
|
||||
* [How do I control which {% data variables.copilot.copilot_extensions_short %} can be used in my enterprise?](#how-do-i-control-which-copilot-extensions-can-be-used-in-my-enterprise)
|
||||
* [Is there an allowlist/blocklist at the enterprise level?](#is-there-an-allowlistblocklist-at-the-enterprise-level)
|
||||
* [As a member of an organization, how can I get access to {% data variables.product.prodname_copilot_extensions_short %}?](#as-a-member-of-an-organization-how-can-i-get-access-to-copilot-extensions)
|
||||
* [As a member of an organization, how can I get access to {% data variables.copilot.copilot_extensions_short %}?](#as-a-member-of-an-organization-how-can-i-get-access-to-copilot-extensions)
|
||||
|
||||
### How do I control which {% data variables.product.prodname_copilot_extensions_short %} can be used in my enterprise?
|
||||
### How do I control which {% data variables.copilot.copilot_extensions_short %} can be used in my enterprise?
|
||||
|
||||
Enterprise admins can disable {% data variables.product.prodname_copilot_extensions_short %} across their enterprise by setting the **{% data variables.product.prodname_copilot_extensions_short %}** policy to "Disabled" or "No Policy".
|
||||
Enterprise admins can disable {% data variables.copilot.copilot_extensions_short %} across their enterprise by setting the **{% data variables.copilot.copilot_extensions_short %}** policy to "Disabled" or "No Policy".
|
||||
|
||||
### Is there an allowlist/blocklist at the enterprise level?
|
||||
|
||||
No, there is no allowlist or blocklist at the enterprise level.
|
||||
|
||||
### As a member of an organization, how can I get access to {% data variables.product.prodname_copilot_extensions_short %}?
|
||||
### As a member of an organization, how can I get access to {% data variables.copilot.copilot_extensions_short %}?
|
||||
|
||||
To access {% data variables.product.prodname_copilot_extensions_short %} as a member of an organization, the organization that assigned you a {% data variables.product.github %} seat must enable the {% data variables.product.prodname_copilot_extensions_short %} policy. Additionally, the same organization must install and authorize the extension to access any organization owned repositories.
|
||||
To access {% data variables.copilot.copilot_extensions_short %} as a member of an organization, the organization that assigned you a {% data variables.product.github %} seat must enable the {% data variables.copilot.copilot_extensions_short %} policy. Additionally, the same organization must install and authorize the extension to access any organization owned repositories.
|
||||
|
||||
For example, if you are a member of multiple organizations and Organization A has assigned you a {% data variables.product.github %} seat, you will only have access to extensions if Organization A has enabled the policy. If Organization B has enabled extensions but you do not have access, it is because Organization A has disabled the {% data variables.product.prodname_copilot_extensions_short %} policy.
|
||||
For example, if you are a member of multiple organizations and Organization A has assigned you a {% data variables.product.github %} seat, you will only have access to extensions if Organization A has enabled the policy. If Organization B has enabled extensions but you do not have access, it is because Organization A has disabled the {% data variables.copilot.copilot_extensions_short %} policy.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Copilot Extensions Glossary
|
||||
intro: 'Understand the terminology used in {% data variables.product.prodname_copilot_extensions_short %}.'
|
||||
intro: 'Understand the terminology used in {% data variables.copilot.copilot_extensions_short %}.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -9,39 +9,39 @@ shortTitle: Extensions Glossary
|
||||
type: reference
|
||||
---
|
||||
|
||||
The following terms are used in the context of {% data variables.product.prodname_copilot_extensions_short %}, and are defined here for clarity.
|
||||
The following terms are used in the context of {% data variables.copilot.copilot_extensions_short %}, and are defined here for clarity.
|
||||
|
||||
#### Agent
|
||||
|
||||
A type of {% data variables.product.prodname_copilot_extension_short %} implementation that gives developers full control over handling user queries and response generation. This approach is ideal for builders who want complete customization and management of AI interactions.
|
||||
A type of {% data variables.copilot.copilot_extension_short %} implementation that gives developers full control over handling user queries and response generation. This approach is ideal for builders who want complete customization and management of AI interactions.
|
||||
|
||||
#### Context Passing
|
||||
|
||||
A capability in {% data variables.product.prodname_copilot_extensions_short %} that enables user context from editors to be sent to agents, allowing for more tailored responses.
|
||||
A capability in {% data variables.copilot.copilot_extensions_short %} that enables user context from editors to be sent to agents, allowing for more tailored responses.
|
||||
|
||||
#### {% data variables.product.prodname_copilot_chat_short %}
|
||||
#### {% data variables.copilot.copilot_chat_short %}
|
||||
|
||||
The conversational interface within {% data variables.product.prodname_copilot %} where users can interact with the AI assistant and extensions.
|
||||
|
||||
#### {% data variables.product.prodname_copilot_extension_short %}
|
||||
#### {% data variables.copilot.copilot_extension_short %}
|
||||
|
||||
A {% data variables.product.prodname_github_app %} with additional access to the {% data variables.product.prodname_copilot_chat_short %} window and Copilot API, allowing for extended functionality in {% data variables.product.company_short %}'s {% data variables.product.prodname_copilot_chat_short %}. This is how we will refer to extensions from the perspective of an extension user.
|
||||
A {% data variables.product.prodname_github_app %} with additional access to the {% data variables.copilot.copilot_chat_short %} window and Copilot API, allowing for extended functionality in {% data variables.product.company_short %}'s {% data variables.copilot.copilot_chat_short %}. This is how we will refer to extensions from the perspective of an extension user.
|
||||
|
||||
#### {% data variables.product.prodname_copilot_short %} Extensibility Platform
|
||||
|
||||
The system that handles authentication and proxies requests between clients and agent plugins.
|
||||
|
||||
#### {% data variables.product.prodname_copilot_extension_vsc %}
|
||||
#### {% data variables.copilot.copilot_extension_vsc %}
|
||||
|
||||
Also known as {% data variables.product.prodname_vscode %} Chat extensions, {% data variables.product.prodname_copilot_extensions_vsc %} are built as a {% data variables.product.prodname_vscode %} extension rather than a {% data variables.product.prodname_github_app %}. These extensions are exclusive to {% data variables.product.prodname_vscode_shortname %} and can be downloaded from the {% data variables.product.prodname_vscode_shortname %} Marketplace.
|
||||
Also known as {% data variables.product.prodname_vscode %} Chat extensions, {% data variables.copilot.copilot_extensions_vsc %} are built as a {% data variables.product.prodname_vscode %} extension rather than a {% data variables.product.prodname_github_app %}. These extensions are exclusive to {% data variables.product.prodname_vscode_shortname %} and can be downloaded from the {% data variables.product.prodname_vscode_shortname %} Marketplace.
|
||||
|
||||
#### {% data variables.product.prodname_github_app %}
|
||||
|
||||
The foundation for a {% data variables.product.prodname_copilot_extension_short %} that provides the necessary infrastructure, permissions, and context from {% data variables.product.company_short %}, such as user, repo and organization metadata.
|
||||
The foundation for a {% data variables.copilot.copilot_extension_short %} that provides the necessary infrastructure, permissions, and context from {% data variables.product.company_short %}, such as user, repo and organization metadata.
|
||||
|
||||
#### {% data variables.product.prodname_marketplace %}
|
||||
|
||||
The platform where {% data variables.product.company_short %} approved {% data variables.product.prodname_copilot_extensions %} can be listed publicly and discovered by users.
|
||||
The platform where {% data variables.product.company_short %} approved {% data variables.copilot.copilot_extensions %} can be listed publicly and discovered by users.
|
||||
|
||||
#### Listed/Published Extension
|
||||
|
||||
@@ -61,7 +61,7 @@ A piece of code that retrieves context or executes an action in response to a us
|
||||
|
||||
#### Skillset
|
||||
|
||||
A type of {% data variables.product.prodname_copilot_extension_short %} implementation that gives developers the ability to connect external services and custom API endpoints to {% data variables.product.prodname_copilot_short %} with minimal complexity. The {% data variables.product.prodname_copilot_extensibility_platform_short %} handles prompt crafting, function evaluation, and response generation. The builder only needs to handle API skill definitions. This approach is ideal for builders who want minimal complexity.
|
||||
A type of {% data variables.copilot.copilot_extension_short %} implementation that gives developers the ability to connect external services and custom API endpoints to {% data variables.product.prodname_copilot_short %} with minimal complexity. The {% data variables.copilot.copilot_extensibility_platform_short %} handles prompt crafting, function evaluation, and response generation. The builder only needs to handle API skill definitions. This approach is ideal for builders who want minimal complexity.
|
||||
|
||||
#### Tool/Function Calling
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Configuring your GitHub App for your Copilot extension
|
||||
intro: 'Learn how to configure your {% data variables.product.prodname_github_app %} so that it is associated with your {% data variables.product.prodname_copilot_extension_short %}.'
|
||||
intro: 'Learn how to configure your {% data variables.product.prodname_github_app %} so that it is associated with your {% data variables.copilot.copilot_extension_short %}.'
|
||||
defaultTool: agents
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
@@ -16,7 +16,7 @@ Once you have configured your server and created your {% data variables.product.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* You have configured your server to deploy your {% data variables.product.prodname_copilot_extension_short %}, and you have your hostname (aka forwarding endpoint). For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
* You have configured your server to deploy your {% data variables.copilot.copilot_extension_short %}, and you have your hostname (aka forwarding endpoint). For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
* You have created a {% data variables.product.prodname_github_app %} for your {% data variables.product.prodname_copilot_short %} extension. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension).
|
||||
|
||||
## Configuring your {% data variables.product.prodname_github_app %}
|
||||
@@ -25,7 +25,7 @@ Once you have configured your server and created your {% data variables.product.
|
||||
|
||||
{% data reusables.apps.settings-step %}
|
||||
{% data reusables.apps.enterprise-apps-steps %}
|
||||
1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.product.prodname_copilot_extension_short %}, click **Edit**.
|
||||
1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.copilot.copilot_extension_short %}, click **Edit**.
|
||||
1. In the "Identifying and authorizing users" section, under "Callback URL", enter your callback endpoint URL, then click **Save changes**.
|
||||
|
||||
> [!NOTE] Your server's hostname is the forwarding endpoint that you copied from your terminal when you configured your server. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
@@ -36,7 +36,7 @@ Once you have configured your server and created your {% data variables.product.
|
||||
1. To expand the "Account permissions" section, click anywhere in the section.
|
||||
{% data reusables.copilot.copilot-extensions.account-permissions %}
|
||||
1. In the left sidebar, click **{% data variables.product.prodname_copilot_short %}**.
|
||||
1. Read the {% data variables.product.prodname_marketplace %} Developer Agreement and the {% data variables.product.github %} Pre-release License Terms, then accept the terms for creating a {% data variables.product.prodname_copilot_extension_short %}.
|
||||
1. Read the {% data variables.product.prodname_marketplace %} Developer Agreement and the {% data variables.product.github %} Pre-release License Terms, then accept the terms for creating a {% data variables.copilot.copilot_extension_short %}.
|
||||
|
||||
1. In the "App type" section, select the dropdown menu, then click **Agent**.
|
||||
1. Under "URL," enter your server's hostname (aka forwarding endpoint) that you copied from your terminal.
|
||||
@@ -57,7 +57,7 @@ Once you have configured your server and created your {% data variables.product.
|
||||
|
||||
{% data reusables.apps.settings-step %}
|
||||
{% data reusables.apps.enterprise-apps-steps %}
|
||||
1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.product.prodname_copilot_extension_short %}, click **Edit**.
|
||||
1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.copilot.copilot_extension_short %}, click **Edit**.
|
||||
1. In the "Identifying and authorizing users" section, under "Callback URL", enter your callback endpoint URL, then click **Save changes**.
|
||||
|
||||
> [!NOTE] Your server's hostname is the forwarding endpoint that you copied from your terminal when you configured your server. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
@@ -68,7 +68,7 @@ Once you have configured your server and created your {% data variables.product.
|
||||
1. To expand the "Account permissions" section, click anywhere in the section.
|
||||
{% data reusables.copilot.copilot-extensions.account-permissions %}
|
||||
1. In the left sidebar, click **{% data variables.product.prodname_copilot_short %}**.
|
||||
1. Read the {% data variables.product.prodname_marketplace %} Developer Agreement and the {% data variables.product.github %} Pre-release License Terms, then accept the terms for creating a {% data variables.product.prodname_copilot_extension_short %}.
|
||||
1. Read the {% data variables.product.prodname_marketplace %} Developer Agreement and the {% data variables.product.github %} Pre-release License Terms, then accept the terms for creating a {% data variables.copilot.copilot_extension_short %}.
|
||||
|
||||
1. In the "App type" section, select the dropdown menu, then click **Skillset**.
|
||||
1. Your pre-authorization URL is a link on your website that starts the authorization process for your extension. Users will be redirected to this URL when they decide to authorize your extension. If you are using a pre-authorization URL, under "Pre-authorization URL," enter the URL, then click **Save**.
|
||||
|
||||
@@ -12,13 +12,13 @@ shortTitle: Host your extension
|
||||
type: how_to
|
||||
---
|
||||
|
||||
Your {% data variables.product.prodname_copilot_extension_short %} must be hosted on a server that is accessible to the internet. In this guide, we will use [ngrok](https://ngrok.com/) to create a tunnel to your local server, but you could also use a service like [localtunnel](https://localtunnel.github.io/www/).
|
||||
Your {% data variables.copilot.copilot_extension_short %} must be hosted on a server that is accessible to the internet. In this guide, we will use [ngrok](https://ngrok.com/) to create a tunnel to your local server, but you could also use a service like [localtunnel](https://localtunnel.github.io/www/).
|
||||
|
||||
Alternatively, if you are a {% data variables.product.prodname_codespaces %} user, you can use the built-in {% data variables.product.prodname_codespaces %} port forwarding. For more information, see [AUTOTITLE](/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* You have created a {% data variables.product.prodname_copilot_extension_short %}. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension) or [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension).
|
||||
* You have created a {% data variables.copilot.copilot_extension_short %}. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension) or [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension).
|
||||
|
||||
## Configuring your server
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Creating a GitHub App for your Copilot Extension
|
||||
intro: 'Learn how to create a {% data variables.product.prodname_github_app %} for your {% data variables.product.prodname_copilot_extension_short %}.'
|
||||
intro: 'Learn how to create a {% data variables.product.prodname_github_app %} for your {% data variables.copilot.copilot_extension_short %}.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -9,12 +9,12 @@ shortTitle: Create GitHub App
|
||||
type: how_to
|
||||
---
|
||||
|
||||
A {% data variables.product.prodname_copilot_extension_short %} is a {% data variables.product.prodname_github_app %} that is associated with a {% data variables.product.prodname_copilot_agent_short %}. The {% data variables.product.prodname_github_app %} you associate your {% data variables.product.prodname_copilot_agent_short %} with is used to authenticate the {% data variables.product.prodname_copilot_agent_short %} with {% data variables.product.prodname_dotcom %} and to authorize the {% data variables.product.prodname_copilot_agent_short %} to access the {% data variables.product.prodname_copilot_chat_short %} API. Each {% data variables.product.prodname_copilot_agent_short %} must be associated with a unique {% data variables.product.prodname_github_app %}.
|
||||
A {% data variables.copilot.copilot_extension_short %} is a {% data variables.product.prodname_github_app %} that is associated with a {% data variables.copilot.copilot_agent_short %}. The {% data variables.product.prodname_github_app %} you associate your {% data variables.copilot.copilot_agent_short %} with is used to authenticate the {% data variables.copilot.copilot_agent_short %} with {% data variables.product.prodname_dotcom %} and to authorize the {% data variables.copilot.copilot_agent_short %} to access the {% data variables.copilot.copilot_chat_short %} API. Each {% data variables.copilot.copilot_agent_short %} must be associated with a unique {% data variables.product.prodname_github_app %}.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* You have created a {% data variables.product.prodname_copilot_agent_short %}. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension).
|
||||
* You have configured your server to deploy your {% data variables.product.prodname_copilot_agent_short %}, and you have your hostname (aka forwarding endpoint). For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
* You have created a {% data variables.copilot.copilot_agent_short %}. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension).
|
||||
* You have configured your server to deploy your {% data variables.copilot.copilot_agent_short %}, and you have your hostname (aka forwarding endpoint). For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
|
||||
## Creating a {% data variables.product.prodname_github_app %}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Creating a Copilot Extension
|
||||
shortTitle: Create a Copilot Extension
|
||||
intro: 'Learn how to integrate your {% data variables.product.prodname_copilot_agent_short %} with a {% data variables.product.prodname_github_app %} to create your {% data variables.product.prodname_copilot_extension_short %}.'
|
||||
intro: 'Learn how to integrate your {% data variables.copilot.copilot_agent_short %} with a {% data variables.product.prodname_github_app %} to create your {% data variables.copilot.copilot_extension_short %}.'
|
||||
versions:
|
||||
feature: copilot
|
||||
topics:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Debugging your GitHub Copilot Extension
|
||||
intro: 'Learn how to debug your {% data variables.product.prodname_copilot_extension %} from the command line before you publish it.'
|
||||
intro: 'Learn how to debug your {% data variables.copilot.copilot_extension %} from the command line before you publish it.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -8,10 +8,10 @@ topics:
|
||||
shortTitle: Debug Copilot Extension
|
||||
---
|
||||
|
||||
With the debug tool for {% data variables.product.prodname_copilot_extensions_short %}, you can chat with your {% data variables.product.prodname_copilot_agent_short %} from the command line, then view detailed logs as your agent generates a response. You can pass several flags to the tool, with the most important flags being:
|
||||
* The `url` flag, which contains the URL to access your {% data variables.product.prodname_copilot_agent_short %}. This is the only required flag to start the tool.
|
||||
* The `log-level` flag, which determines the level of visibility you have into your {% data variables.product.prodname_copilot_agent_short %}'s process for generating a response. The available log levels are `DEBUG`, `NONE`, and `TRACE`, and the tool uses `DEBUG` by default.
|
||||
* The `token` flag, which must contain a {% data variables.product.pat_v2 %} with read access to {% data variables.product.prodname_copilot_chat_short %} if your {% data variables.product.prodname_copilot_agent_short %} calls the {% data variables.product.prodname_copilot_short %} LLM. If your agent calls a different LLM, you don't need to use this flag.
|
||||
With the debug tool for {% data variables.copilot.copilot_extensions_short %}, you can chat with your {% data variables.copilot.copilot_agent_short %} from the command line, then view detailed logs as your agent generates a response. You can pass several flags to the tool, with the most important flags being:
|
||||
* The `url` flag, which contains the URL to access your {% data variables.copilot.copilot_agent_short %}. This is the only required flag to start the tool.
|
||||
* The `log-level` flag, which determines the level of visibility you have into your {% data variables.copilot.copilot_agent_short %}'s process for generating a response. The available log levels are `DEBUG`, `NONE`, and `TRACE`, and the tool uses `DEBUG` by default.
|
||||
* The `token` flag, which must contain a {% data variables.product.pat_v2 %} with read access to {% data variables.copilot.copilot_chat_short %} if your {% data variables.copilot.copilot_agent_short %} calls the {% data variables.product.prodname_copilot_short %} LLM. If your agent calls a different LLM, you don't need to use this flag.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -24,13 +24,13 @@ To use the debug tool, you need to have the {% data variables.product.prodname_c
|
||||
|
||||
* From the [{% data variables.product.prodname_cli %} releases page](https://github.com/cli/cli/releases/tag/v2.56.0)
|
||||
|
||||
## Debugging your {% data variables.product.prodname_copilot_extension_short %} with the CLI
|
||||
## Debugging your {% data variables.copilot.copilot_extension_short %} with the CLI
|
||||
|
||||
1. Optionally, to prepare to debug a specific server-sent event (SSE), add some code to your {% data variables.product.prodname_copilot_agent_short %} that sends an SSE when a prompt contains a certain keyword.
|
||||
1. Optionally, to prepare to debug a specific server-sent event (SSE), add some code to your {% data variables.copilot.copilot_agent_short %} that sends an SSE when a prompt contains a certain keyword.
|
||||
|
||||
> [!NOTE] The debug tool does not handle the payload verification process. To validate your SSEs, you need to temporarily disable payload verification for local testing, then re-enable it after you have successfully tested your extension.
|
||||
|
||||
1. On the command line, start your {% data variables.product.prodname_copilot_agent_short %}.
|
||||
1. On the command line, start your {% data variables.copilot.copilot_agent_short %}.
|
||||
1. To authenticate with the {% data variables.product.prodname_cli %} {% data variables.product.prodname_oauth_app %}, in a new window of your command line application, paste the following command and follow the prompts:
|
||||
|
||||
```bash copy
|
||||
@@ -69,4 +69,4 @@ To use the debug tool, you need to have the {% data variables.product.prodname_c
|
||||
|
||||
1. To interact with your agent, enter a prompt on the command line. The output will vary based on the log level you chose in the previous step, with the `DEBUG` and `TRACE` log levels providing more detailed information.
|
||||
|
||||
> [!TIP] If you are debugging an SSE, send a prompt containing the keyword you specified in your {% data variables.product.prodname_copilot_agent_short %} to trigger the SSE, then analyze the output in your command line application.
|
||||
> [!TIP] If you are debugging an SSE, send a prompt containing the keyword you specified in your {% data variables.copilot.copilot_agent_short %} to trigger the SSE, then analyze the output in your command line application.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Managing the availability of your Copilot Extension
|
||||
intro: 'After you build your {% data variables.product.prodname_copilot_extension_short %}, you can change it''s visibility or publish it on the {% data variables.product.prodname_marketplace %}.'
|
||||
intro: 'After you build your {% data variables.copilot.copilot_extension_short %}, you can change it''s visibility or publish it on the {% data variables.product.prodname_marketplace %}.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -9,38 +9,38 @@ shortTitle: Manage Extension availability
|
||||
type: how_to
|
||||
---
|
||||
|
||||
When you build a {% data variables.product.prodname_copilot_extension_short %}, you have two options for the visibility of your {% data variables.product.prodname_github_app %}:
|
||||
When you build a {% data variables.copilot.copilot_extension_short %}, you have two options for the visibility of your {% data variables.product.prodname_github_app %}:
|
||||
|
||||
* **Public:** Any user or organization account with the link to your app's installation page can install it. Making your app public automatically creates a public installation page, but does not list the app on the {% data variables.product.prodname_marketplace %}.
|
||||
* **Private:** Any user, organization, or enterprise can create an extension. Any user or organization, and any organization in an enterprise can install an enterprise-created extension. Private extensions are not available to all users outside your organization or enterprise based on the level at which it was created.
|
||||
|
||||
If you make your app public, you can choose to publish it on the {% data variables.product.prodname_marketplace %}.
|
||||
|
||||
## Changing the visibility of your {% data variables.product.prodname_copilot_extension_short %}
|
||||
## Changing the visibility of your {% data variables.copilot.copilot_extension_short %}
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.organizations.org-list %}
|
||||
1. At the bottom of the sidebar, select **{% octicon "code" aria-hidden="true" aria-label="code" %} Developer settings**, then click **{% data variables.product.prodname_github_apps %}**.
|
||||
1. In the "{% data variables.product.prodname_github_apps %}" section, next to the name of your {% data variables.product.prodname_copilot_extension_short %}, click **Edit**.
|
||||
1. In the "{% data variables.product.prodname_github_apps %}" section, next to the name of your {% data variables.copilot.copilot_extension_short %}, click **Edit**.
|
||||
1. In the sidebar, click **Advanced**. At the bottom of the "Danger Zone" section, you will see one of two options:
|
||||
* **Make public:** If you see the **Make public** option, your {% data variables.product.prodname_github_app %} is currently private, and can only be installed by the organization or user that created the app. You can click **Make public** to allow any other account with the link to your app's installation page to install your {% data variables.product.prodname_copilot_short %} extension. Leave the settings unchanged to keep your app private.
|
||||
* **Make private:** If you see the **Make private** option, your {% data variables.product.prodname_github_app %} is currently public, and can be installed by any account with the link to your app's installation page. You can click **Make private** to only allow installations by the organization or user that created the app, or organizations that are part of the enterprise that created the extension. Leave the settings unchanged to keep your app public.
|
||||
1. Optionally, if your {% data variables.product.prodname_github_app %} is public, you can share the link to the installation page for your {% data variables.product.prodname_copilot_extension_short %}. In the sidebar, click **Public page** in the sidebar, then copy the link for your listing.
|
||||
1. Optionally, if your {% data variables.product.prodname_github_app %} is public, you can share the link to the installation page for your {% data variables.copilot.copilot_extension_short %}. In the sidebar, click **Public page** in the sidebar, then copy the link for your listing.
|
||||
|
||||
> [!NOTE] You can set a published marketplace extension to private, and it will remain accessible on the {% data variables.product.prodname_marketplace %}. However, it won't be accessible from the direct installation page.
|
||||
|
||||
## Listing your {% data variables.product.prodname_copilot_extension_short %} on the {% data variables.product.prodname_marketplace %}
|
||||
## Listing your {% data variables.copilot.copilot_extension_short %} on the {% data variables.product.prodname_marketplace %}
|
||||
|
||||
To list your {% data variables.product.prodname_copilot_extension_short %} on the {% data variables.product.prodname_marketplace %}, you must meet the following requirements:
|
||||
To list your {% data variables.copilot.copilot_extension_short %} on the {% data variables.product.prodname_marketplace %}, you must meet the following requirements:
|
||||
|
||||
* You must publish your app from an organization that is a verified publisher on the {% data variables.product.prodname_marketplace %}.
|
||||
* If your organization is not yet verified, see [AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization).
|
||||
* If you need to transfer ownership of your app from your personal account to your organization account, see [AUTOTITLE](/apps/maintaining-github-apps/transferring-ownership-of-a-github-app).
|
||||
* Your app must meet the requirements for all {% data variables.product.prodname_copilot_extension_short %} listings on the {% data variables.product.prodname_marketplace %}. See [AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app#requirements-for-github-copilot-extensions).
|
||||
* Your app must meet the requirements for all {% data variables.copilot.copilot_extension_short %} listings on the {% data variables.product.prodname_marketplace %}. See [AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app#requirements-for-github-copilot-extensions).
|
||||
|
||||
App managers cannot create, edit, or publish extensions on the {% data variables.product.prodname_marketplace %}. To manage a listing, you should be an organization owner for the publishing organization.
|
||||
|
||||
> [!NOTE] Paid plans are not supported for {% data variables.product.prodname_copilot_extensions_short %} during {% data variables.release-phases.public_preview %}. Any requests to publish with a paid plan attached will not be approved.
|
||||
> [!NOTE] Paid plans are not supported for {% data variables.copilot.copilot_extensions_short %} during {% data variables.release-phases.public_preview %}. Any requests to publish with a paid plan attached will not be approved.
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.organizations.org-list %}
|
||||
@@ -52,10 +52,10 @@ App managers cannot create, edit, or publish extensions on the {% data variables
|
||||
* `YOUR-COMPANY-NAME` (example "{% data variables.product.github %}"): We recommend this convention if your extension spans multiple products.
|
||||
* `YOUR-COMPANY-PRODUCT-NAME` (example: "{% data variables.product.prodname_copilot %}"): We recommend this convention if your extension stays within the scope of one product, but there are other well-known products with the same name.
|
||||
|
||||
> [!NOTE] The listing name is not the same as your {% data variables.product.prodname_github_app %}'s name or your {% data variables.product.prodname_copilot_extension_short %}'s slug. Changing the listing name will not affect the app name or slug.
|
||||
> [!NOTE] The listing name is not the same as your {% data variables.product.prodname_github_app %}'s name or your {% data variables.copilot.copilot_extension_short %}'s slug. Changing the listing name will not affect the app name or slug.
|
||||
|
||||
1. In the "Primary category" section, select the dropdown menu, then click a category. You can change your selection or add a secondary category later.
|
||||
1. To create a draft listing for your {% data variables.product.prodname_copilot_extension_short %}, click **Save and add more details**.
|
||||
1. To create a draft listing for your {% data variables.copilot.copilot_extension_short %}, click **Save and add more details**.
|
||||
1. After you create a new draft listing, you'll see a view where you can manage your listing. Before you can submit your listing for review, you need to:
|
||||
* Fill out each of the required sections
|
||||
* Verify the organization account that owns the {% data variables.product.prodname_github_app %}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Quickstart for GitHub Copilot Extensions using agents
|
||||
defaultTool: vscode
|
||||
intro: 'Build and try out {% data variables.product.github %}''s Blackbeard extension to learn about the development process for {% data variables.product.prodname_copilot_extensions %}.'
|
||||
intro: 'Build and try out {% data variables.product.github %}''s Blackbeard extension to learn about the development process for {% data variables.copilot.copilot_extensions %}.'
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
redirect_from:
|
||||
@@ -12,11 +12,11 @@ topics:
|
||||
shortTitle: Extensions quickstart
|
||||
---
|
||||
|
||||
The [Blackbeard extension](https://github.com/copilot-extensions/blackbeard-extension) is a {% data variables.product.prodname_copilot_extension %} that comprises a {% data variables.product.prodname_github_app %} and a {% data variables.product.prodname_copilot_short %} agent. The agent responds to chat requests in the style of a pirate, using {% data variables.product.prodname_copilot_short %}'s large language model (LLM) API and special system prompts. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents).
|
||||
The [Blackbeard extension](https://github.com/copilot-extensions/blackbeard-extension) is a {% data variables.copilot.copilot_extension %} that comprises a {% data variables.product.prodname_github_app %} and a {% data variables.product.prodname_copilot_short %} agent. The agent responds to chat requests in the style of a pirate, using {% data variables.product.prodname_copilot_short %}'s large language model (LLM) API and special system prompts. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents).
|
||||
|
||||
This guide uses a simple agent implementation, but the process is similar for skillsets. For information about the difference between agents and skillsets, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions#about-skillsets-and-agents).
|
||||
|
||||
This quickstart is designed to help you build and chat with the Blackbeard extension as quickly as possible, so you can develop and test your extension without deploying infrastructure. For production, you'll need to host the application for your agent or skillset's endpoints on a publicly accessible server. To instead learn how to create a new {% data variables.product.prodname_copilot_extension %}, see [AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions).
|
||||
This quickstart is designed to help you build and chat with the Blackbeard extension as quickly as possible, so you can develop and test your extension without deploying infrastructure. For production, you'll need to host the application for your agent or skillset's endpoints on a publicly accessible server. To instead learn how to create a new {% data variables.copilot.copilot_extension %}, see [AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions).
|
||||
|
||||
## 1. Create and install a {% data variables.product.prodname_github_app %}
|
||||
|
||||
@@ -44,10 +44,10 @@ Rather than deploying the Blackbeard agent as a web app, you can host your agent
|
||||
|
||||
After you set up your {% data variables.product.prodname_github_app %} and Blackbeard agent, you can integrate the agent with your app and test the Blackbeard extension. You need to make the following changes to your {% data variables.product.prodname_github_app %} settings:
|
||||
* In the "General" settings, in the "Callback URL" field, paste the local address for your agent.
|
||||
* In the "Permissions & events" settings, grant read-only permissions to {% data variables.product.prodname_copilot_chat_short %}.
|
||||
* In the "Permissions & events" settings, grant read-only permissions to {% data variables.copilot.copilot_chat_short %}.
|
||||
* In the "{% data variables.product.prodname_copilot_short %}" settings, set your app type to "Agent," then fill out the remaining fields.
|
||||
|
||||
After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.product.prodname_copilot_chat_short %} window, then sending a prompt as normal.
|
||||
After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.copilot.copilot_chat_short %} window, then sending a prompt as normal.
|
||||
|
||||
For more detailed instructions, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent#configuring-your-github-app).
|
||||
|
||||
@@ -69,12 +69,12 @@ Rather than deploying the Blackbeard agent as a web app, you can host your agent
|
||||
|
||||
After you set up your {% data variables.product.prodname_github_app %} and Blackbeard agent, you can integrate the agent with your app and test the Blackbeard extension. You need to make the following changes to your {% data variables.product.prodname_github_app %} settings:
|
||||
* In the "General" settings, in the "Callback URL" field, paste the forwarded address for your agent.
|
||||
* In the "Permissions & events" settings, grant read-only permissions to {% data variables.product.prodname_copilot_chat_short %}.
|
||||
* In the "Permissions & events" settings, grant read-only permissions to {% data variables.copilot.copilot_chat_short %}.
|
||||
* In the "{% data variables.product.prodname_copilot_short %}" settings, set your app type to "Agent," then fill out the remaining fields.
|
||||
|
||||
After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.product.prodname_copilot_chat_short %} window of a supported client or IDE, then sending a prompt as normal. For a list of supported clients and IDEs, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions#supported-clients-and-ides).
|
||||
After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.copilot.copilot_chat_short %} window of a supported client or IDE, then sending a prompt as normal. For a list of supported clients and IDEs, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions#supported-clients-and-ides).
|
||||
|
||||
> [!NOTE] Chatting with {% data variables.product.prodname_copilot_extensions %} in {% data variables.product.prodname_github_codespaces %} is not supported.
|
||||
> [!NOTE] Chatting with {% data variables.copilot.copilot_extensions %} in {% data variables.product.prodname_github_codespaces %} is not supported.
|
||||
|
||||
For more detailed instructions, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent#configuring-your-github-app).
|
||||
|
||||
@@ -107,10 +107,10 @@ To make the Blackbeard agent accessible to the {% data variables.product.prodnam
|
||||
|
||||
To integrate your {% data variables.product.prodname_github_app %} with the Blackbeard agent, you need to make the following changes to your app settings:
|
||||
* In the "General" settings, in the "Callback URL" field, paste the URL for your exposed server.
|
||||
* In the "Permissions & events" settings, grant read-only permissions to {% data variables.product.prodname_copilot_chat_short %}.
|
||||
* In the "Permissions & events" settings, grant read-only permissions to {% data variables.copilot.copilot_chat_short %}.
|
||||
* In the "{% data variables.product.prodname_copilot_short %}" settings, set your app type to "Agent," then fill out the remaining fields.
|
||||
|
||||
After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.product.prodname_copilot_chat_short %} window, then sending a prompt as normal.
|
||||
After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.copilot.copilot_chat_short %} window, then sending a prompt as normal.
|
||||
|
||||
For more detailed instructions, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent#configuring-your-github-app).
|
||||
|
||||
@@ -118,11 +118,11 @@ For more detailed instructions, see [AUTOTITLE](/copilot/building-copilot-extens
|
||||
|
||||
## Next steps
|
||||
|
||||
Now that you have a working {% data variables.product.prodname_copilot_extension %}, you can try building on the Blackbeard agent to experiment with agent development.
|
||||
Now that you have a working {% data variables.copilot.copilot_extension %}, you can try building on the Blackbeard agent to experiment with agent development.
|
||||
|
||||
To learn about more complex agent implementations, you can also review the following example agents and software development kit (SDK), all of which are available in the [`copilot-extensions`](https://github.com/copilot-extensions) organization:
|
||||
|
||||
* [{% data variables.product.prodname_github_models %}](https://github.com/copilot-extensions/github-models-extension): A more complex agent that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} through {% data variables.product.prodname_copilot_chat_short %}. The {% data variables.product.prodname_github_models %} agent makes use of function calling.
|
||||
* [{% data variables.product.prodname_github_models %}](https://github.com/copilot-extensions/github-models-extension): A more complex agent that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} through {% data variables.copilot.copilot_chat_short %}. The {% data variables.product.prodname_github_models %} agent makes use of function calling.
|
||||
* [Function Calling](https://github.com/copilot-extensions/function-calling-extension): An example agent written in Go that demonstrates function calling and confirmation dialogs.
|
||||
* [RAG Extension](https://github.com/copilot-extensions/rag-extension): An example agent written in Go that demonstrates a simple implementation of retrieval augmented generation.
|
||||
* [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js/tree/main): An SDK that streamlines the development of {% data variables.product.prodname_copilot_extensions_short %} by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code.
|
||||
* [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js/tree/main): An SDK that streamlines the development of {% data variables.copilot.copilot_extensions_short %} by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Setting up Copilot Extensions
|
||||
intro: 'Follow these steps to start building {% data variables.product.prodname_copilot_extensions_short %}.'
|
||||
intro: 'Follow these steps to start building {% data variables.copilot.copilot_extensions_short %}.'
|
||||
defaultTool: agents
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
@@ -9,7 +9,7 @@ topics:
|
||||
shortTitle: Set up Copilot Extensions
|
||||
---
|
||||
|
||||
This article is designed to help you build an entirely new {% data variables.product.prodname_copilot_extension %}. To instead learn how to quickly build and test a demo {% data variables.product.prodname_copilot_extension_short %} created by {% data variables.product.github %}, see [AUTOTITLE](/copilot/building-copilot-extensions/quickstart-for-github-copilot-extensions).
|
||||
This article is designed to help you build an entirely new {% data variables.copilot.copilot_extension %}. To instead learn how to quickly build and test a demo {% data variables.copilot.copilot_extension_short %} created by {% data variables.product.github %}, see [AUTOTITLE](/copilot/building-copilot-extensions/quickstart-for-github-copilot-extensions).
|
||||
|
||||
{% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-1 %}
|
||||
For more information about skillsets, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets).
|
||||
@@ -17,90 +17,90 @@ For more information about skillsets, see [AUTOTITLE](/copilot/building-copilot-
|
||||
|
||||
{% agents %}
|
||||
|
||||
## 1. Learn about {% data variables.product.prodname_copilot_agents_short %}
|
||||
## 1. Learn about {% data variables.copilot.copilot_agents_short %}
|
||||
|
||||
{% data variables.product.prodname_copilot_agents_short %} contain the custom code for your {% data variables.product.prodname_copilot_extension_short %}, and integrate with a {% data variables.product.prodname_github_app %} to form the {% data variables.product.prodname_copilot_extension_short %} itself. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents).
|
||||
{% data variables.copilot.copilot_agents_short %} contain the custom code for your {% data variables.copilot.copilot_extension_short %}, and integrate with a {% data variables.product.prodname_github_app %} to form the {% data variables.copilot.copilot_extension_short %} itself. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents).
|
||||
|
||||
To successfully build a {% data variables.product.prodname_copilot_agent_short %}, you need to understand how the agent communicates with:
|
||||
To successfully build a {% data variables.copilot.copilot_agent_short %}, you need to understand how the agent communicates with:
|
||||
|
||||
* The {% data variables.product.prodname_copilot_short %} platform using server-sent events. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform).
|
||||
* The {% data variables.product.github %} API. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github).
|
||||
|
||||
## 2. Review example {% data variables.product.prodname_copilot_agents_short %} and the {% data variables.product.prodname_copilot_extensions_short %} SDK
|
||||
## 2. Review example {% data variables.copilot.copilot_agents_short %} and the {% data variables.copilot.copilot_extensions_short %} SDK
|
||||
|
||||
To see the previous concepts in practice and learn about agent implementations, review the following example agents and software development kit (SDK), all of which are available in the [`copilot-extensions`](https://github.com/copilot-extensions) organization:
|
||||
|
||||
* [Blackbeard](https://github.com/copilot-extensions/blackbeard-extension) (best starting point): A simple agent that responds to requests like a pirate using {% data variables.product.prodname_copilot_short %}'s large language model (LLM) API and special system prompts.
|
||||
* [{% data variables.product.prodname_github_models %}](https://github.com/copilot-extensions/github-models-extension): A more complex agent that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} through {% data variables.product.prodname_copilot_chat_short %}. The {% data variables.product.prodname_github_models %} agent makes use of function calling.
|
||||
* [{% data variables.product.prodname_github_models %}](https://github.com/copilot-extensions/github-models-extension): A more complex agent that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} through {% data variables.copilot.copilot_chat_short %}. The {% data variables.product.prodname_github_models %} agent makes use of function calling.
|
||||
* [Function Calling](https://github.com/copilot-extensions/function-calling-extension): An example agent written in Go that demonstrates function calling and confirmation dialogs.
|
||||
* [RAG Extension](https://github.com/copilot-extensions/rag-extension): An example agent written in Go that demonstrates a simple implementation of retrieval augmented generation.
|
||||
* [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js/tree/main): An SDK that streamlines the development of {% data variables.product.prodname_copilot_extensions_short %} by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code.
|
||||
* [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js/tree/main): An SDK that streamlines the development of {% data variables.copilot.copilot_extensions_short %} by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code.
|
||||
|
||||
## 3. Build a {% data variables.product.prodname_copilot_agent_short %}
|
||||
## 3. Build a {% data variables.copilot.copilot_agent_short %}
|
||||
|
||||
Using the reference material from the previous steps, plan and build your {% data variables.product.prodname_copilot_agent_short %}. You can choose to implement any of the following options:
|
||||
Using the reference material from the previous steps, plan and build your {% data variables.copilot.copilot_agent_short %}. You can choose to implement any of the following options:
|
||||
|
||||
* To avoid building and managing your own LLM deployment, your agent can call the Copilot LLM deployment. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent).
|
||||
* To quickly interpret user input and choose from a variety of predefined functions to execute, you can implement function calling in your agent. To learn more, see [How to use function calling with Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/function-calling) in the Azure OpenAI documentation and [Function calling](https://platform.openai.com/docs/guides/function-calling) in the OpenAI documentation.
|
||||
|
||||
## 4. Deploy your {% data variables.product.prodname_copilot_agent_short %}
|
||||
## 4. Deploy your {% data variables.copilot.copilot_agent_short %}
|
||||
|
||||
To make your {% data variables.product.prodname_copilot_agent_short %} accessible to the {% data variables.product.prodname_copilot_short %} platform and {% data variables.product.github %}, you need to deploy it to a server that is reachable by HTTP request. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
To make your {% data variables.copilot.copilot_agent_short %} accessible to the {% data variables.product.prodname_copilot_short %} platform and {% data variables.product.github %}, you need to deploy it to a server that is reachable by HTTP request. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
|
||||
## 5. Create a {% data variables.product.prodname_github_app %} and integrate it with your {% data variables.product.prodname_copilot_agent_short %}
|
||||
## 5. Create a {% data variables.product.prodname_github_app %} and integrate it with your {% data variables.copilot.copilot_agent_short %}
|
||||
|
||||
To create a {% data variables.product.prodname_copilot_extension_short %}, you need to create and configure a {% data variables.product.prodname_github_app %}, then integrate it with your {% data variables.product.prodname_copilot_agent_short %}. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) and [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent).
|
||||
To create a {% data variables.copilot.copilot_extension_short %}, you need to create and configure a {% data variables.product.prodname_github_app %}, then integrate it with your {% data variables.copilot.copilot_agent_short %}. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) and [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent).
|
||||
|
||||
## 6. Choose the availability of your {% data variables.product.prodname_copilot_extension_short %}
|
||||
## 6. Choose the availability of your {% data variables.copilot.copilot_extension_short %}
|
||||
|
||||
Choose one of two visibility levels for your {% data variables.product.prodname_copilot_extension_short %}:
|
||||
Choose one of two visibility levels for your {% data variables.copilot.copilot_extension_short %}:
|
||||
* **Public:** Any user or organization account with the installation page link for the extension can install it.
|
||||
* **Private:** Only the user or organization account that created the extension can install it.
|
||||
|
||||
If you make your {% data variables.product.prodname_copilot_extension_short %} public, you can then choose to list it on the {% data variables.product.prodname_marketplace %}.
|
||||
If you make your {% data variables.copilot.copilot_extension_short %} public, you can then choose to list it on the {% data variables.product.prodname_marketplace %}.
|
||||
|
||||
To learn how to change the visibility of your {% data variables.product.prodname_copilot_extension_short %} and list it on the {% data variables.product.prodname_marketplace %}, see [AUTOTITLE](/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension).
|
||||
To learn how to change the visibility of your {% data variables.copilot.copilot_extension_short %} and list it on the {% data variables.product.prodname_marketplace %}, see [AUTOTITLE](/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension).
|
||||
|
||||
## Next steps
|
||||
|
||||
To learn how to use your {% data variables.product.prodname_copilot_extension_short %}, see [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat).
|
||||
To learn how to use your {% data variables.copilot.copilot_extension_short %}, see [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat).
|
||||
|
||||
{% endagents %}
|
||||
|
||||
{% skillsets %}
|
||||
|
||||
## 1. Learn about {% data variables.product.prodname_copilot_skillsets %}
|
||||
## 1. Learn about {% data variables.copilot.copilot_skillsets %}
|
||||
|
||||
{% data variables.product.prodname_copilot_skillsets %} contain the custom code for your {% data variables.product.prodname_copilot_extension_short %}, and integrate with a {% data variables.product.prodname_github_app %} to form the {% data variables.product.prodname_copilot_extension_short %} itself.
|
||||
{% data variables.copilot.copilot_skillsets %} contain the custom code for your {% data variables.copilot.copilot_extension_short %}, and integrate with a {% data variables.product.prodname_github_app %} to form the {% data variables.copilot.copilot_extension_short %} itself.
|
||||
|
||||
Unlike {% data variables.product.prodname_copilot_agents_short %}, {% data variables.product.prodname_copilot_skillsets_short %} handle the logic behind prompt crafting, function evaluation, and response generation, making them an ideal choice for developers seeking quick and effective integrations with minimal effort. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets).
|
||||
Unlike {% data variables.copilot.copilot_agents_short %}, {% data variables.copilot.copilot_skillsets_short %} handle the logic behind prompt crafting, function evaluation, and response generation, making them an ideal choice for developers seeking quick and effective integrations with minimal effort. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets).
|
||||
|
||||
## 2. Build a {% data variables.product.prodname_copilot_skillset_short %}
|
||||
## 2. Build a {% data variables.copilot.copilot_skillset_short %}
|
||||
|
||||
To explore an example of a skillset implementation, see the [skillset-example](https://github.com/copilot-extensions/skillset-example) repository in the [`copilot-extensions`](https://github.com/copilot-extensions) organization.
|
||||
|
||||
To build a skillset, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets).
|
||||
|
||||
## 3. Deploy your {% data variables.product.prodname_copilot_skillset_short %}
|
||||
## 3. Deploy your {% data variables.copilot.copilot_skillset_short %}
|
||||
|
||||
To make your {% data variables.product.prodname_copilot_skillset_short %} accessible to the {% data variables.product.prodname_copilot_short %} platform and {% data variables.product.github %}, you need to deploy it to a server that is reachable by HTTP request. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
To make your {% data variables.copilot.copilot_skillset_short %} accessible to the {% data variables.product.prodname_copilot_short %} platform and {% data variables.product.github %}, you need to deploy it to a server that is reachable by HTTP request. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent).
|
||||
|
||||
## 4. Create a {% data variables.product.prodname_github_app %} and integrate it with your {% data variables.product.prodname_copilot_skillset_short %}
|
||||
## 4. Create a {% data variables.product.prodname_github_app %} and integrate it with your {% data variables.copilot.copilot_skillset_short %}
|
||||
|
||||
To create a {% data variables.product.prodname_copilot_extension_short %}, you need to create and configure a {% data variables.product.prodname_github_app %}, then integrate it with your {% data variables.product.prodname_copilot_skillset_short %}. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) and [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent).
|
||||
To create a {% data variables.copilot.copilot_extension_short %}, you need to create and configure a {% data variables.product.prodname_github_app %}, then integrate it with your {% data variables.copilot.copilot_skillset_short %}. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) and [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent).
|
||||
|
||||
## 5. Choose the availability of your {% data variables.product.prodname_copilot_skillset_short %}
|
||||
## 5. Choose the availability of your {% data variables.copilot.copilot_skillset_short %}
|
||||
|
||||
Choose one of two visibility levels for your {% data variables.product.prodname_copilot_extension_short %}:
|
||||
Choose one of two visibility levels for your {% data variables.copilot.copilot_extension_short %}:
|
||||
* **Public:** Any user or organization account with the installation page link for the extension can install it.
|
||||
* **Private:** Only the user or organization account that created the extension can install it.
|
||||
|
||||
If you make your {% data variables.product.prodname_copilot_extension_short %} public, you can then choose to list it on the {% data variables.product.prodname_marketplace %}.
|
||||
If you make your {% data variables.copilot.copilot_extension_short %} public, you can then choose to list it on the {% data variables.product.prodname_marketplace %}.
|
||||
|
||||
To learn how to change the visibility of your {% data variables.product.prodname_copilot_extension_short %} and list it on the {% data variables.product.prodname_marketplace %}, see [AUTOTITLE](/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension).
|
||||
To learn how to change the visibility of your {% data variables.copilot.copilot_extension_short %} and list it on the {% data variables.product.prodname_marketplace %}, see [AUTOTITLE](/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension).
|
||||
|
||||
## Next steps
|
||||
|
||||
To learn how to use your {% data variables.product.prodname_copilot_extension_short %}, see [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat).
|
||||
To learn how to use your {% data variables.copilot.copilot_extension_short %}, see [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat).
|
||||
|
||||
{% endskillsets %}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Using OIDC with GitHub Copilot Extensions
|
||||
intro: >-
|
||||
Learn how to use OpenID Connect (OIDC) with your {% data
|
||||
variables.product.prodname_copilot_extension_short %} to enhance security.
|
||||
variables.copilot.copilot_extension_short %} to enhance security.
|
||||
versions:
|
||||
feature: copilot-extensions
|
||||
topics:
|
||||
@@ -13,13 +13,13 @@ redirect_from:
|
||||
- /copilot/building-copilot-extensions/using-oidc-with-copilot-extensions
|
||||
---
|
||||
|
||||
## About OpenID Connect (OIDC) for {% data variables.product.prodname_copilot_extensions_short %}
|
||||
## About OpenID Connect (OIDC) for {% data variables.copilot.copilot_extensions_short %}
|
||||
|
||||
OpenID Connect (OIDC) allows {% data variables.product.prodname_copilot_extensions_short %} to exchange short-lived tokens directly from their cloud provider instead of storing long-lived {% data variables.product.github %} credentials. This feature enables both Copilot agents and skillsets to more securely authenticate users and access cloud resources.
|
||||
OpenID Connect (OIDC) allows {% data variables.copilot.copilot_extensions_short %} to exchange short-lived tokens directly from their cloud provider instead of storing long-lived {% data variables.product.github %} credentials. This feature enables both Copilot agents and skillsets to more securely authenticate users and access cloud resources.
|
||||
|
||||
## Overview of OIDC
|
||||
|
||||
{% data variables.product.prodname_copilot_extensions_short %} often need to access third-party resources or APIs on behalf of users. Traditionally, this required storing {% data variables.product.github %} tokens as secrets and making additional API calls to map these tokens to user identities in your system. With OIDC, your extension can request short-lived access tokens directly from your authentication service by exchanging {% data variables.product.github %} identity information.
|
||||
{% data variables.copilot.copilot_extensions_short %} often need to access third-party resources or APIs on behalf of users. Traditionally, this required storing {% data variables.product.github %} tokens as secrets and making additional API calls to map these tokens to user identities in your system. With OIDC, your extension can request short-lived access tokens directly from your authentication service by exchanging {% data variables.product.github %} identity information.
|
||||
|
||||
When enabled, {% data variables.product.github %}'s OIDC provider automatically generates a token containing claims about the user and the request context. Your authentication service can validate these claims and exchange them for an access token scoped specifically for your service.
|
||||
|
||||
@@ -27,7 +27,7 @@ Using OIDC is especially valuable for {% data variables.product.prodname_copilot
|
||||
|
||||
## Benefits of using OIDC
|
||||
|
||||
By implementing OIDC token exchange in your {% data variables.product.prodname_copilot_extension_short %}, you can:
|
||||
By implementing OIDC token exchange in your {% data variables.copilot.copilot_extension_short %}, you can:
|
||||
|
||||
* Avoid storing long-lived {% data variables.product.github %} tokens or maintain a mapping between {% data variables.product.github %} and your service's identities.
|
||||
* Use short-lived tokens that automatically expire and can be scoped specifically to your service's needs.
|
||||
@@ -37,11 +37,11 @@ By implementing OIDC token exchange in your {% data variables.product.prodname_c
|
||||
|
||||
## Token exchange flow
|
||||
|
||||
The following outlines how the {% data variables.product.prodname_copilot_extensibility_platform_short %} exchanges an OIDC token for an access token to authenticate requests to your extension.
|
||||
The following outlines how the {% data variables.copilot.copilot_extensibility_platform_short %} exchanges an OIDC token for an access token to authenticate requests to your extension.
|
||||
|
||||
### Initial request
|
||||
|
||||
1. The user sends a message to your {% data variables.product.prodname_copilot_extension_short %}.
|
||||
1. The user sends a message to your {% data variables.copilot.copilot_extension_short %}.
|
||||
1. GitHub generates an OIDC token containing user identity information.
|
||||
1. GitHub calls your token exchange endpoint with the OIDC token.
|
||||
1. Your service validates the token and returns an access token.
|
||||
@@ -117,13 +117,13 @@ This endpoint should:
|
||||
}
|
||||
```
|
||||
|
||||
### Enable OIDC in your {% data variables.product.prodname_copilot_extension_short %}'s settings
|
||||
### Enable OIDC in your {% data variables.copilot.copilot_extension_short %}'s settings
|
||||
|
||||
In your {% data variables.product.prodname_copilot_extension_short %}'s configuration, enable OIDC:
|
||||
In your {% data variables.copilot.copilot_extension_short %}'s configuration, enable OIDC:
|
||||
|
||||
{% data reusables.apps.settings-step %}
|
||||
{% data reusables.apps.enterprise-apps-steps %}
|
||||
1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.product.prodname_copilot_extension_short %}, click **Edit**.
|
||||
1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.copilot.copilot_extension_short %}, click **Edit**.
|
||||
1. In the left sidebar, click **{% data variables.product.prodname_copilot_short %}**.
|
||||
1. Under **OpenID Connect Token Exchange**, check **Enabled**.
|
||||
1. In the **Token exchange endpoint** field, input your token exchange URL.
|
||||
@@ -136,7 +136,7 @@ Your token exchange endpoint should validate the {% data variables.product.githu
|
||||
1. Fetch the JSON Web Key Set (JWKS) from https://github.com/login/oauth/.well-known/openid-configuration.
|
||||
1. Verify the token signature.
|
||||
1. Validate required claims.
|
||||
* `aud`: Audience. Your {% data variables.product.prodname_copilot_extension_short %}'s client ID.
|
||||
* `aud`: Audience. Your {% data variables.copilot.copilot_extension_short %}'s client ID.
|
||||
* `sub`: Subject. The {% data variables.product.github %} user ID making the request. The response is limited to data that the user has permissions to access. If the user has no permissions `400 Bad Request` is shown.
|
||||
* `iat`: Issued At. The timestamp when the token was issued. It is typically a timestamp in the past but represents the exact moment the token was created.
|
||||
* `nbf`: Not Before. The timestamp before which the token is not valid. This should be a timestamp in the past.
|
||||
@@ -145,7 +145,7 @@ Your token exchange endpoint should validate the {% data variables.product.githu
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
The following sections outline common problems and best practices for implementing OIDC for your {% data variables.product.prodname_copilot_extension_short %}.
|
||||
The following sections outline common problems and best practices for implementing OIDC for your {% data variables.copilot.copilot_extension_short %}.
|
||||
|
||||
### Token validation errors
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Debugging invalid JSON
|
||||
shortTitle: Debug invalid JSON
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can identify and resolve syntax errors or structural issues in JSON data.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can identify and resolve syntax errors or structural issues in JSON data.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/debugging-errors/debugging-invalid-json
|
||||
versions:
|
||||
@@ -15,7 +15,7 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
When working with JSON data, you may encounter issues such as trailing commas, mismatched braces, or incorrect data types that make the JSON invalid. {% data variables.product.prodname_copilot_chat %} can help you debug and fix these errors by suggesting corrections to fix invalid JSON.
|
||||
When working with JSON data, you may encounter issues such as trailing commas, mismatched braces, or incorrect data types that make the JSON invalid. {% data variables.copilot.copilot_chat %} can help you debug and fix these errors by suggesting corrections to fix invalid JSON.
|
||||
|
||||
## Example scenario
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Handling API rate limits
|
||||
shortTitle: Handle API rate limits
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help handle API rate limits by suggesting code that detects implements retry logic.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help handle API rate limits by suggesting code that detects implements retry logic.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/debugging-errors/handling-api-rate-limits
|
||||
versions:
|
||||
@@ -15,7 +15,7 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
When making requests to APIs, it's common to encounter rate limits that restrict the number of calls you can make within a certain time frame. {% data variables.product.prodname_copilot_chat %} can help you handle these limits by suggesting code to detect rate limit responses and automatically retry requests after a delay.
|
||||
When making requests to APIs, it's common to encounter rate limits that restrict the number of calls you can make within a certain time frame. {% data variables.copilot.copilot_chat %} can help you handle these limits by suggesting code to detect rate limit responses and automatically retry requests after a delay.
|
||||
|
||||
## Example scenario
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Documenting legacy code'
|
||||
shortTitle: Document legacy code
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help with documenting legacy code.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help with documenting legacy code.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/documenting-code/documenting-legacy-code
|
||||
versions:
|
||||
@@ -71,7 +71,7 @@ INSERT-AND-VALIDATE.
|
||||
|
||||
## Example prompt
|
||||
|
||||
We can use a simple prompt to ask {% data variables.product.prodname_copilot_chat_short %} to document the code.
|
||||
We can use a simple prompt to ask {% data variables.copilot.copilot_chat_short %} to document the code.
|
||||
|
||||
`Document this code`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Explaining complex algorithms or logic'
|
||||
shortTitle: Explain complex logic
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help add clear and concise documentation on complex algorithms or logic.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help add clear and concise documentation on complex algorithms or logic.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/documenting-code/explaining-complex-algorithms-or-logic
|
||||
versions:
|
||||
@@ -15,7 +15,7 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
There may be times where you need to explain complex algorithms or logic in your code. This can be challenging, especially when you're trying to make it understandable to others. {% data variables.product.prodname_copilot_chat_short %} can help you with this task by providing you with suggestions on how to explain the algorithm or logic in a clear and concise manner.
|
||||
There may be times where you need to explain complex algorithms or logic in your code. This can be challenging, especially when you're trying to make it understandable to others. {% data variables.copilot.copilot_chat_short %} can help you with this task by providing you with suggestions on how to explain the algorithm or logic in a clear and concise manner.
|
||||
|
||||
## Example scenario
|
||||
|
||||
@@ -76,7 +76,7 @@ private void UpdateStatusLabel(string message, Label statusLabel)
|
||||
|
||||
## Example prompt
|
||||
|
||||
We can ask {% data variables.product.prodname_copilot_chat_short %} to make this code easier to understand using comments.
|
||||
We can ask {% data variables.copilot.copilot_chat_short %} to make this code easier to understand using comments.
|
||||
|
||||
`Add comments to this code to make it more understandable`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Explaining legacy code'
|
||||
shortTitle: Explain legacy code
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help with explaining unfamiliar code.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help with explaining unfamiliar code.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/documenting-code/explaining-legacy-code
|
||||
versions:
|
||||
@@ -15,11 +15,11 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
One of the biggest challenges with legacy code is helping developers understand it who aren't familiar with the languages or frameworks. With {% data variables.product.prodname_copilot_chat_short %}, you can explain the background you have and ask for an explanation.
|
||||
One of the biggest challenges with legacy code is helping developers understand it who aren't familiar with the languages or frameworks. With {% data variables.copilot.copilot_chat_short %}, you can explain the background you have and ask for an explanation.
|
||||
|
||||
## Example scenario
|
||||
|
||||
Consider the following COBOL code. If you're a Python developer (as an example), you might not be familiar with COBOL, so you could ask {% data variables.product.prodname_copilot_chat_short %} to explain the code to you.
|
||||
Consider the following COBOL code. If you're a Python developer (as an example), you might not be familiar with COBOL, so you could ask {% data variables.copilot.copilot_chat_short %} to explain the code to you.
|
||||
|
||||
```text
|
||||
IDENTIFICATION DIVISION.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Documenting code
|
||||
intro: 'Discover ways that you can use {% data variables.product.prodname_copilot_chat %} to document your code.'
|
||||
intro: 'Discover ways that you can use {% data variables.copilot.copilot_chat %} to document your code.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/documenting-code
|
||||
versions:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Syncing documentation with code changes'
|
||||
shortTitle: Sync documentation
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help with keeping code documentation up-to-date.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help with keeping code documentation up-to-date.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/documenting-code/syncing-documentation-with-code-changes
|
||||
versions:
|
||||
@@ -15,7 +15,7 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
It can be difficult to keep documentation up to date with changes to code. However, good documentation is essential for maintaining codebases and ensuring that developers can work effectively with the code. {% data variables.product.prodname_copilot_chat_short %} can assist in updating existing code documentation.
|
||||
It can be difficult to keep documentation up to date with changes to code. However, good documentation is essential for maintaining codebases and ensuring that developers can work effectively with the code. {% data variables.copilot.copilot_chat_short %} can assist in updating existing code documentation.
|
||||
|
||||
## Example scenario
|
||||
|
||||
@@ -52,7 +52,7 @@ async getByCategoryName(categoryId: number, page = 1, pageSize = 10): Promise<Pr
|
||||
|
||||
## Example prompt
|
||||
|
||||
You can ask {% data variables.product.prodname_copilot_chat_short %} to update the documentation according to the current code.
|
||||
You can ask {% data variables.copilot.copilot_chat_short %} to update the documentation according to the current code.
|
||||
|
||||
`Update the existing documentation for the getByCategoryName function to reflect the current implementation.`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Writing discussions or blog posts
|
||||
shortTitle: Write discussions or blog posts
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help you generate ideas, outline, or draft discussions or blog posts.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help you generate ideas, outline, or draft discussions or blog posts.'
|
||||
versions:
|
||||
feature: copilot
|
||||
category:
|
||||
@@ -13,17 +13,17 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
When you're working on code, you often need to quickly create accurate and comprehensive explanations to share your work with teammates or the broader community. {% data variables.product.prodname_copilot_chat_short %} can help by suggesting ideas, outlines, or complete drafts for discussions or blog posts—enabling you to document and communicate clearly, so you can spend more time focused on coding.
|
||||
When you're working on code, you often need to quickly create accurate and comprehensive explanations to share your work with teammates or the broader community. {% data variables.copilot.copilot_chat_short %} can help by suggesting ideas, outlines, or complete drafts for discussions or blog posts—enabling you to document and communicate clearly, so you can spend more time focused on coding.
|
||||
|
||||
>[!TIP] You can include links to specific pull requests or issues in your prompts to give {% data variables.product.prodname_copilot_chat_short %} more context. If you're not getting the results you expect, try specifying the repository in your prompt to help {% data variables.product.prodname_copilot_chat_short %} focus on the right project.
|
||||
>[!TIP] You can include links to specific pull requests or issues in your prompts to give {% data variables.copilot.copilot_chat_short %} more context. If you're not getting the results you expect, try specifying the repository in your prompt to help {% data variables.copilot.copilot_chat_short %} focus on the right project.
|
||||
|
||||
## Generating ideas
|
||||
|
||||
When you're working on a project, you may need to write a discussion or blog post to share your ideas, get feedback, or communicate with your team. {% data variables.product.prodname_copilot_chat_short %} can help you generate ideas.
|
||||
When you're working on a project, you may need to write a discussion or blog post to share your ideas, get feedback, or communicate with your team. {% data variables.copilot.copilot_chat_short %} can help you generate ideas.
|
||||
|
||||
### Brainstorming topics from recent work
|
||||
|
||||
If you're looking for ideas for a discussion post, you can ask {% data variables.product.prodname_copilot_chat_short %} to suggest topics based on your recent work.
|
||||
If you're looking for ideas for a discussion post, you can ask {% data variables.copilot.copilot_chat_short %} to suggest topics based on your recent work.
|
||||
|
||||
#### Example prompts
|
||||
|
||||
@@ -37,7 +37,7 @@ If you're looking for ideas for a discussion post, you can ask {% data variables
|
||||
|
||||
### Writing technical deep dives
|
||||
|
||||
When you're working on a complex feature or system, you may need to write a technical deep dive to share your work with your team or the broader community. {% data variables.product.prodname_copilot_chat_short %} can help you generate ideas for technical deep dives by suggesting topics based on your recent work.
|
||||
When you're working on a complex feature or system, you may need to write a technical deep dive to share your work with your team or the broader community. {% data variables.copilot.copilot_chat_short %} can help you generate ideas for technical deep dives by suggesting topics based on your recent work.
|
||||
|
||||
#### Example prompts
|
||||
|
||||
@@ -49,7 +49,7 @@ When you're working on a complex feature or system, you may need to write a tech
|
||||
|
||||
### Sharing best practices
|
||||
|
||||
When you're working on a project, you may need to write a discussion post to share best practices or lessons learned. {% data variables.product.prodname_copilot_chat_short %} can help you generate ideas for discussion posts.
|
||||
When you're working on a project, you may need to write a discussion post to share best practices or lessons learned. {% data variables.copilot.copilot_chat_short %} can help you generate ideas for discussion posts.
|
||||
|
||||
#### Example prompt
|
||||
|
||||
@@ -57,11 +57,11 @@ When you're working on a project, you may need to write a discussion post to sha
|
||||
|
||||
## Drafting content
|
||||
|
||||
Once you have an idea for a discussion or blog post, you can ask {% data variables.product.prodname_copilot_chat_short %} to help you draft the content. {% data variables.product.prodname_copilot_chat_short %} can provide you with a detailed outline, a rough draft, or a polished draft, depending on your needs.
|
||||
Once you have an idea for a discussion or blog post, you can ask {% data variables.copilot.copilot_chat_short %} to help you draft the content. {% data variables.copilot.copilot_chat_short %} can provide you with a detailed outline, a rough draft, or a polished draft, depending on your needs.
|
||||
|
||||
### Outlining a blog post
|
||||
|
||||
If you're looking for help outlining a blog post, you can ask {% data variables.product.prodname_copilot_chat_short %} to suggest a detailed outline for your post.
|
||||
If you're looking for help outlining a blog post, you can ask {% data variables.copilot.copilot_chat_short %} to suggest a detailed outline for your post.
|
||||
|
||||
#### Example prompt
|
||||
|
||||
@@ -69,7 +69,7 @@ If you're looking for help outlining a blog post, you can ask {% data variables.
|
||||
|
||||
### Drafting a blog post
|
||||
|
||||
If you're looking for help drafting a blog post, you can ask {% data variables.product.prodname_copilot_chat_short %} to suggest a rough draft for your post.
|
||||
If you're looking for help drafting a blog post, you can ask {% data variables.copilot.copilot_chat_short %} to suggest a rough draft for your post.
|
||||
|
||||
#### Example prompts
|
||||
|
||||
@@ -81,11 +81,11 @@ If you're looking for help drafting a blog post, you can ask {% data variables.p
|
||||
|
||||
## Refining your draft
|
||||
|
||||
Once you have a draft, you can ask {% data variables.product.prodname_copilot_chat_short %} to help you refine it. {% data variables.product.prodname_copilot_chat_short %} can provide you with suggestions for improving your writing, making it more engaging, or clarifying complex concepts.
|
||||
Once you have a draft, you can ask {% data variables.copilot.copilot_chat_short %} to help you refine it. {% data variables.copilot.copilot_chat_short %} can provide you with suggestions for improving your writing, making it more engaging, or clarifying complex concepts.
|
||||
|
||||
### Improving tone and style
|
||||
|
||||
If you're looking to improve the tone and style of your writing, you can ask {% data variables.product.prodname_copilot_chat_short %} to suggest ways to make your writing more engaging or accessible.
|
||||
If you're looking to improve the tone and style of your writing, you can ask {% data variables.copilot.copilot_chat_short %} to suggest ways to make your writing more engaging or accessible.
|
||||
|
||||
#### Example prompt
|
||||
|
||||
@@ -93,7 +93,7 @@ If you're looking to improve the tone and style of your writing, you can ask {%
|
||||
|
||||
### Including next steps
|
||||
|
||||
If you're looking to include next steps in your blog post, you can ask {% data variables.product.prodname_copilot_chat_short %} to suggest ways to make your writing more actionable.
|
||||
If you're looking to include next steps in your blog post, you can ask {% data variables.copilot.copilot_chat_short %} to suggest ways to make your writing more actionable.
|
||||
|
||||
#### Example prompt
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Analyzing and incorporating user feedback'
|
||||
shortTitle: Incorporate feedback
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can enhance the process of incorporating user feedback into your project.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can enhance the process of incorporating user feedback into your project.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/functionality-analysis-and-feature-suggestions/analyzing-and-incorporating-user-feedback
|
||||
versions:
|
||||
@@ -70,7 +70,7 @@ In this scenario, you've chosen a piece of user feedback to address. Someone req
|
||||
|
||||
### Example prompt
|
||||
|
||||
This example assumes you are asking about an issue in the same repository where you are using {% data variables.product.prodname_copilot_chat_short %}.
|
||||
This example assumes you are asking about an issue in the same repository where you are using {% data variables.copilot.copilot_chat_short %}.
|
||||
|
||||
`Write a feature specification for Issue #426.`
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: Exploring potential feature implementations
|
||||
shortTitle: Explore feature implementations
|
||||
intro: >-
|
||||
{% data variables.product.prodname_copilot_chat_short %} can help explore
|
||||
{% data variables.copilot.copilot_chat_short %} can help explore
|
||||
different approaches for implementing a single feature.
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/functionality-analysis-and-feature-suggestions/exploring-potential-feature-implementations
|
||||
@@ -17,7 +17,7 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
When tasked with implementing new features or enhancing existing ones, developers often face decisions about the best approach to take. {% data variables.product.prodname_copilot_chat_short %} can assist by analyzing the problem and generating implementation options so that you can explore multiple solutions.
|
||||
When tasked with implementing new features or enhancing existing ones, developers often face decisions about the best approach to take. {% data variables.copilot.copilot_chat_short %} can assist by analyzing the problem and generating implementation options so that you can explore multiple solutions.
|
||||
|
||||
## Example scenario
|
||||
|
||||
@@ -43,7 +43,7 @@ Users have requested a "Recent Items" section on their dashboard to quickly acce
|
||||
|
||||
## Example prompt
|
||||
|
||||
You want to evaluate different approaches to this implementation to see whether they fit with your needs and constraints. Here we'll ask {% data variables.product.prodname_copilot_chat_short %} to suggest different approaches.
|
||||
You want to evaluate different approaches to this implementation to see whether they fit with your needs and constraints. Here we'll ask {% data variables.copilot.copilot_chat_short %} to suggest different approaches.
|
||||
|
||||
Navigate to the issue, then type:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Copilot Chat Cookbook
|
||||
intro: 'Find examples of prompts to use with {% data variables.product.prodname_copilot_chat %}.'
|
||||
intro: 'Find examples of prompts to use with {% data variables.copilot.copilot_chat %}.'
|
||||
allowTitleToDifferFromFilename: true
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Decoupling business logic from UI components
|
||||
shortTitle: Decoupling business logic
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help you separate your business logic from your user interface code, making it easier to maintain and scale your application.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help you separate your business logic from your user interface code, making it easier to maintain and scale your application.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/decoupling-business-logic-from-ui-components
|
||||
versions:
|
||||
@@ -17,7 +17,7 @@ topics:
|
||||
|
||||
In many front-end frameworks, business logic can become embedded within user interface (UI) components, making the code hard to maintain or extend, especially as the application grows.
|
||||
|
||||
{% data variables.product.prodname_copilot_chat_short %} can help you refactor your code to extract business logic into separate services or state management solutions. This allows the business logic to be reused across different UI components. It also makes the code easier to scale by separating concerns and reducing interdependencies, and it simplifies unit testing by allowing business logic to be tested independently from UI components.
|
||||
{% data variables.copilot.copilot_chat_short %} can help you refactor your code to extract business logic into separate services or state management solutions. This allows the business logic to be reused across different UI components. It also makes the code easier to scale by separating concerns and reducing interdependencies, and it simplifies unit testing by allowing business logic to be tested independently from UI components.
|
||||
|
||||
## Example scenario
|
||||
|
||||
@@ -60,7 +60,7 @@ The suggested changes refactor the `Counter` component to use Redux for state ma
|
||||
|
||||
The proposed changes separate the code into five separate files.
|
||||
|
||||
> [!NOTE] {% data variables.product.prodname_copilot_chat_short %} responses are non-deterministic, so you may get a different response from the one described here.
|
||||
> [!NOTE] {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get a different response from the one described here.
|
||||
|
||||
### actions.js
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Fixing database deadlocks or data integrity issues'
|
||||
shortTitle: Fix database deadlocks
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help you avoid code that causes slow or blocked database operations, or tables with missing or incorrect data.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help you avoid code that causes slow or blocked database operations, or tables with missing or incorrect data.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/fixing-database-deadlocks-or-data-integrity-issues
|
||||
versions:
|
||||
@@ -17,9 +17,9 @@ topics:
|
||||
|
||||
Complex database operations–particularly those involving transactions–can lead to deadlocks or data inconsistencies that are hard to debug.
|
||||
|
||||
{% data variables.product.prodname_copilot_chat_short %} can help by identifying points in a transaction where locking or deadlocks could occur, and can suggest best practices for transaction isolation or deadlock resolution, such as adjusting locking strategies or handling deadlock exceptions gracefully.
|
||||
{% data variables.copilot.copilot_chat_short %} can help by identifying points in a transaction where locking or deadlocks could occur, and can suggest best practices for transaction isolation or deadlock resolution, such as adjusting locking strategies or handling deadlock exceptions gracefully.
|
||||
|
||||
> [!NOTE] The responses shown in this article are examples. {% data variables.product.prodname_copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
|
||||
> [!NOTE] The responses shown in this article are examples. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
|
||||
|
||||
## Avoiding simultaneous updates on interdependent rows
|
||||
|
||||
@@ -42,7 +42,7 @@ COMMIT TRANSACTION;
|
||||
|
||||
You can check whether there are any problems with this transaction.
|
||||
|
||||
In the editor, select the transaction code, then ask {% data variables.product.prodname_copilot_chat_short %}:
|
||||
In the editor, select the transaction code, then ask {% data variables.copilot.copilot_chat_short %}:
|
||||
|
||||
`Is this transaction good?`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Fixing lint errors
|
||||
shortTitle: Lint errors
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can suggest ways to fix issues identified by a code linter.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can suggest ways to fix issues identified by a code linter.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/fixing-lint-errors
|
||||
versions:
|
||||
@@ -19,7 +19,7 @@ It's good practice to use a linter to check your code for potential errors, styl
|
||||
|
||||
## Example scenario
|
||||
|
||||
You have run a linter on your code and it has identified some issues that need to be fixed. Rather than fixing these manually, you can ask {% data variables.product.prodname_copilot_chat_short %} to fix them for you.
|
||||
You have run a linter on your code and it has identified some issues that need to be fixed. Rather than fixing these manually, you can ask {% data variables.copilot.copilot_chat_short %} to fix them for you.
|
||||
|
||||
## Example prompts
|
||||
|
||||
@@ -35,7 +35,7 @@ You have run a linter on your code and it has identified some issues that need t
|
||||
|
||||
`Use the attached style guide to fix the lint errors`
|
||||
|
||||
* Alternatively, you can ask {% data variables.product.prodname_copilot_chat_short %} to fix only a specific type of lint error:
|
||||
* Alternatively, you can ask {% data variables.copilot.copilot_chat_short %} to fix only a specific type of lint error:
|
||||
|
||||
`Make sure all functions use snake_case naming style`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Handling cross-cutting concerns
|
||||
shortTitle: Cross-cutting concerns
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help you avoid code that relates to a concern other than the core concern of the method or function in which the code is located.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help you avoid code that relates to a concern other than the core concern of the method or function in which the code is located.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/handling-cross-cutting-concerns
|
||||
versions:
|
||||
@@ -17,7 +17,7 @@ topics:
|
||||
|
||||
Cross-cutting concerns are aspects of a program that affect multiple parts of the system, such as logging, security, data validation, and error handling. They can become scattered throughout a codebase, leading to code duplication and maintenance challenges.
|
||||
|
||||
{% data variables.product.prodname_copilot_chat_short %} can help refactor cross-cutting concerns by suggesting the implementation of Aspect-Oriented Programming (AOP) practices or using decorators and middleware patterns to centralize these concerns in a modular, maintainable way.
|
||||
{% data variables.copilot.copilot_chat_short %} can help refactor cross-cutting concerns by suggesting the implementation of Aspect-Oriented Programming (AOP) practices or using decorators and middleware patterns to centralize these concerns in a modular, maintainable way.
|
||||
|
||||
## Example scenario
|
||||
|
||||
@@ -89,7 +89,7 @@ class OrderService:
|
||||
|
||||
## Example prompt
|
||||
|
||||
Open the project workspace in {% data variables.product.prodname_vscode_shortname %} or {% data variables.product.prodname_vs %} and enter the following prompt in the {% data variables.product.prodname_copilot_chat_short %} view.
|
||||
Open the project workspace in {% data variables.product.prodname_vscode_shortname %} or {% data variables.product.prodname_vs %} and enter the following prompt in the {% data variables.copilot.copilot_chat_short %} view.
|
||||
|
||||
`@workspace Refactor this project by using AOP to avoid logging that has cross-cutting concerns`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Improving code readability and maintainability'
|
||||
shortTitle: Improve code readability
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can suggest ways to make your code easier to understand and maintain.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can suggest ways to make your code easier to understand and maintain.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/improving-code-readability-and-maintainability
|
||||
versions:
|
||||
@@ -15,15 +15,15 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
Code with poor readability is difficult for other developers to maintain and extend. {% data variables.product.prodname_copilot_chat_short %} can help in a number of ways. For example, by:
|
||||
Code with poor readability is difficult for other developers to maintain and extend. {% data variables.copilot.copilot_chat_short %} can help in a number of ways. For example, by:
|
||||
* [Suggesting improvements to variable names](#improving-variable-names)
|
||||
* [Avoiding sequential conditional checks](#avoiding-sequential-conditional-checks)
|
||||
* [Reducing nested logic](#reducing-nested-logic)
|
||||
* [Splitting large methods into smaller, more readable ones](#splitting-up-large-methods)
|
||||
|
||||
Documenting your code is another way to improve the maintainability of your code. For information about using {% data variables.product.prodname_copilot_chat_short %} to help you add useful comments to your code, see the example prompts in [Documenting code](/copilot/copilot-chat-cookbook/documenting-code).
|
||||
Documenting your code is another way to improve the maintainability of your code. For information about using {% data variables.copilot.copilot_chat_short %} to help you add useful comments to your code, see the example prompts in [Documenting code](/copilot/copilot-chat-cookbook/documenting-code).
|
||||
|
||||
> [!NOTE] The responses shown in this article are examples. {% data variables.product.prodname_copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
|
||||
> [!NOTE] The responses shown in this article are examples. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
|
||||
|
||||
## Improving variable names
|
||||
|
||||
@@ -45,7 +45,7 @@ function logPersonsAge(a, b, c) {
|
||||
|
||||
### Example prompt
|
||||
|
||||
In the editor, select the function you want to change, then ask {% data variables.product.prodname_copilot_chat_short %}:
|
||||
In the editor, select the function you want to change, then ask {% data variables.copilot.copilot_chat_short %}:
|
||||
|
||||
`Improve the variable names in this function`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Refactoring data access layers
|
||||
shortTitle: Data access layers
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can suggest ways to decouple your data access code from your business logic, making an application easier to maintain and scale.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can suggest ways to decouple your data access code from your business logic, making an application easier to maintain and scale.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/refactoring-data-access-layers
|
||||
versions:
|
||||
@@ -17,9 +17,9 @@ topics:
|
||||
|
||||
Hardcoded SQL queries and tightly coupled data access code can make it difficult to scale or switch databases, and they often lead to repeated logic.
|
||||
|
||||
{% data variables.product.prodname_copilot_chat_short %} can recommend implementing a repository pattern or data access layer that abstracts database interactions, making the code more modular and reducing redundancy. It can also help refactor SQL queries into optimized versions, improving performance and maintainability.
|
||||
{% data variables.copilot.copilot_chat_short %} can recommend implementing a repository pattern or data access layer that abstracts database interactions, making the code more modular and reducing redundancy. It can also help refactor SQL queries into optimized versions, improving performance and maintainability.
|
||||
|
||||
> [!NOTE] The responses described in this article are examples. {% data variables.product.prodname_copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
|
||||
> [!NOTE] The responses described in this article are examples. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
|
||||
|
||||
## Example scenario
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Refactoring for performance optimization
|
||||
shortTitle: Performance optimization
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can suggest ways to speed up slow-running code.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can suggest ways to speed up slow-running code.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/refactoring-for-performance-optimization
|
||||
versions:
|
||||
@@ -17,7 +17,7 @@ topics:
|
||||
|
||||
Existing code may function correctly but be inefficient, leading to performance bottlenecks. Examples of coding that can adversely impact performance include inefficient loops, unnecessary computations, and excessive memory allocation.
|
||||
|
||||
{% data variables.product.prodname_copilot_chat_short %} can identify performance hotspots and suggest refactoring strategies such as optimizing data structures (for example, using hashmaps instead of arrays), reducing redundant calculations, and improving algorithmic efficiency. It can also recommend caching mechanisms or parallelizing operations to improve performance.
|
||||
{% data variables.copilot.copilot_chat_short %} can identify performance hotspots and suggest refactoring strategies such as optimizing data structures (for example, using hashmaps instead of arrays), reducing redundant calculations, and improving algorithmic efficiency. It can also recommend caching mechanisms or parallelizing operations to improve performance.
|
||||
|
||||
## Example scenario
|
||||
|
||||
@@ -61,7 +61,7 @@ if __name__ == "__main__":
|
||||
|
||||
{% data variables.product.prodname_copilot_short %} suggests using a sieve function to generate the prime numbers much more efficiently. If you run this program it will complete in a fraction of a second.
|
||||
|
||||
> [!NOTE] {% data variables.product.prodname_copilot_chat_short %} responses are non-deterministic, so you may get a different response from the one shown here.
|
||||
> [!NOTE] {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get a different response from the one shown here.
|
||||
|
||||
```python
|
||||
import time
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Refactoring to implement a design pattern
|
||||
shortTitle: Design patterns
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can suggest design patterns that you can use to improve your code.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can suggest design patterns that you can use to improve your code.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/refactoring-to-implement-a-design-pattern
|
||||
versions:
|
||||
@@ -17,9 +17,9 @@ topics:
|
||||
|
||||
Code that doesn’t follow established design patterns (like Singleton, Factory, or Observer) can lead to issues like tight coupling, lack of flexibility, or duplicated code.
|
||||
|
||||
{% data variables.product.prodname_copilot_chat_short %} can help you use appropriate design patterns to make your code more flexible and maintainable. For example, it can recommend converting repetitive instantiations into a Factory pattern, or using the Observer pattern to decouple tightly connected classes.
|
||||
{% data variables.copilot.copilot_chat_short %} can help you use appropriate design patterns to make your code more flexible and maintainable. For example, it can recommend converting repetitive instantiations into a Factory pattern, or using the Observer pattern to decouple tightly connected classes.
|
||||
|
||||
> [!NOTE] The responses described in this article are examples. {% data variables.product.prodname_copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
|
||||
> [!NOTE] The responses described in this article are examples. {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get different responses from the ones shown here.
|
||||
|
||||
## Example scenario
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Simplifying complex inheritance hierarchies
|
||||
shortTitle: Simplify inheritance hierarchies
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help you to refactor code to avoid classes with multiple layers of inheritance.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help you to refactor code to avoid classes with multiple layers of inheritance.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/refactoring-code/simplifying-complex-inheritance-hierarchies
|
||||
versions:
|
||||
@@ -17,7 +17,7 @@ topics:
|
||||
|
||||
Deep inheritance hierarchies, or improper use of inheritance, can lead to code that is hard to maintain, making it difficult to follow relationships between classes, or to extend them without causing breakage.
|
||||
|
||||
{% data variables.product.prodname_copilot_chat_short %} can suggest refactoring inheritance-based designs into more flexible composition-based designs (favoring composition over inheritance). It can also recommend applying patterns like Strategy or Decorator to make the system more extensible without adding complexity to the inheritance structure.
|
||||
{% data variables.copilot.copilot_chat_short %} can suggest refactoring inheritance-based designs into more flexible composition-based designs (favoring composition over inheritance). It can also recommend applying patterns like Strategy or Decorator to make the system more extensible without adding complexity to the inheritance structure.
|
||||
|
||||
## Example scenario
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Translating code to a different programming language
|
||||
shortTitle: Translate code
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help you rewrite code to perform the same operations but in a different programming language.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help you rewrite code to perform the same operations but in a different programming language.'
|
||||
versions:
|
||||
feature: copilot
|
||||
category:
|
||||
@@ -75,7 +75,7 @@ print "The file '$file_path' contains $word_count words and $char_count characte
|
||||
|
||||
{% data variables.product.prodname_copilot_short %} generates the following Typescript code.
|
||||
|
||||
> [!NOTE] {% data variables.product.prodname_copilot_chat_short %} responses are non-deterministic, so you may get a different response from the one shown here.
|
||||
> [!NOTE] {% data variables.copilot.copilot_chat_short %} responses are non-deterministic, so you may get a different response from the one shown here.
|
||||
|
||||
```typescript copy
|
||||
import * as fs from 'fs';
|
||||
|
||||
@@ -17,7 +17,7 @@ topics:
|
||||
|
||||
While they may be considered "common knowledge" by many developers, the vast majority of newly introduced security weaknesses are due to vulnerabilities like cross-site scripting (XSS), SQL injection, and cross-site request forgery (CSRF). These vulnerabilities can be mitigated by following secure coding practices, such as using parameterized queries, input validation, and avoiding hard-coded sensitive data. GitHub Copilot can help detect and resolve these issues.
|
||||
|
||||
> [!NOTE] While {% data variables.product.prodname_copilot_chat_short %} can help find some common security vulnerabilities and help you fix them, you should not rely on {% data variables.product.prodname_copilot_short %} for a comprehensive security analysis. Using {% data variables.product.prodname_code_scanning %} will more thoroughly ensure your code is secure. For more information on setting up {% data variables.product.prodname_code_scanning %}, see [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning).
|
||||
> [!NOTE] While {% data variables.copilot.copilot_chat_short %} can help find some common security vulnerabilities and help you fix them, you should not rely on {% data variables.product.prodname_copilot_short %} for a comprehensive security analysis. Using {% data variables.product.prodname_code_scanning %} will more thoroughly ensure your code is secure. For more information on setting up {% data variables.product.prodname_code_scanning %}, see [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning).
|
||||
|
||||
## Example scenario
|
||||
|
||||
@@ -32,7 +32,7 @@ function displayName(name) {
|
||||
|
||||
## Example prompt
|
||||
|
||||
You can ask {% data variables.product.prodname_copilot_chat_short %} to analyze code for common security vulnerabilities and provide explanations and fixes for the issues it finds.
|
||||
You can ask {% data variables.copilot.copilot_chat_short %} to analyze code for common security vulnerabilities and provide explanations and fixes for the issues it finds.
|
||||
|
||||
`Analyze this code for potential security vulnerabilities and suggest fixes.`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Create end-to-end tests for a webpage'
|
||||
shortTitle: Create end-to-end tests
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help with generating end-to-end tests.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help with generating end-to-end tests.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/testing-code/create-end-to-end-tests-for-a-webpage
|
||||
versions:
|
||||
@@ -15,11 +15,11 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
Creating end-to-end tests for a webpage can be time-consuming and complex as the HTML will be generated dynamically. {% data variables.product.prodname_copilot_chat_short %} can help you create end-to-end tests for a webpage by suggesting the necessary code to interact with the webpage and validate the expected results.
|
||||
Creating end-to-end tests for a webpage can be time-consuming and complex as the HTML will be generated dynamically. {% data variables.copilot.copilot_chat_short %} can help you create end-to-end tests for a webpage by suggesting the necessary code to interact with the webpage and validate the expected results.
|
||||
|
||||
## Example scenario
|
||||
|
||||
Imagine a React application that displays product details on a webpage. You need to create end-to-end tests to ensure the product details are displayed correctly. You can ask {% data variables.product.prodname_copilot_chat_short %} to generate these tests for you.
|
||||
Imagine a React application that displays product details on a webpage. You need to create end-to-end tests to ensure the product details are displayed correctly. You can ask {% data variables.copilot.copilot_chat_short %} to generate these tests for you.
|
||||
|
||||
```javascript
|
||||
import React, { useState, useEffect } from 'react';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Create mock objects to abstract layers'
|
||||
shortTitle: Create mock objects
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help with creating mock objects that you can use for unit tests.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help with creating mock objects that you can use for unit tests.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/testing-code/create-mock-objects-to-abstract-layers
|
||||
versions:
|
||||
@@ -15,11 +15,11 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
When creating unit tests, it's important to ensure they're isolated and not depending on external services. One way to achieve this is to create mock objects that abstract layers of your application. {% data variables.product.prodname_copilot_chat_short %} can help you generate the code you need to create these mock objects.
|
||||
When creating unit tests, it's important to ensure they're isolated and not depending on external services. One way to achieve this is to create mock objects that abstract layers of your application. {% data variables.copilot.copilot_chat_short %} can help you generate the code you need to create these mock objects.
|
||||
|
||||
## Example scenario
|
||||
|
||||
Imagine a website built with TypeScript which displays a list of runners. You have a service which fetches the runners from a database, and the server-side code which uses this service. You want to test the server-side code, but you don't want to make a call to the database. You can ask {% data variables.product.prodname_copilot_chat_short %} to generate a mock object for the service.
|
||||
Imagine a website built with TypeScript which displays a list of runners. You have a service which fetches the runners from a database, and the server-side code which uses this service. You want to test the server-side code, but you don't want to make a call to the database. You can ask {% data variables.copilot.copilot_chat_short %} to generate a mock object for the service.
|
||||
|
||||
```typescript
|
||||
// SvelteKit example at +page.server.ts
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 'Generate unit tests'
|
||||
shortTitle: Generate unit tests
|
||||
intro: '{% data variables.product.prodname_copilot_chat_short %} can help with generating unit tests for a function.'
|
||||
intro: '{% data variables.copilot.copilot_chat_short %} can help with generating unit tests for a function.'
|
||||
redirect_from:
|
||||
- /copilot/example-prompts-for-github-copilot-chat/testing-code/generate-unit-tests
|
||||
versions:
|
||||
@@ -15,11 +15,11 @@ topics:
|
||||
- Copilot
|
||||
---
|
||||
|
||||
A good suite of unit tests is critical to the success of any project. However, writing these tests can be time-consuming and are often neglected. {% data variables.product.prodname_copilot_chat_short %} can help generate these tests for you.
|
||||
A good suite of unit tests is critical to the success of any project. However, writing these tests can be time-consuming and are often neglected. {% data variables.copilot.copilot_chat_short %} can help generate these tests for you.
|
||||
|
||||
## Example scenario
|
||||
|
||||
Imagine you have a Python function which validates data before updating the database. You need to create unit tests to ensure the validation performs the way you expect. You can ask {% data variables.product.prodname_copilot_chat_short %} to generate these tests for you.
|
||||
Imagine you have a Python function which validates data before updating the database. You need to create unit tests to ensure the validation performs the way you expect. You can ask {% data variables.copilot.copilot_chat_short %} to generate these tests for you.
|
||||
|
||||
```python
|
||||
def validate_price(price: float):
|
||||
@@ -37,7 +37,7 @@ def validate_price(price: float):
|
||||
|
||||
{% data reusables.copilot.example-prompts.response-is-an-example %}
|
||||
|
||||
If this is your first time asking {% data variables.product.prodname_copilot_chat_short %} to generate unit tests, it may ask you if you wish to configure unit tests for your project. For this example, we are assuming you decline this offer.
|
||||
If this is your first time asking {% data variables.copilot.copilot_chat_short %} to generate unit tests, it may ask you if you wish to configure unit tests for your project. For this example, we are assuming you decline this offer.
|
||||
|
||||
{% data variables.product.prodname_copilot_short %} will provide a strategy for generating the tests, and then provide the tests themselves.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: About customizing GitHub Copilot Chat responses
|
||||
shortTitle: About customizing Copilot responses
|
||||
intro: 'Learn about customizing {% data variables.product.prodname_copilot_chat %} responses to fit with your preferences and requirements.'
|
||||
intro: 'Learn about customizing {% data variables.copilot.copilot_chat %} responses to fit with your preferences and requirements.'
|
||||
versions:
|
||||
feature: copilot
|
||||
topics:
|
||||
@@ -26,7 +26,7 @@ topics:
|
||||
|
||||
{% endvisualstudio %}
|
||||
|
||||
## About customizing {% data variables.product.prodname_copilot_chat %} responses
|
||||
## About customizing {% data variables.copilot.copilot_chat %} responses
|
||||
|
||||
{% webui %}
|
||||
|
||||
@@ -34,9 +34,9 @@ topics:
|
||||
|
||||
### Types of custom instructions
|
||||
|
||||
* **Personal custom instructions** apply to all conversations you have with {% data variables.product.prodname_copilot_chat_short %} across the {% data variables.product.github %} website. They allow you to specify your individual preferences, such as preferred language or response style, ensuring that the responses are tailored to your personal needs.
|
||||
* **Personal custom instructions** apply to all conversations you have with {% data variables.copilot.copilot_chat_short %} across the {% data variables.product.github %} website. They allow you to specify your individual preferences, such as preferred language or response style, ensuring that the responses are tailored to your personal needs.
|
||||
* **Repository custom instructions** apply to conversations within the context of a specific repository. They are useful for defining project-specific coding standards, frameworks, or tools. For example, you can specify that a repository uses TypeScript and a particular library, ensuring consistent responses for all contributors.
|
||||
* **Organization custom instructions (public preview)** apply to conversations within the context of an organization on the {% data variables.product.github %} website. They are ideal for enforcing organization-wide preferences, such as a common language or security guidelines. Organization custom instructions can only be set by organization owners for organizations with a {% data variables.product.prodname_copilot_enterprise_short %} subscription.
|
||||
* **Organization custom instructions (public preview)** apply to conversations within the context of an organization on the {% data variables.product.github %} website. They are ideal for enforcing organization-wide preferences, such as a common language or security guidelines. Organization custom instructions can only be set by organization owners for organizations with a {% data variables.copilot.copilot_enterprise_short %} subscription.
|
||||
|
||||
{% endwebui %}
|
||||
|
||||
@@ -44,7 +44,7 @@ topics:
|
||||
|
||||
{% data variables.product.prodname_copilot %} can provide chat responses that are tailored to the way your team works, the tools you use, or the specifics of your project, if you provide it with enough context to do so. Instead of repeatedly adding this contextual detail to your chat questions, you can create files in your repository that automatically add this information for you.
|
||||
|
||||
There are two types of files you can use to provide context and instructions to {% data variables.product.prodname_copilot_chat %} in {% data variables.product.prodname_vscode_shortname %}:
|
||||
There are two types of files you can use to provide context and instructions to {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vscode_shortname %}:
|
||||
|
||||
* **Repository custom instructions** allow you to specify repository-wide instructions and preferences, in a single file, that apply to any conversation held in the context of the repository.
|
||||
* **Prompt files** (public preview) allow you to save common prompt instructions and relevant context in Markdown files (`*.prompt.md`) that you can then reuse in your chat prompts. Prompt files are only available in {% data variables.product.prodname_vscode_shortname %}.
|
||||
@@ -102,7 +102,7 @@ Common use cases include:
|
||||
|
||||
> [!NOTE] Prompt files are {% data variables.release-phases.public_preview %} and subject to change.
|
||||
|
||||
Prompt files let you build and share reusable prompt instructions with additional context. A prompt file is a Markdown file, stored in your workspace, that mimics the existing format of writing prompts in {% data variables.product.prodname_copilot_chat_short %} (for example, `Rewrite #file:x.ts`). This allows blending natural language instructions, additional context, and even linking to other prompt files as dependencies.
|
||||
Prompt files let you build and share reusable prompt instructions with additional context. A prompt file is a Markdown file, stored in your workspace, that mimics the existing format of writing prompts in {% data variables.copilot.copilot_chat_short %} (for example, `Rewrite #file:x.ts`). This allows blending natural language instructions, additional context, and even linking to other prompt files as dependencies.
|
||||
|
||||
Common use cases include:
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
title: Adding organization custom instructions for GitHub Copilot
|
||||
shortTitle: Organization custom instructions
|
||||
intro: 'Customize {% data variables.product.prodname_copilot_chat %} responses for members of your organization.'
|
||||
intro: 'Customize {% data variables.copilot.copilot_chat %} responses for members of your organization.'
|
||||
permissions: Organization owners
|
||||
product: 'Organizations with a {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %} plan'
|
||||
product: 'Organizations with a {% data variables.copilot.copilot_for_business %} or {% data variables.copilot.copilot_enterprise %} plan'
|
||||
versions:
|
||||
feature: copilot-org-instructions
|
||||
topics:
|
||||
@@ -12,11 +12,11 @@ topics:
|
||||
|
||||
{% data reusables.copilot.organization-instructions-note %}
|
||||
|
||||
For an overview of the methods you can use to customize {% data variables.product.prodname_copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=webui).
|
||||
For an overview of the methods you can use to customize {% data variables.copilot.copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=webui).
|
||||
|
||||
## About organization custom instructions for {% data variables.product.prodname_copilot_chat %}
|
||||
## About organization custom instructions for {% data variables.copilot.copilot_chat %}
|
||||
|
||||
Organization owners can add instructions for {% data variables.product.prodname_copilot_chat %} in order to tailor chat responses to the needs and preferences of your organization. For example, you can choose to always have {% data variables.product.prodname_copilot_chat_short %} respond in your company's language of choice or with a particular style. Some examples of instructions you could add are:
|
||||
Organization owners can add instructions for {% data variables.copilot.copilot_chat %} in order to tailor chat responses to the needs and preferences of your organization. For example, you can choose to always have {% data variables.copilot.copilot_chat_short %} respond in your company's language of choice or with a particular style. Some examples of instructions you could add are:
|
||||
* `Always respond in Spanish.`
|
||||
* `Do not generate code blocks in responses.`
|
||||
* `For questions related to security, use the Security Docs Knowledge Base.`
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Adding personal custom instructions for GitHub Copilot
|
||||
shortTitle: Personal custom instructions
|
||||
intro: 'Customize {% data variables.product.prodname_copilot_chat %} responses to match your personal preferences.'
|
||||
intro: 'Customize {% data variables.copilot.copilot_chat %} responses to match your personal preferences.'
|
||||
versions:
|
||||
feature: copilot
|
||||
topics:
|
||||
@@ -10,11 +10,11 @@ topics:
|
||||
|
||||
{% data reusables.copilot.personal-instructions-note %}
|
||||
|
||||
For an overview of the methods you can use to customize {% data variables.product.prodname_copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=webui).
|
||||
For an overview of the methods you can use to customize {% data variables.copilot.copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=webui).
|
||||
|
||||
## About personal custom instructions for {% data variables.product.prodname_copilot_chat %}
|
||||
## About personal custom instructions for {% data variables.copilot.copilot_chat %}
|
||||
|
||||
You can add custom instructions for {% data variables.product.prodname_copilot_chat %} in order to receive chat responses that are customized to your personal preferences, across your conversations on the {% data variables.product.github %} website. For example, you can choose to always have {% data variables.product.prodname_copilot_chat_short %} respond in a preferred language or with a particular style. Some examples of instructions you could add are:
|
||||
You can add custom instructions for {% data variables.copilot.copilot_chat %} in order to receive chat responses that are customized to your personal preferences, across your conversations on the {% data variables.product.github %} website. For example, you can choose to always have {% data variables.copilot.copilot_chat_short %} respond in a preferred language or with a particular style. Some examples of instructions you could add are:
|
||||
* `Always respond in Spanish.`
|
||||
* `Your style is a helpful colleague, minimize explanations but provide enough context to understand the code.`
|
||||
* `Always provide examples in TypeScript.`
|
||||
@@ -26,8 +26,8 @@ You can add custom instructions for {% data variables.product.prodname_copilot_c
|
||||
You can add personal custom instructions either in the Chat panel or in immersive mode. The same instructions will be applied in both modes.
|
||||
|
||||
1. In the top right of any page on {% data variables.product.github %}, either:
|
||||
* Click the **{% octicon "copilot" aria-label="Copilot" %}** icon to open the {% data variables.product.prodname_copilot_chat_short %} panel.
|
||||
* Click {% octicon "triangle-down" aria-label="The downwards triangle icon" %} next to the **{% octicon "copilot" aria-label="Copilot" %}** icon, then click **Immersive** to open {% data variables.product.prodname_copilot_chat_short %} in the full-page, immersive mode. You can also go directly to [https://github.com/copilot](https://github.com/copilot).
|
||||
* Click the **{% octicon "copilot" aria-label="Copilot" %}** icon to open the {% data variables.copilot.copilot_chat_short %} panel.
|
||||
* Click {% octicon "triangle-down" aria-label="The downwards triangle icon" %} next to the **{% octicon "copilot" aria-label="Copilot" %}** icon, then click **Immersive** to open {% data variables.copilot.copilot_chat_short %} in the full-page, immersive mode. You can also go directly to [https://github.com/copilot](https://github.com/copilot).
|
||||
1. Select the {% octicon "kebab-horizontal" aria-label="Open conversation options" %} dropdown menu at the top right of the Chat panel, or immersive page, then click **Personal instructions**.
|
||||
1. Add natural language instructions to the text box.
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ topics:
|
||||
>
|
||||
> This version of this article is for using repository custom instructions on the {% data variables.product.github %} website. Click the tabs above for information on using custom instructions in other environments. <!-- markdownlint-disable-line MD027 -->
|
||||
|
||||
For an overview of the methods you can use to customize {% data variables.product.prodname_copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=webui). For information on customizing {% data variables.copilot.copilot_coding_agent %} see [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent).
|
||||
For an overview of the methods you can use to customize {% data variables.copilot.copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=webui). For information on customizing {% data variables.copilot.copilot_coding_agent %} see [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent).
|
||||
|
||||
## About repository custom instructions for {% data variables.product.prodname_copilot_short %}
|
||||
|
||||
@@ -39,13 +39,13 @@ The custom instructions file is also used by {% data variables.product.prodname_
|
||||
>
|
||||
> This version of this article is for using repository custom instructions in {% data variables.product.prodname_vscode_shortname %}. Click the tabs above for instructions on using custom instructions in other environments. <!-- markdownlint-disable-line MD027 -->
|
||||
|
||||
For an overview of the methods you can use to customize {% data variables.product.prodname_copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=vscode).
|
||||
For an overview of the methods you can use to customize {% data variables.copilot.copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=vscode).
|
||||
|
||||
## About repository custom instructions and prompt files for {% data variables.product.prodname_copilot_chat %}
|
||||
## About repository custom instructions and prompt files for {% data variables.copilot.copilot_chat %}
|
||||
|
||||
{% data variables.product.prodname_copilot %} can provide chat responses that are tailored to the way your team works, the tools you use, or the specifics of your project, if you provide it with enough context to do so. Instead of repeatedly adding this contextual detail to your chat questions, you can create files in your repository that automatically add this information for you.
|
||||
|
||||
There are two types of files you can use to provide context and instructions to {% data variables.product.prodname_copilot_chat %} in {% data variables.product.prodname_vscode_shortname %}:
|
||||
There are two types of files you can use to provide context and instructions to {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vscode_shortname %}:
|
||||
|
||||
* **Repository custom instructions** allow you to specify repository-wide instructions and preferences, in a single file, that apply to any conversation held in the context of the repository.
|
||||
* **Prompt files** (public preview) allow you to save common prompt instructions and relevant context in Markdown files (`*.prompt.md`) that you can then reuse in your chat prompts. Prompt files are only available in {% data variables.product.prodname_vscode_shortname %}.
|
||||
@@ -100,9 +100,9 @@ The following examples demonstrate how to use prompt files.
|
||||
>
|
||||
> This version of this article is for using repository custom instructions in {% data variables.product.prodname_vs %}. Click the tabs above for instructions on using custom instructions in other environments. <!-- markdownlint-disable-line MD027 -->
|
||||
|
||||
For an overview of the methods you can use to customize {% data variables.product.prodname_copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=visualstudio).
|
||||
For an overview of the methods you can use to customize {% data variables.copilot.copilot_chat %} responses, see [AUTOTITLE](/copilot/customizing-copilot/about-customizing-github-copilot-chat-responses?tool=visualstudio).
|
||||
|
||||
## About repository custom instructions for {% data variables.product.prodname_copilot_chat %}
|
||||
## About repository custom instructions for {% data variables.copilot.copilot_chat %}
|
||||
|
||||
{% data variables.product.prodname_copilot %} can provide chat responses that are tailored to the way your team works, the tools you use, or the specifics of your project, if you provide it with enough context to do so. Instead of repeatedly adding this contextual detail to your chat questions, you can create a file in your repository that automatically adds this information for you. The additional information is not displayed in the chat, but is available to {% data variables.product.prodname_copilot_short %} to allow it to generate higher quality responses.
|
||||
|
||||
@@ -119,7 +119,7 @@ For an overview of the methods you can use to customize {% data variables.produc
|
||||
{% webui %}
|
||||
|
||||
* Your personal choice of whether to use custom instructions must be set to enabled. This is enabled by default. See [Enabling or disabling repository custom instructions](#enabling-or-disabling-repository-custom-instructions) later in this article.
|
||||
* During the {% data variables.release-phases.public_preview %}, if you're using a {% data variables.product.prodname_copilot_business_short %} {% ifversion ghec %}or {% data variables.product.prodname_copilot_enterprise_short %}{% endif %} plan, the organization {% ifversion ghec %}or enterprise{% endif %} that provides your plan must have the **Opt in to preview features** setting enabled. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization){% ifversion ghec %} and [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise#copilot-in-githubcom){% endif %}.
|
||||
* During the {% data variables.release-phases.public_preview %}, if you're using a {% data variables.copilot.copilot_business_short %} {% ifversion ghec %}or {% data variables.copilot.copilot_enterprise_short %}{% endif %} plan, the organization {% ifversion ghec %}or enterprise{% endif %} that provides your plan must have the **Opt in to preview features** setting enabled. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization){% ifversion ghec %} and [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise#copilot-in-githubcom){% endif %}.
|
||||
|
||||
{% endwebui %}
|
||||
|
||||
@@ -181,11 +181,11 @@ Answer all questions in less than 1000 characters, and words of no more than 12
|
||||
|
||||
{% webui %}
|
||||
|
||||
The instructions in the `.github/copilot-instructions.md` file are available for use by {% data variables.product.prodname_copilot_chat_short %} as soon as you save the file. The complete set of instructions will be automatically added to chat prompts that relate to the repository containing the instructions file.
|
||||
The instructions in the `.github/copilot-instructions.md` file are available for use by {% data variables.copilot.copilot_chat_short %} as soon as you save the file. The complete set of instructions will be automatically added to chat prompts that relate to the repository containing the instructions file.
|
||||
|
||||
In {% data variables.product.prodname_copilot_chat_short %}'s immersive view ([github.com/copilot](https://github.com/copilot)), you can start a conversation that uses repository custom instructions by adding, as an attachment, the repository that contains the instructions file.
|
||||
In {% data variables.copilot.copilot_chat_short %}'s immersive view ([github.com/copilot](https://github.com/copilot)), you can start a conversation that uses repository custom instructions by adding, as an attachment, the repository that contains the instructions file.
|
||||
|
||||
Whenever repository custom instructions are used by {% data variables.product.prodname_copilot_chat_short %}, the instructions file is added as a reference for the response that's generated. To find out whether repository custom instructions were used, expand the list of references at the top of a chat response in the Chat panel and check whether the `.github/copilot-instructions.md` file is listed.
|
||||
Whenever repository custom instructions are used by {% data variables.copilot.copilot_chat_short %}, the instructions file is added as a reference for the response that's generated. To find out whether repository custom instructions were used, expand the list of references at the top of a chat response in the Chat panel and check whether the `.github/copilot-instructions.md` file is listed.
|
||||
|
||||

|
||||
|
||||
@@ -252,7 +252,7 @@ Your choice persists until you change it.
|
||||
|
||||
> [!NOTE] Prompt files are {% data variables.release-phases.public_preview %} and subject to change.
|
||||
|
||||
Prompt files let you build and share reusable prompt instructions with additional context. A prompt file is a Markdown file, stored in your workspace, that mimics the existing format of writing prompts in {% data variables.product.prodname_copilot_chat_short %} (for example, `Rewrite #file:x.ts`). You can have multiple prompt files in your workspace, each of which defines a prompt for a different purpose.
|
||||
Prompt files let you build and share reusable prompt instructions with additional context. A prompt file is a Markdown file, stored in your workspace, that mimics the existing format of writing prompts in {% data variables.copilot.copilot_chat_short %} (for example, `Rewrite #file:x.ts`). You can have multiple prompt files in your workspace, each of which defines a prompt for a different purpose.
|
||||
|
||||
### Enabling prompt files
|
||||
|
||||
@@ -273,7 +273,7 @@ To enable prompt files, configure the workspace settings.
|
||||
|
||||
### Using prompt files
|
||||
|
||||
1. At the bottom of the {% data variables.product.prodname_copilot_chat_short %} view, click the **Attach context** icon ({% octicon "paperclip" aria-hidden="true" aria-label="paperclip" %}).
|
||||
1. At the bottom of the {% data variables.copilot.copilot_chat_short %} view, click the **Attach context** icon ({% octicon "paperclip" aria-hidden="true" aria-label="paperclip" %}).
|
||||
1. In the dropdown menu, click **Prompt...** and choose the prompt file you want to use.
|
||||
1. Optionally, attach additional files, including prompt files, to provide more context.
|
||||
1. Optionally, type additional information in the chat prompt box.
|
||||
|
||||
@@ -13,7 +13,7 @@ redirect_from:
|
||||
- /copilot/managing-copilot/managing-github-copilot-in-your-organization/enhancing-copilot-for-your-organization/creating-a-custom-model-for-github-copilot
|
||||
---
|
||||
|
||||
> [!NOTE] The current {% data variables.release-phases.public_preview %} of custom models for {% data variables.product.prodname_copilot_enterprise %} will be discontinued. For now, participants can continue using their custom models, but we are no longer processing new training requests. We encourage participants to try the newer {% data variables.copilot.copilot_gpt_4o %} {% data variables.product.prodname_copilot_short %} code completion model. See [Changing the AI model for Copilot code completion](/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-code-completion?tool=vscode).
|
||||
> [!NOTE] The current {% data variables.release-phases.public_preview %} of custom models for {% data variables.copilot.copilot_enterprise %} will be discontinued. For now, participants can continue using their custom models, but we are no longer processing new training requests. We encourage participants to try the newer {% data variables.copilot.copilot_gpt_4o %} {% data variables.product.prodname_copilot_short %} code completion model. See [Changing the AI model for Copilot code completion](/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-code-completion?tool=vscode).
|
||||
|
||||
## Prerequisite
|
||||
|
||||
@@ -22,8 +22,8 @@ The code on which you want to train a custom model must be hosted in repositorie
|
||||
## Limitations
|
||||
|
||||
* For the {% data variables.release-phases.public_preview %}, an enterprise can deploy one custom model in a single organization.
|
||||
* Code completion suggestions based on the custom model are only available to managed users who get a {% data variables.product.prodname_copilot_enterprise_short %} plan from the organization in which the custom model is deployed. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users).
|
||||
* The custom model is not used for code suggested in responses by {% data variables.product.prodname_copilot_chat %}.
|
||||
* Code completion suggestions based on the custom model are only available to managed users who get a {% data variables.copilot.copilot_enterprise_short %} plan from the organization in which the custom model is deployed. For more information, see [AUTOTITLE](/enterprise-cloud@latest/admin/managing-iam/understanding-iam-for-enterprises/about-enterprise-managed-users).
|
||||
* The custom model is not used for code suggested in responses by {% data variables.copilot.copilot_chat %}.
|
||||
|
||||
## About {% data variables.product.prodname_copilot_short %} custom models
|
||||
|
||||
@@ -55,7 +55,7 @@ If model creation fails, {% data variables.product.prodname_copilot_short %} wil
|
||||
|
||||
### About model usage
|
||||
|
||||
As soon as the custom model is successfully created, all managed users in your enterprise who get {% data variables.product.prodname_copilot_enterprise_short %} access from the organization in which the custom model is deployed will start to see {% data variables.product.prodname_copilot_short %} code completion suggestions that are generated using the custom model. The custom model will always be used for any code these users edit, irrespective of where the code resides. Users cannot choose which model is used to generate the code completion suggestions they see.
|
||||
As soon as the custom model is successfully created, all managed users in your enterprise who get {% data variables.copilot.copilot_enterprise_short %} access from the organization in which the custom model is deployed will start to see {% data variables.product.prodname_copilot_short %} code completion suggestions that are generated using the custom model. The custom model will always be used for any code these users edit, irrespective of where the code resides. Users cannot choose which model is used to generate the code completion suggestions they see.
|
||||
|
||||
## When you can benefit from a custom model
|
||||
|
||||
@@ -125,7 +125,7 @@ Retraining the model updates it to include any new code that has been added to t
|
||||
1. Go to your organization's settings for {% data variables.product.prodname_copilot_short %} custom models. See [Creating a custom model](#creating-a-custom-model) above.
|
||||
1. On the model training page, click the first ellipsis button (**...**), then click either **Retrain model** or **Delete model**.
|
||||
|
||||
If you retrain the model, {% data variables.product.prodname_copilot_short %} will continue to use the current model to generate code completion suggestions until the new model is ready. Once the new model is ready, it will be automatically be used for code completion suggestions for all managed users who get a {% data variables.product.prodname_copilot_enterprise_short %} plan from the organization.
|
||||
If you retrain the model, {% data variables.product.prodname_copilot_short %} will continue to use the current model to generate code completion suggestions until the new model is ready. Once the new model is ready, it will be automatically be used for code completion suggestions for all managed users who get a {% data variables.copilot.copilot_enterprise_short %} plan from the organization.
|
||||
|
||||
If you delete the custom model, {% data variables.product.prodname_copilot_short %} will use the base model for generating code completion suggestions for all users who get a {% data variables.product.prodname_copilot_short %} plan from the organization.
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user