diff --git a/content/actions/concepts/runners/larger-runners.md b/content/actions/concepts/runners/larger-runners.md index 80377ea2373c..55869e0f5ce7 100644 --- a/content/actions/concepts/runners/larger-runners.md +++ b/content/actions/concepts/runners/larger-runners.md @@ -45,7 +45,7 @@ Since macOS {% data variables.actions.hosted_runners %} are not preconfigured, t > [!NOTE] > {% data variables.actions.hosted_runner_caps %}s are not eligible for the use of included minutes on private repositories. For both private and public repositories, when {% data variables.actions.hosted_runners %} are in use, they will always be billed at the per-minute rate. -Compared to standard {% data variables.product.prodname_dotcom %}-hosted runners, {% data variables.actions.hosted_runners %} are billed differently. {% data reusables.actions.about-larger-runners-billing %} For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). +Compared to standard {% data variables.product.github %}-hosted runners, {% data variables.actions.hosted_runners %} are billed differently. {% data reusables.actions.about-larger-runners-billing %} For more information, see [AUTOTITLE](/billing/reference/actions-minute-multipliers). ## Next steps diff --git a/content/actions/how-tos/manage-workflow-runs/approve-runs-from-forks.md b/content/actions/how-tos/manage-workflow-runs/approve-runs-from-forks.md index 322f597f043f..8f4eda00b193 100644 --- a/content/actions/how-tos/manage-workflow-runs/approve-runs-from-forks.md +++ b/content/actions/how-tos/manage-workflow-runs/approve-runs-from-forks.md @@ -12,6 +12,7 @@ redirect_from: - /actions/how-tos/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-private-forks - /actions/how-tos/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks - /actions/how-tos/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-forks + - /actions/managing-workflow-runs/approving-workflow-runs-from-private-forks --- Workflow runs triggered by a contributor's pull request from a fork may require manual approval from a maintainer with write access. You can configure workflow approval requirements for a [repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#configuring-required-approval-for-workflows-from-public-forks), [organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#configuring-required-approval-for-workflows-from-public-forks), or [enterprise](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-fork-pull-requests-in-your-enterprise). diff --git a/content/billing/concepts/product-billing/git-lfs.md b/content/billing/concepts/product-billing/git-lfs.md index ba3fbc6dfdfa..07c2c9a5528c 100644 --- a/content/billing/concepts/product-billing/git-lfs.md +++ b/content/billing/concepts/product-billing/git-lfs.md @@ -1,9 +1,17 @@ --- title: Git Large File Storage billing -intro: 'Learn about billing for {% data variables.large_files.product_name_long %} using the new billing platform.' +intro: 'Learn how usage of {% data variables.large_files.product_name_long %} is measured against your free allowance and how to pay for additional use.' versions: feature: enhanced-billing-platform redirect_from: +# Redirects from about-storage-and-bandwidth-usage + - /articles/billing-plans-for-large-file-storage + - /articles/billing-plans-for-git-large-file-storage + - /articles/about-storage-and-bandwidth-usage + - /github/managing-large-files/about-storage-and-bandwidth-usage + - /github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage + - /repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage +# Original redirects - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-git-large-file-storage - /articles/about-billing-for-git-large-file-storage - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage @@ -23,18 +31,36 @@ product: '{% data reusables.billing.enhanced-billing-platform-product %}' contentType: concepts --- -## About billing for {% data variables.large_files.product_name_long %} +## How use of {% data variables.large_files.product_name_short %} is measured -> [!NOTE] {% data reusables.user-settings.context_switcher %} +Each {% data variables.product.github %} account receives a quota of free bandwidth and storage for {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}). Any usage beyond the included amounts is billed to your account. Bandwidth resets every month, while storage usage does not. -Each {% data variables.product.prodname_dotcom %} account receives a certain amount of free bandwidth and storage for {% data variables.large_files.product_name_short %}, depending on the account's plan. -Bandwidth is billed for each GiB of data downloaded. Storage is billed by calculating an hourly usage rate. To estimate costs for paid {% data variables.large_files.product_name_short %} usage, you can use the {% data variables.product.prodname_dotcom %} [pricing calculator](https://github.com/pricing/calculator?feature=lfs). +Working in a public or private repository with {% data variables.large_files.product_name_short %}: -{% data reusables.large_files.owner_quota_only %} +* When you **commit and push** a change to a {% data variables.large_files.product_name_short %} file, a new version of the entire file is pushed and the total file size is included in the **repository owner's storage use**. +* When you **download** a {% data variables.large_files.product_name_short %} file, the bandwidth you use is included in the **repository owner's bandwidth usage**. +* When you **upload** a file to {% data variables.large_files.product_name_short %}, the file is included in the **repository owner's storage use** but the bandwidth is not measured. -## Included bandwidth and storage (per month) +> [!TIP] +> Anyone with write access to a repository can push files to {% data variables.large_files.product_name_short %} without increasing their personal bandwidth and storage use. -The following amounts of bandwidth and storage are included for free with your {% data variables.product.company_short %} account. +### Examples of how usage is measured + +* If you push a 500 MB file to {% data variables.large_files.product_name_short %}, you'll use 500 MB of the repository owner's storage and none of their bandwidth. If you make a 1 byte change and push the file again, you'll use another 500 MB of storage and no bandwidth, bringing the total usage for these two pushes to 1 GB of storage and zero bandwidth. +* If you download a 500 MB file that's tracked with {% data variables.large_files.product_name_short %}, you'll use 500 MB of the repository owner's bandwidth. If a collaborator pushes a change to the file and you pull the new version to your local repository, you'll use another 500 MB of bandwidth, bringing the total usage for these two downloads to 1 GB of bandwidth. +* If {% data variables.product.prodname_actions %} downloads a 500 MB file that is tracked with {% data variables.large_files.product_name_short %}, it will use 500 MB of the repository owner's bandwidth. + +### {% data variables.large_files.product_name_short %} objects in source code archives + +If you include {% data variables.large_files.product_name_short %} objects in source code archives for your repository, downloads of those archives will count towards bandwidth usage for the repository. See [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository). + +### Usage in forks + +Bandwidth and storage usage always count against the repository owner's account. Forking and pulling a repository counts against the parent repository's bandwidth usage. + +## Free use of {% data variables.large_files.product_name_short %} + +The following amounts of storage and bandwidth for downloads are included in your {% data variables.product.github %} plan. |Plan | Bandwidth | Storage | |------- | ------- | ---------| @@ -44,18 +70,26 @@ The following amounts of bandwidth and storage are included for free with your { | {% data variables.product.prodname_team %} | {% data variables.large_files.included_bandwidth_team_enterprise %} | {% data variables.large_files.included_storage_team_enterprise %} | | {% data variables.product.prodname_ghe_cloud %} | {% data variables.large_files.included_bandwidth_team_enterprise %} | {% data variables.large_files.included_storage_team_enterprise %} | -## Pricing for paid usage +## Using more than your included quota + +If you use more than your included quota of **storage** without a payment method on file: + +* You can still clone repositories with large assets +* You will only retrieve the pointer files, see [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-git-large-file-storage#pointer-file-format) +* You will not be able to push new files back up + +If you use more than your included quota of **bandwidth** per month without a payment method on file, {% data variables.large_files.product_name_short %} support is disabled on your account until the next month. + +## Paying for additional {% data variables.large_files.product_name_short %} use -If you use more than the included amount of bandwidth or storage for your plan throughout the month, you can still use {% data variables.large_files.product_name_short %}. {% data variables.product.company_short %} bills for additional GiBs of data at the rates below. +You pay for any additional use above your quota using the payment method set up for your {% data variables.product.github %} account. See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info). -| Product | Price per-GiB (USD) | -| --------- | ------------------- | -| Bandwidth | $0.0875 | -| Storage | $0.07 | +Bandwidth is billed for each GiB of data downloaded. Storage is billed by calculating an hourly usage rate. -To view your current storage and bandwidth, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). +* To estimate costs for paid {% data variables.large_files.product_name_short %} usage, use the {% data variables.product.github %} [pricing calculator](https://github.com/pricing/calculator?feature=lfs). +* To view your current storage and bandwidth, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). -### Sample storage cost calculation +### Example storage cost calculation For example, if you use 1 GiB above what is included for free for the first 15 days of April, then use 2 GiB starting from April 16th to the end of the month, your storage costs will be calculated in the following way. @@ -64,9 +98,9 @@ For example, if you use 1 GiB above what is included for free for the first 15 d * 360 GiB-hours + 720 GiB-hours = 1080 GiB-hours * 1080 GiB-hours / 720 hours in the month = 1.5 GiB-months -In this example, {% data variables.product.company_short %} would bill for 1.5 GiB of storage for the month of April. +In this example, you would pay for 1.5 GiB of additional storage for the month of April. -## Managing your budget for {% data variables.large_files.product_name_long %} +## Managing your budget for {% data variables.large_files.product_name_short %} {% data reusables.billing.default-over-quota-behavior %} @@ -76,4 +110,3 @@ In this example, {% data variables.product.company_short %} would bill for 1.5 G * [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-git-large-file-storage) * [AUTOTITLE](/repositories/working-with-files/managing-large-files/installing-git-large-file-storage) -* [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage) diff --git a/content/billing/concepts/product-billing/github-actions.md b/content/billing/concepts/product-billing/github-actions.md index 906afab336ba..ef0e8e509679 100644 --- a/content/billing/concepts/product-billing/github-actions.md +++ b/content/billing/concepts/product-billing/github-actions.md @@ -1,6 +1,6 @@ --- title: GitHub Actions billing -intro: 'If you want to use {% data variables.product.prodname_actions %} beyond the storage or minutes included in your account, you will be billed for additional usage.' +intro: 'Learn how usage of {% data variables.product.prodname_actions %} is measured against your free allowance and how to pay for additional use.' redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions/about-billing-for-github-actions @@ -22,21 +22,24 @@ shortTitle: GitHub Actions contentType: concepts --- -## About billing for {% data variables.product.prodname_actions %} +## How use of {% data variables.product.prodname_actions %} is measured -{% data reusables.billing.authorization-charge %} +{% data variables.product.prodname_actions %} usage is **free** for **self-hosted runners** and for **public repositories** that use standard {% data variables.product.github %}-hosted runners. See [AUTOTITLE](/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job#standard-github-hosted-runners-for-public-repositories). -{% data reusables.actions.actions-billing %} +For **private repositories**, each {% data variables.product.github %} account receives a quota of free minutes and artifact storage for use with {% data variables.product.github %}-hosted runners, depending on the account's plan. Any usage beyond the included amounts is billed to your account. Minutes reset every month, while storage usage does not. -If you are an organization owner or enterprise owner, you can connect an Azure Subscription ID to your organization or enterprise account to enable and pay for {% data variables.product.prodname_actions %} usage beyond the amounts included with your account. For more information, see [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription). +> [!TIP] +> Anyone with write access to a repository can run actions without using minutes for their personal account. -Minutes reset every month, while storage usage does not. +### Examples of how usage is measured -### Included storage and minutes +* If you run a workflow on a standard Linux runner and it takes 10 minutes to complete, you'll use 10 minutes of the repository owner's allowance. If the workflow generates a 10 MB artifact, then you'll also use 10 MB of the repository owner's storage allowance. +* If you run a workflow that normally takes 10 minutes and it fails after 5 minutes because a dependency isn't available, you'll use 5 minutes of the repository owner's allowance. If you fix the problem and re-run the workflow successfully, in total you'll use 15 minutes of the repository owner's allowance. +* If you run a workflow that generates many log files and a long job summary, these files do not count towards the repository owner's storage allowance. -> [!NOTE] -> * Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. For more information, see [Per-minute rates](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). -> * Logs and job summaries do not count towards storage usage. +## Free use of {% data variables.product.prodname_actions %} + +The following amounts of time for standard runners and artifact storage are included in your {% data variables.product.github %} plan. At the start of each month, the minutes used by the account are reset to zero. |Plan | Storage | Minutes (per month)| |------- | ------- | ---------| @@ -46,107 +49,48 @@ Minutes reset every month, while storage usage does not. | {% data variables.product.prodname_team %} | 2 GB | 3,000 | | {% data variables.product.prodname_ghe_cloud %} | 50 GB | 50,000 | -If your account's storage surpasses these limits and you have a valid payment method on file, you will pay $0.008 USD per GB of storage per day. +> [!NOTE] +> Included minutes cannot be used for larger runners. These runners will always be charged for, even when used by public repositories. + +## Using more than your included quota + +If your account does not have a valid payment method on file, usage is blocked once you use up your quota. + +## Paying for additional {% data variables.product.prodname_actions %} use + +You pay for any additional use above your quota using the payment method set up for your {% data variables.product.github %} account. See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info). + +Storage is billed based on hourly usage of artifacts throughout the month. Minutes are calculated based on the total processing time used on each runner type during the month. + +* To estimate costs for paid {% data variables.product.prodname_actions %} usage, use the {% data variables.product.github %} [pricing calculator](https://github.com/pricing/calculator?feature=actions). +* To view your current minutes and storage, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). + +> [!NOTE] +> The billing dashboard may show your Actions usage as a dollar amount ("spend") rather than raw minutes. This amount already reflects any applicable minute multipliers. ### Minute multipliers -Jobs that run on Windows and macOS runners that {% data variables.product.prodname_dotcom %} hosts consume minutes at 2 and 10 times the rate that jobs on Linux runners consume. +Each type of runner has a minute multipler that is determined by the operating system and processing power. For example, jobs that run on Windows and macOS runners hosted by {% data variables.product.github %} consume minutes at 2 and 10 times the rate that jobs on Linux runners consume. | Operating system | Minute multiplier | -|----------------- | ------------------| +|----------------- | :----------------:| | Linux | 1 | | Windows | 2 | | macOS | 10 | -> [!NOTE] -> The billing dashboard may show your Actions usage as a dollar amount ("spend") rather than raw minutes. This amount already reflects the minute multipliers above. If you're using macOS or Windows runners, you will use up your included minutes more quickly - -### Per-minute rates - -{% data variables.product.github %} rounds the minutes and partial minutes each job uses up to the nearest whole minute. - -#### Per-minute rates for standard runners - -| Operating system | Per-minute rate (USD) | -|---------------------------------------| ----------------------| -| Linux 2-core | $0.008 | -| Windows 2-core | $0.016 | -| macOS 3-core or 4-core (M1 or Intel) | $0.08 | - -#### Per-minute rates for x64-powered {% data variables.actions.hosted_runners %} - -| Operating system | Per-minute rate (USD) | -|------------------------| ----------------------| -| Linux Advanced 2-core | $0.008 | -| Linux 4-core | $0.016 | -| Linux 8-core | $0.032 | -| Linux 16-core | $0.064 | -| Linux 32-core | $0.128 | -| Linux 64-core | $0.256 | -| Linux 96-core | $0.384 | -| Windows 4-core | $0.032 | -| Windows 8-core | $0.064 | -| Windows 16-core | $0.128 | -| Windows 32-core | $0.256 | -| Windows 64-core | $0.512 | -| Windows 96-core | $0.768 | -| macOS 12-core | $0.12 | - -#### Per-minute rates for arm64-powered {% data variables.actions.hosted_runners %} - -| Operating system | Per-minute rate (USD) | -|---------------------| -----------| -| Linux 2-core | $0.005 | -| Linux 4-core | $0.01 | -| Linux 8-core | $0.02 | -| Linux 16-core | $0.04 | -| Linux 32-core | $0.08 | -| Linux 64-core | $0.16 | -| Windows 2-core | $0.01 | -| Windows 4-core | $0.02 | -| Windows 8-core | $0.04 | -| Windows 16-core | $0.08 | -| Windows 32-core | $0.16 | -| Windows 64-core | $0.32 | -| macOS 6-core (M1) | $0.16 | - -#### Per-minute rates for GPU-powered {% data variables.actions.hosted_runners %} - -| Operating system | Per-minute rate (USD) | -|---------------------| -----------| -| Linux 4-core | $0.07 | -| Windows 4-core | $0.14 | - -#### Points to note about rates for runners - -* The number of jobs you can run concurrently across all repositories in your user or organization account depends on your {% data variables.product.prodname_dotcom %} plan. For more information, see [AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration) for {% data variables.product.prodname_dotcom %}-hosted runners and [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/usage-limits-for-self-hosted-runners) for self-hosted runner usage limits. -* {% data reusables.user-settings.context_switcher %} -* {% data reusables.actions.larger-runner-permissions %} -* {% data reusables.actions.about-larger-runners-billing %} -* For {% data variables.actions.hosted_runner %}s, there is no additional cost for configurations that assign public static IP addresses to a {% data variables.actions.hosted_runner %}. For more information on {% data variables.actions.hosted_runner %}s, see [AUTOTITLE](/actions/using-github-hosted-runners/using-larger-runners/about-larger-runners). -* Included minutes cannot be used for {% data variables.actions.hosted_runner %}s. -* The {% data variables.actions.hosted_runner %}s are not free for public repositories. - -## Calculating minute and storage spending - -{% data reusables.dotcom_billing.pricing_calculator.pricing_cal_actions %} - -At the end of the month, {% data variables.product.prodname_dotcom %} calculates the cost of minutes and storage used over the amount included in your account. - -### Sample minutes cost calculation - -For example, if your organization uses {% data variables.product.prodname_team %} and allows unlimited spending, using 5,000 minutes beyond the included quota could have a total storage and minute cost of $56 USD, depending on the operating systems used to run jobs. +For full details of minute multiplers for {% data variables.product.github %}-hosted runners, see [AUTOTITLE](/billing/reference/actions-minute-multipliers). + +### Example minutes cost calculation + +For example, if your organization uses {% data variables.product.prodname_team %}, using 5,000 minutes beyond the included quota would have a total storage and minute cost of $56 USD, with the use of both Linux and Windows runners. * 5,000 (3,000 Linux and 2,000 Windows) minutes = $56 USD ($24 USD + $32 USD). * 3,000 Linux minutes at $0.008 USD per minute = $24 USD. * 2,000 Windows minutes at $0.016 USD per minute = $32 USD. -{% data variables.product.prodname_dotcom %} calculates your storage usage for each month based on hourly usage during that month. +This example assumes that the baseline runner was used for each operating system. -### Sample storage cost calculation - -> [!NOTE] -> {% data variables.product.company_short %} updates your storage space within a 6 to 12-hour window. If you delete artifacts, the available space will be reflected in your account during the next scheduled update. +### Example storage cost calculation For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 days of March, your storage usage would be: @@ -155,12 +99,18 @@ For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 da * 720 GB-Hours + 6,048 GB-Hours = 6,768 GB-Hours * 6,768 GB-Hours / (744 hours per month) = 9.0967 GB-Months -At the end of the month, {% data variables.product.prodname_dotcom %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB. +At the end of the month, {% data variables.product.github %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB. -Your {% data variables.product.prodname_actions %} usage shares your account's existing billing date, payment method, and receipt. {% data reusables.dotcom_billing.view-all-subscriptions %} +> [!NOTE] +> {% data variables.product.github %} updates your storage space within a 6 to 12-hour window. If you delete artifacts, the available space will be reflected in your account during the next scheduled update. ## Managing your budget for {% data variables.product.prodname_actions %} {% data reusables.billing.default-over-quota-behavior %} {% data reusables.billing.migrated-budgets %} + +## Further reading + +* [AUTOTITLE](/actions/get-started/understand-github-actions) +* [AUTOTITLE](/actions/get-started/quickstart) diff --git a/content/billing/concepts/product-billing/github-advanced-security.md b/content/billing/concepts/product-billing/github-advanced-security.md index 6554a92dfebb..58085c295e88 100644 --- a/content/billing/concepts/product-billing/github-advanced-security.md +++ b/content/billing/concepts/product-billing/github-advanced-security.md @@ -1,6 +1,6 @@ --- -title: '{% data variables.product.prodname_GHAS %} billing' -intro: 'Learn about the licensing models for {% data variables.product.prodname_AS %} products and how the use of {% data variables.product.prodname_GHAS_cs_and_sp %} licenses is calculated.' +title: '{% data variables.product.prodname_GHAS %} license billing' +intro: 'Learn how usage of {% data variables.product.prodname_AS %} features is measured and how to pay for additional licenses.' product: '{% data reusables.gated-features.ghas-billing %}' redirect_from: - /admin/advanced-security/about-licensing-for-github-advanced-security @@ -22,124 +22,97 @@ shortTitle: GitHub Advanced Security contentType: concepts --- -{% ifversion fpt or ghec %} -{% data variables.product.github %} makes a subset of {% data variables.product.prodname_AS %} features available, free of charge, to all public repositories on {% data variables.product.prodname_dotcom_the_website %}. In addition, you can get insight into your exposure to leaked secrets with a free {% data variables.product.prodname_secret_risk_assessment %}. See [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/viewing-the-secret-risk-assessment-report-for-your-organization). - -You need to pay to use {% data variables.product.prodname_AS %} features in private repositories. If you change the visibility of a public repository to private and don't pay for {% data variables.product.prodname_AS %}, {% data variables.product.prodname_AS %} features will be disabled for that repository. - -{% endif %} +## Licenses for {% data variables.product.prodname_GHAS %} {% ifversion ghas-products %} -## License types for {% data variables.product.prodname_AS %} products - -{% data variables.product.prodname_AS %} consists of two main products: +The {% data variables.product.prodname_AS %} product has two license SKUs (stock keeping units): {% data reusables.advanced-security.ghas-products-bullets+ghas %} -Licensing for {% data variables.product.prodname_AS %} products is flexible, making it easy for you to choose options that fit your business needs. For example, you might start by using {% data variables.product.prodname_GH_secret_protection %} across all repositories, and pilot {% data variables.product.prodname_GH_code_security %} in high-risk repositories. You buy or pay only for the products you need, and expand as you see the benefits to the security of your code. - -For more information, see [feature summary and pricing information](https://github.com/enterprise/advanced-security#pricing) and [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security). - {% else %} -You can make extra features available to users with a license for {% data variables.product.prodname_AS %} products. For more information, see [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security). - +You can make extra features available to users by buying a license for {% data variables.product.prodname_AS %} products. {% endif %} -## Billing models for {% data variables.product.prodname_AS %} products - -Each active committer to at least one repository with an {% data variables.product.prodname_AS %} product enabled uses one license. A committer is considered active if one of their commits has been pushed to the repository within the last 90 days, regardless of when it was originally authored. - -There are two different ways to pay for licenses. - -* **Metered billing** {% ifversion ghes %}available from {% data variables.product.prodname_ghe_server %} 3.13 onward with {% data variables.product.prodname_github_connect %}{% endif %} +For more information, see [feature summary and pricing information](https://github.com/enterprise/advanced-security#pricing) and [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security). - * Users can enable {% data variables.product.prodname_GH_cs_or_sp %} independently. - * Monthly bill for the number of licenses used by active committers. - * No pre-defined license limit. - * No overage state, you pay only for what you use.{% ifversion ghec or ghes %} - > [!NOTE] - > On {% data variables.product.prodname_ghe_server %}, metered use of {% data variables.product.prodname_AS %} products is billed through the linked enterprise account on {% data variables.product.prodname_ghe_cloud %}. +## How usage of {% data variables.product.prodname_GHAS %} licenses is measured -{% endif %} +A subset of {% data variables.product.prodname_AS %} features are available to **all public repositories** on {% data variables.product.prodname_dotcom_the_website %} **free of charge**. If you change the visibility of a public repository to private and don't pay for {% data variables.product.prodname_AS %}, {% data variables.product.prodname_AS %} features will be disabled for that repository. -* **Volume/subscription billing** available for {% data variables.product.prodname_enterprise %} plans only +Use of {% data variables.product.prodname_AS %} features in **all other repositories requires a license**. Your license usage is calculated based on the number of **unique, active committers** to repositories with {% data variables.product.prodname_GH_cs_or_sp %} features enabled. {% data variables.product.prodname_github_app %} bots are ignored. For information about differences between bot and machine accounts, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/differences-between-github-apps-and-oauth-apps#machine-vs-bot-accounts). - * Purchase a specific number of {% data variables.product.prodname_GHAS_cs_or_sp %} licenses that last for a defined period, typically at least a year. - * If the usage of {% data variables.product.prodname_AS %} by active committers exceeds the number of licenses purchased, you need to purchase additional licenses to cover this overage usage. +### Active and unique committers - If you want to purchase volume/subscription-based licenses, contact your account manager in {% data variables.contact.contact_enterprise_sales %} or contact {% data variables.contact.contact_support_page %}. +Each **active committer** to at least one repository with an {% data variables.product.prodname_AS %} feature enabled uses **one license**. A committer is considered active if one of their commits has been pushed to the repository within the last 90 days, regardless of when it was originally authored. -## Managing committers and costs +* **Active committers** are committers who contributed to at least one repository and have a {% data variables.product.prodname_team %} or {% data variables.product.prodname_enterprise %} license with your organization or enterprise. That is, they are also a member, an enterprise-managed user, an external collaborator, or have a pending invitation to join your organization or enterprise. +* **Unique committers** is the number of active committers who contributed only to one repository, or only to repositories in one organization. You can free up this number of licenses by disabling {% data variables.product.prodname_GH_cs_or_sp %} for that repository or organization. -{% ifversion fpt %} +> [!NOTE] When a repository is migrated to GitHub, GitHub Advanced Security only consumes licenses for commits and pushes made after migration, rather than considering all historic contributions from before the migration. -With a {% data variables.product.prodname_team %} plan, you manage committers and costs by controlling usage. The options available depend on your billing platform. +{% ifversion security-configurations %}You can see the active and unique committers to an organization on the Global settings page for {% data variables.product.UI_advanced_security %}. Under "{% data variables.product.prodname_secret_protection %} repositories" and "{% data variables.product.prodname_code_security %} repositories", summaries and repository-level details are reported. See [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization).{% endif %} -{% else %} +## Free use of {% data variables.product.prodname_GHAS %} features -The options available for managing committers and costs depend on your billing model and the billing platform you use. +{% data variables.product.github %} makes some {% data variables.product.prodname_AS %} features available free of charge on {% data variables.product.prodname_dotcom_the_website %}. -### Metered billing - +* **All public repositories** have access to code scanning, secret scanning, and dependency review. +* **Secret risk assessment** is available for organizations on {% data variables.product.prodname_dotcom_the_website %}. See {% ifversion fpt or ghec %}[AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/viewing-the-secret-risk-assessment-report-for-your-organization){% elsif ghes %}[AUTOTITLE](/enterprise-cloud@latest/code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/viewing-the-secret-risk-assessment-report-for-your-organization) in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. -{% endif %} +For full details of available features, see [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security). -Your use of {% data variables.product.prodname_AS %} is billed per committer and enabled by repository. If you remove a committer from an organization{% ifversion ghec or ghes %} or enterprise{% endif %}, or if you disable all {% data variables.product.prodname_GHAS_cs_or_sp %} features for a repository, the committers will remain billable until the end of the current monthly billing cycle. Prorated billing applies only when a committer starts partway through the month. For examples of how committers are tracked and billed, see [Understanding usage](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#understanding-usage). +You need to **pay** to use {% data variables.product.prodname_AS %} features in **private repositories** on {% data variables.product.prodname_dotcom_the_website %}, and in all repositories hosted by {% data variables.enterprise.data_residency_site %} and {% data variables.product.prodname_ghe_server %}. -You can control usage and costs with {% ifversion ghec %}cost centers, policies, {% endif %}budgets and alerts. See {% data reusables.advanced-security.control-use-cost-links %}. +## Using more than your planned licenses -{% data reusables.billing.actions-usage-delay %} +Your account may have a limit on the number of licenses you can use. For example, volume billing specifies a set number of licenses. -{% ifversion ghas-in-license-sync %} -If your enterprise uses {% data variables.product.prodname_AS %} on both {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}, you can ensure users aren't consuming multiple licenses unnecessarily by synchronizing license usage between environments.{% ifversion ghec %} {% data variables.product.prodname_AS %} is included in license sync in {% data variables.product.prodname_ghe_server %} version 3.12 and later.{% endif %} See [AUTOTITLE](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud). -{% endif %} +If your number of unique, active committers exceeds your license limit, features controlled by {% data variables.product.prodname_AS %} licensing continue to work on all repositories where they are already enabled. -{% ifversion ghec or ghes %} - -### Volume/subscription billing +However, you will not be able to enable {% data variables.product.prodname_GHAS_cs_or_sp %} on any additional repositories. Any new repositories created in organizations where {% data variables.product.prodname_GHAS_cs_or_sp %} are configured to be enabled automatically will be created with the products disabled. -{% endif %} +## Paying for {% data variables.product.prodname_GHAS %} licenses -Each license specifies a maximum number of accounts that can use {% data variables.product.prodname_AS %}. Each active committer to at least one repository with the product enabled consumes one license. When you remove a user from your {% data variables.enterprise.enterprise_or_org %} account, the user's license is freed within 24 hours. +You pay for additional licenses using the payment method set up for your {% data variables.product.github %} account.{% ifversion fpt or ghec %} See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info).{% endif %} -If you exceed your license limit, features controlled by {% data variables.product.prodname_AS %} licensing continue to work on all repositories where they are already enabled. However, you will not be able to enable {% data variables.product.prodname_GHAS_cs_or_sp %} on any additional repositories. Any new repositories created in organizations where {% data variables.product.prodname_GHAS_cs_or_sp %} are configured to be enabled automatically will be created with the products disabled. - -As soon as you make licenses available, by disabling {% data variables.product.prodname_GHAS_cs_or_sp %} in some repositories, or by increasing your license size, the options for enabling {% data variables.product.prodname_GHAS_cs_and_sp %} will work again as normal. {% ifversion ghes %}All standalone instances of {% data variables.product.prodname_ghe_server %} use volume/subscription licenses. Contact [{% data variables.product.github %}'s Sales team](https://enterprise.github.com/contact) if you want to make changes to your license.{% endif %} - -You can enforce policies to allow or disallow the use of {% data variables.product.prodname_AS %} by organizations owned by your enterprise account. See [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise). +There are two different ways to pay for licenses. -## Active and unique committers +* **Metered billing** available for {% data variables.product.prodname_ghe_cloud %} and from {% data variables.product.prodname_ghe_server %} 3.13 onward with {% data variables.product.prodname_github_connect %} -The number of unique, active committers who use {% data variables.product.prodname_GH_cs_or_sp %} controls your license use. + * Users can enable {% data variables.product.prodname_GH_cs_or_sp %} independently. + * Monthly bill for the number of licenses used by active committers. + * No pre-defined license limit. + * No overage state, you pay only for what you use. + > [!NOTE] + > On {% data variables.product.prodname_ghe_server %}, metered use of {% data variables.product.prodname_AS %} products is billed through the linked enterprise account on {% data variables.product.prodname_ghe_cloud %}. -{% ifversion security-configurations %}You can see the active and unique committers to an organization on the Global settings page for {% data variables.product.UI_advanced_security %}. Under "{% data variables.product.prodname_secret_protection %} repositories" and "{% data variables.product.prodname_code_security %} repositories" summary and repository-level details are reported. See [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization).{% endif %} +* **Volume/subscription billing** available for {% data variables.product.prodname_enterprise %} plans only -{% ifversion fpt %} -* **Active committers** is the number of committers who contributed to at least one organization-owned repository, and who use a license in your organization. That is, they are also an organization member, an external collaborator, or have a pending invitation to join your organization, and they are not a {% data variables.product.prodname_github_app %} bot. -{% else %} -* **Active committers** is the number of committers who contributed to at least one organization-owned repository{% ifversion secret-scanning-user-owned-repos %} or one user-owned repository{% endif %}, and who use a license in your enterprise. That is, they are also an organization member, an external collaborator, or have a pending invitation to join an organization in your enterprise, and they are not a {% data variables.product.prodname_github_app %} bot. -{% endif %} For information about differences between bot and machine accounts, see [AUTOTITLE](/apps/creating-github-apps/setting-up-a-github-app/differences-between-github-apps-and-oauth-apps#machine-vs-bot-accounts). -* **Unique committers** is the number of active committers who contributed only to a repository, or to repositories in an organization. This number shows how many licenses you can free up by disabling {% data variables.product.prodname_GH_cs_or_sp %} for that repository or organization. + * Purchase a specific number of {% data variables.product.prodname_GHAS_cs_or_sp %} licenses that last for a defined period, typically at least a year. + * If the usage of {% data variables.product.prodname_AS %} by active committers exceeds the number of licenses purchased, you need to purchase additional licenses to cover this overage usage. -> [!NOTE] When a repository is migrated to GitHub, GitHub Advanced Security only consumes licenses for commits and pushes made after migration, rather than considering all historic contributions from before the migration. + If you want to purchase volume/subscription-based licenses, contact your account manager in {% data variables.contact.contact_enterprise_sales %} or contact {% data variables.contact.contact_support_page %}. -If there are no unique committers to a repository or organization, all active committers also contribute to other repositories or organizations that use {% data variables.product.prodname_AS %} licenses. Disabling a product for that repository or organization would not free any licenses or lower your usage costs. + + +{% ifversion fpt or ghec %}To view your current license usage, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage).{% endif %} + -## Understanding usage +### Understanding usage -Users can contribute to multiple repositories or organizations. Usage is measured across the whole {% data variables.enterprise.enterprise_or_org %} to ensure that each member uses one license regardless of how many repositories or organizations the user contributes to. +Users can contribute to multiple repositories or organizations. Usage is measured across the whole organization or enterprise to ensure that each member uses one license regardless of how many repositories or organizations the user contributes to. When you enable or disable {% data variables.product.prodname_GH_cs_or_sp %} for one or more repositories, {% data variables.product.github %} displays an overview of how this will change your usage. * Metered billing, showing an increase or reduction in the number of active committers using licenses. * Volume/subscription billing, showing the number of licenses used or freed by unique active committers. -The following example timeline demonstrates how the active committer count for {% data variables.product.prodname_AS %} products could change over time in an enterprise. For each month, you will find events, along with the resulting committer count and the effect on usage-based billing. +### Example showing how the active committer count changes over time -> [!NOTE] A user is flagged as active when their commits are pushed to any branch of a repository, even if the commits were authored more than 90 days ago. +The following example timeline demonstrates how the unique, active committer count for {% data variables.product.prodname_AS %} licenses could change over time in an organization or enterprise. For each month, you will find events, along with the resulting committer count and the effect on usage-based billing. -| Date | Events during the month | Total committers | Effect on usage-based billing | +| Date | Events during the month | Unique, active committers | Effect on usage-based billing | | :- | :- | -: | :- | | April 15 | A member of your enterprise enables {% data variables.product.prodname_GH_cs_and_sp %} for repository **X**. Repository **X** has 50 committers over the past 90 days. | **50** | Billing begins for 50 committers. | | May 1 | Developer **A** switches teams and stops committing to repository **X**. Developer **A**'s contributions continue to count for 90 days. | **50** | No immediate change. Developer **A** continues to be billed until their contributions are inactive for 90 days. | @@ -147,13 +120,35 @@ The following example timeline demonstrates how the active committer count for { | August 15 | A member of your enterprise enables {% data variables.product.prodname_GH_cs_and_sp %} for a second repository, repository **Y**. In the last 90 days, a total of 20 developers contributed to that repository. Of those 20 developers, 10 also recently worked on repo **X** and do not require additional licenses. | 49 + 10 =
**59** | Billing increases to 59 committers, accounting for the 10 additional unique contributors. | | August 16 | A member of your enterprise disables {% data variables.product.prodname_GH_cs_and_sp %} for repository **X**. Of the 49 developers who were working on repository **X**, 10 still also work on repository **Y**, which has a total of 20 developers contributing in the last 90 days. | 49 - 29 =
**20** | Billing for repository **X** continues until the end of the monthly billing cycle, but the overall billing count decreases to 20 committers for the next cycle. | +## Managing your budget for {% data variables.product.prodname_AS %} + +The options available for managing committers and costs depend on your billing model. + +### Metered billing + +You can control usage and costs with budgets and alerts. If you use {% data variables.product.prodname_ghe_cloud %}, then you can also use cost centers and policies to control costs. +See {% data reusables.advanced-security.control-use-cost-links %}. + +{% data reusables.billing.actions-usage-delay %} + +If your enterprise uses {% data variables.product.prodname_AS %} on both {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}, you can ensure users don't consume multiple licenses unnecessarily by synchronizing license usage between environments. See [AUTOTITLE](/billing/managing-your-license-for-github-enterprise/syncing-license-usage-between-github-enterprise-server-and-github-enterprise-cloud). + +### Volume/subscription billing + +Each license specifies a maximum number of accounts that can use {% data variables.product.prodname_AS %}. Each active committer to at least one repository with the product enabled consumes one license. When you remove a user from your {% data variables.enterprise.enterprise_or_org %} account, the user's license is freed within 24 hours. + +As soon as you make licenses available, by disabling {% data variables.product.prodname_GHAS_cs_or_sp %} in some repositories, or by increasing your license size, the options for enabling {% data variables.product.prodname_GHAS_cs_and_sp %} will work again as normal. + +You can enforce policies to allow or disallow the use of {% data variables.product.prodname_AS %} by organizations owned by your enterprise account. See [AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-advanced-security-in-your-enterprise). + +> [!TIP] +> All standalone instances of {% data variables.product.prodname_ghe_server %} use volume/subscription licenses. Contact [{% data variables.product.github %}'s Sales team](https://enterprise.github.com/contact) if you want to make changes to your license. + ## Further reading -{% ifversion fpt or ghec %} -* [AUTOTITLE](/billing/managing-your-billing/using-budgets-control-spending) -* [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage) -* [AUTOTITLE](/enterprise-cloud@latest/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/managing-your-github-advanced-security-licensing) -{% elsif ghes %} -* [AUTOTITLE](/enterprise-cloud@latest/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage) in the documentation for {% data variables.product.prodname_ghe_cloud %} -* [AUTOTITLE](/enterprise-cloud@latest/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/managing-your-github-advanced-security-licensing) in the documentation for {% data variables.product.prodname_ghe_cloud %} -* [AUTOTITLE](/enterprise-cloud@latest/billing/managing-your-billing/using-budgets-control-spending) in the documentation for {% data variables.product.prodname_ghe_cloud %}{% endif %} +{% ifversion fpt or ghec or ghes > 3.14 %} +* [AUTOTITLE](/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale){% endif %} +{%- ifversion fpt or ghec or ghes > 3.15 %} +* [AUTOTITLE](/admin/managing-code-security/securing-your-enterprise/about-security-configurations){% else %} +* [AUTOTITLE](/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/managing-github-advanced-security-features-for-your-enterprise){% endif %} +* [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise) diff --git a/content/billing/concepts/product-billing/github-codespaces.md b/content/billing/concepts/product-billing/github-codespaces.md index 3b73ddec9dc3..4e419ece01b0 100644 --- a/content/billing/concepts/product-billing/github-codespaces.md +++ b/content/billing/concepts/product-billing/github-codespaces.md @@ -23,77 +23,78 @@ redirect_from: contentType: concepts --- -## About {% data variables.product.prodname_github_codespaces %} pricing +## How use of {% data variables.product.prodname_github_codespaces %} is measured -{% data reusables.billing.authorization-charge %} +A {% data variables.product.prodname_github_codespaces %} instance (a "codespace") incurs two types of charges. -{% data reusables.codespaces.codespaces-free-for-personal-intro %} +* **Compute time**: processing time and power, while the codespace is active. +* **Storage**: amount of disk space the codespace or prebuild occupies, while it exists. -Organizations can choose whether codespaces created from their repositories will be user-owned or organization-owned. See [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/choosing-who-owns-and-pays-for-codespaces-in-your-organization). An organization pays for a codespace if all the following things are true. +In addition, any prebuilt codespaces are generated using actions minutes, see [AUTOTITLE](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds). -* The organization has chosen for codespaces to be organization-owned. -{% data reusables.codespaces.when-an-org-pays %} +### Compute time -For more information about enabling {% data variables.product.prodname_github_codespaces %} for users, see [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/enabling-or-disabling-github-codespaces-for-your-organization). +The compute time for a codespace is the length of time for which that codespace is active. Total use of compute time for each processor type is calculated by summing the time used by all codespaces billable to a particular account. These totals are reported to the billing service every hour, and are billed monthly. -Otherwise use of {% data variables.product.prodname_github_codespaces %} applies to the personal account of the person who created the codespace, and either consumes some of the monthly included usage for their personal account, or their account is billed according to their usage in excess of their included quotas. +### Storage volume for codespaces -The Free, Team, and Enterprise plans for organization and enterprise accounts do not include any free use of {% data variables.product.prodname_github_codespaces %}. +Storage is a time-based measurement of the amount of storage used in GB-hours. The storage measured for codespaces includes: -{% ifversion ghec %} -{% data reusables.codespaces.codespaces-unavailable-for-emus %} -{% endif %} - -{% ifversion fpt %} - -## Monthly included storage and core hours for personal accounts +* Any files you use in a codespace, such as cloned repositories and configuration files +* Any data loaded to the codespace (for example, as input or output of the software running in the repository) +* Any extensions +* Any prebuilt codespaces, see [AUTOTITLE](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds) +* Any custom dev containers, see [AUTOTITLE](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#creating-a-custom-dev-container-configuration) -The following storage and core hours of usage are included, free of charge, for personal accounts: +### Storage volume for codespaces built from custom configurations -| Account plan | Storage per month | Core hours per month | -| ------------ | ----------------- | -------------------- | -| {% data variables.product.prodname_dotcom %} Free for personal accounts | 15 GB-month | 120 | -| {% data variables.product.prodname_dotcom %} Pro | 20 GB-month | 180 | +By default, your codespace is built from the default Linux image, also known as the "default dev container configuration". If you build a codespace from a custom dev container configuration, you will see an increased storage volume. See [AUTOTITLE](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#creating-a-custom-dev-container-configuration). -### Understanding GB-months and core hours +* **Default Linux image**: the storage volume for your codespace is based only on the files in your repository and any files you add to the codespace. +* **Custom base image**: the storage volume for your codespace includes the custom dev container, in addition to all the files in the repository and codespace. -The included usage for personal accounts is measured in GB-months and core hours. +Containers based on the default image are not included in your storage volume, even if you add features in your dev container configuration. See [AUTOTITLE](/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/adding-features-to-a-devcontainer-file). -#### GB-month +## Free and billed use by personal accounts -The GB-month unit of storage is a time-based measurement, 1 GB-month being 1 GB of storage usage for one whole month. The disk space used by all of your codespaces and prebuilds is assessed once an hour and your current GB-month usage is recalculated. Therefore, while you have codespaces and prebuilds, your GB-month usage will increase throughout the month. For example, if the storage totals 15 GB, and remains unchanged throughout your monthly billing cycle, then you will have used 7.5 GB halfway through the month, and 15 GB at the end of the month. See [About billing for storage usage](#about-billing-for-storage-usage) later in this article. +{% data variables.product.github %} plans for organizations and enterprises do not include a free quota for {% data variables.product.prodname_github_codespaces %}. -#### Core hour +### Free quota -A "core hour" is a measure used for included compute usage. To calculate core hours, multiply the number of hours for which a codespace has been active by the multiplier in the pricing table later in this article. For the basic machine types, the multiplier is the number of processor cores in the machine that hosts the codespace. For example: +All {% data variables.product.github %} personal accounts include a quota of free compute time and storage for {% data variables.product.prodname_github_codespaces %}. Any usage beyond the included amounts is billed to the personal account. -* A 2-core machine used for 1 hour equals 2 core hours -* An 8-core machine used for 1 hour equals 8 core hours -* An 8-core machine used for 2 hours equals 16 core hours +| Account plan | Storage per month | Compute time per month | +| ------------ | ----------------- | -------------------- | +| {% data variables.product.prodname_dotcom %} Free for personal accounts | 15 GB-month | 120 hrs | +| {% data variables.product.prodname_dotcom %} Pro | 20 GB-month | 180 hrs | -### Using your included usage +{% data reusables.codespaces.codespaces-unavailable-for-emus %} -You will be notified by email when you have used 75%, 90%, and 100% of your included quotas. Notifications are also displayed in a "toast" message within {% data variables.product.prodname_vscode_shortname %} and the {% data variables.product.prodname_vscode_shortname %} web client. You can turn off email notifications if required. See [AUTOTITLE](/billing/managing-your-billing/using-budgets-control-spending). +{% data reusables.codespaces.tips-included-usage %} -When a personal account has used all of either the included storage or compute usage (whichever is reached first), and has no payment method defined, use of {% data variables.product.prodname_github_codespaces %} will be blocked. You must set up a payment method to continue using {% data variables.product.prodname_github_codespaces %} during the current billing month. At the beginning of the next monthly billing cycle the included usage is reset. Storage will not be billed while use of {% data variables.product.prodname_github_codespaces %} is blocked. +### Using more than your included quota -You can view details of your usage for the current month at any time. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). +If your account does not have a valid payment method on file, usage is blocked once you use up your quota. -If you are blocked from resuming a codespace and you want to continue to work on changes you have made in your codespace, you can do any of the following: +If you are blocked from resuming a codespace and need to continue work on changes in your codespace, you can do any of the following: * Add a payment method and review your budget settings to ensure they meet your usage needs. See [AUTOTITLE](/billing/tutorials/set-up-budgets#viewing-budgets). * Export the changes from the codespace to a branch. See [AUTOTITLE](/codespaces/troubleshooting/exporting-changes-to-a-branch). * Wait for your monthly included usage to reset at the start of the next monthly billing cycle. -If you have used all of either your included storage usage or your included compute usage, and you have set up a payment method, any further use of codespaces owned by your personal account will incur charges for whichever type of usage has no remaining included quota. You will not be charged for the other type of usage until you have also used all of its included quota. See [AUTOTITLE](/billing/managing-your-billing/using-budgets-control-spending). +## Paying for use -{% data reusables.codespaces.tips-included-usage %} +You pay for using {% data variables.product.prodname_codespaces %} using the payment method set up for your {% data variables.product.github %} account. See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info). -{% endif %} +* To estimate costs for paid {% data variables.product.prodname_github_codespaces %} usage, use the {% data variables.product.github %} [pricing calculator](https://github.com/pricing/calculator?feature=codespaces). +* To view your current minutes and storage, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). +* To optimize the use of codespaces: + * For personal accounts, see [AUTOTITLE](/codespaces/troubleshooting/troubleshooting-included-usage) + * For organization accounts, see [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization) -## Pricing for paid usage +### Pricing -A {% data variables.product.prodname_github_codespaces %} instance (a "codespace") incurs charges for compute time, while it is active, and for the amount of disk space the codespace occupies, while it exists. The compute cost is proportional to the number of processor cores in the machine type you choose for your codespace, as shown in the following table. For example, the compute cost of using a codespace for an hour on a 16-core machine is eight times greater than a 2-core machine. +The compute cost is proportional to the number of processor cores in the machine type you choose for your codespace, as shown in the following table. For example, the compute cost of using a codespace for an hour on a 16-core machine is eight times greater than a 2-core machine. | Component | Machine type | Unit of measure | Included usage multiplier | Price | | ------------------- | ------------ | --------------- | ------------------------- | ----- | @@ -104,165 +105,43 @@ A {% data variables.product.prodname_github_codespaces %} instance (a "codespace | Codespaces compute | 32 core | 1 hour | 32 | $2.88 | | Codespaces storage | Storage | 1 GB-month | Not applicable | $0.07 | -For more information about the GB-month unit of measure, see [About billing for storage usage](#about-billing-for-storage-usage). - -If you enable prebuilding of codespaces this will incur additional charges. See [About billing for {% data variables.product.prodname_codespaces %} prebuilds](#about-billing-for-codespaces-prebuilds). - -## About your bill for {% data variables.product.prodname_github_codespaces %} - -{% data variables.product.prodname_github_codespaces %} is billed in US dollars (USD) according to the amount of compute time and storage space your codespaces use. {% data reusables.codespaces.codespaces-monthly-billing %} - -Billing for {% data variables.product.prodname_github_codespaces %} shares your account's existing payment method, and receipt. See [AUTOTITLE](/billing/managing-your-billing/about-the-billing-cycle). - -If you are an organization owner{% ifversion ghec %} or enterprise owner{% endif %}, you can connect an Azure Subscription ID to your organization {% ifversion ghec %}or enterprise{% endif %} account to enable and pay for {% data variables.product.prodname_github_codespaces %} usage. See [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription). - -## About billing for compute usage - -The compute usage of a codespace is the length of time for which that codespace is active multiplied by the multiplier in the pricing table for the machine type of the codespace. Total compute usage is calculated by summing the time used by all codespaces billable to a particular account. These totals are reported to the billing service every hour, and are billed monthly. - -As an example, if a codespace is active for 1 hour and 15 minutes, then the compute cost will be the hourly cost of the codespace, as determined by its machine type, multiplied by 1.25. - -You can control compute usage by stopping your codespaces. For information, see [AUTOTITLE](/codespaces/developing-in-codespaces/stopping-and-starting-a-codespace). Codespaces are stopped automatically after a configurable period of inactivity. The timeout period can be configured by the user, or at the organization level. See [AUTOTITLE](/codespaces/setting-your-user-preferences/setting-your-timeout-period-for-github-codespaces) and [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period). - -## About billing for storage usage - -For {% data variables.product.prodname_github_codespaces %} billing purposes, storage comprises the disk space used by all of the codespaces and prebuilds in your account. This includes any files you use in a codespace, such as cloned repositories, configuration files, data loaded to the codespace (for example as input or output of the software running in the repository), and extensions, among others. Storage is billed for all of your existing codespaces, regardless of whether they are active or inactive with the exception of blocked usage due to exhausted included usage quota or reaching your budget limit. The storage billing for a codespace ends when it is deleted. However, deleting a codespace does not reduce your used storage amount for the current billing month as this is a cumulative figure. - -### Storage billing for containers based on the default image - -When you use the default dev container configuration, your container is built from the default Linux image for codespaces. See [AUTOTITLE](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration). - -Containers based on the default image are not counted as used storage, even if you add features in your dev container configuration. See [AUTOTITLE](/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/adding-features-to-a-devcontainer-file). - -If you use the default image, the storage usage for your codespace will be based on the files in your repository, and any files you subsequently add to the codespace. If you use an alternative base image, then the resulting container and all of the files in the codespace will be counted as used storage. - -{% data reusables.codespaces.check-for-default-image %} - -### Reporting storage usage - -Codespace storage is reported in GB-months. Your billing month runs from a fixed day in one month until the same day in the next month. In most cases the day of the month is determined by the day you started on your current {% data variables.product.prodname_dotcom %} plan. Your GB-month storage is calculated as follows. Once every hour, the storage used by all of your currently active and stopped codespaces is assessed. This figure is then divided by the number of hours in the current billing month: `total storage size / hours this month`. The result is added to the running total for codespace storage for the month. - -For example, if you have one codespace that uses 100 GB of storage and has existed for one hour you will have used `100 / (24 * 30) = 0.1388` GB-months of storage in a 30-day month. If your use of {% data variables.product.prodname_github_codespaces %} during a 30-day month consists of two 100 GB codespaces that both existed for three full days then there will be `24 * 3` hourly reports for the storage of these codespaces, giving a total of `(24 * 3) * 200 / (24 * 30) = 20` GB-months. - -For each hourly report, the storage usage for the previous hour is calculated in seconds. As a result, you won't be charged for a full hour of storage if a codespace did not exist for the full 60 minutes. At the end of the month, {% data variables.product.prodname_dotcom %} rounds your storage to the nearest MB. - -Organization owners can: -* List the currently active and stopped codespaces for your organization. See [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/listing-the-codespaces-in-your-organization). In addition to the cost of these codespaces, the cost of {% data variables.product.prodname_github_codespaces %} for the current month may include costs for codespaces that existed earlier in the current month but have since been deleted. -* See the total {% data variables.product.prodname_github_codespaces %} compute and storage usage for your organization for the current month to date. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). -* Configure your organization settings to manage the cost of {% data variables.product.prodname_github_codespaces %}. See [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization). - -To estimate the costs for usage-based billing, you can use the {% data variables.product.prodname_dotcom %} [pricing calculator](https://github.com/pricing/calculator?feature=codespaces). - -## About billing for {% data variables.product.prodname_codespaces %} prebuilds - -{% data reusables.codespaces.prebuilds-definition %} See [AUTOTITLE](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds). - -### {% data variables.product.prodname_actions %} costs for prebuilds - -Prebuilds are created and updated by running a {% data variables.product.prodname_actions %} workflow on a {% data variables.product.prodname_dotcom %}-hosted runner. You can configure how you want prebuild updates to be automatically triggered. For information, see [AUTOTITLE](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-a-prebuild). - -As with other workflows, while prebuild workflows are running they consume {% data variables.product.prodname_actions %} minutes included with your account, if you have any, or they incur charges for {% data variables.product.prodname_actions %} minutes. For more information about pricing for {% data variables.product.prodname_actions %} minutes, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions). There is no associated {% data variables.product.prodname_codespaces %} compute cost for creating or updating prebuilds. - -You can track usage of prebuild workflows and storage by downloading a usage report for your account. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). - -### Storage costs for prebuilds - -In addition to {% data variables.product.prodname_actions %} minutes, you will also be billed for the storage of prebuilds associated with each prebuild configuration, for a given repository and region. Storage of prebuilds is billed at the same rate as storage of codespaces. - -The storage cost for a prebuild in a single region will be similar to the storage cost that will be incurred for storing a single codespace created from that prebuild. The storage cost for the generated codespace may be more than the cost for the prebuild if, for example, the `updateContentCommand` and `postCreateCommand` commands are used during codespace creation to download more files to the dev container. - -The total storage costs associated with a prebuild configuration will depend on the following factors. - -* The price of storage per GB (see the table earlier in this article) -* The size of the generated prebuild in GB -* The number of regions in which the prebuild is available (because a copy of the prebuild is stored in each region) -* The number of older versions of the prebuild that are retained +## How costs are assigned to a billable account -The storage cost for the prebuilds generated by a prebuild configuration is therefore calculated as: `price per GB * size (GB) * regions * versions`. +All usage is billed either to the account of the person who created the codespace or to the owning-organization. See [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/choosing-who-owns-and-pays-for-codespaces-in-your-organization). -You can check how many GB-months of storage has been used by prebuilds by reviewing the current billing data for your personal or organization account. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). +When a repository is transferred to a different organization, ownership and billing responsibility for any codespaces associated with that repository change according to the settings of the new organization. -{% data reusables.codespaces.prebuilds-billing-for-forks %} See [How billing is handled for forked repositories](#how-billing-is-handled-for-forked-repositories). - -### Controlling the cost of prebuilds - -To reduce consumption of Actions minutes, you can set a prebuild to be updated only when you make a change to your dev container configuration files, or only on a custom schedule. You can also manage your storage usage by adjusting the number of previous versions of each prebuild that are retained. See [AUTOTITLE](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). - -To limit the storage costs associated with prebuilds, you can choose to create prebuilds only in selected regions, and you can specify the number of older versions of prebuilds that will be retained. See [AUTOTITLE](/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds). - -If you delete a prebuild configuration, all the associated prebuilds are deleted, reducing your storage consumption from that point onward. See [AUTOTITLE](/codespaces/prebuilding-your-codespaces/managing-prebuilds#deleting-a-prebuild-configuration). - -Prebuilds can be updated multiple times during a billing month. Each update may change the size of the prebuild, which affects your storage charges. For details of how storage is calculated during a billing month, see [About billing for storage usage](#about-billing-for-storage-usage) earlier in this article. - ->[!TIP] As with deleting codespaces, deleting prebuilds does not reduce your used storage amount for the current billing month as this is a cumulative figure. - -### Cost of codespaces created from prebuilds - -Use of codespaces created using prebuilds is charged at the same rate as regular codespaces. - -## Managing your budget for {% data variables.product.prodname_github_codespaces %} - -{% data reusables.billing.default-over-quota-behavior %} - -{% data reusables.billing.migrated-budgets %} - -{% data reusables.codespaces.exporting-changes %} - -## Viewing projected usage for an organization - -Organization owners and billing managers can view an estimated total usage cost for {% data variables.product.prodname_github_codespaces %} for the organization, for the current monthly billing cycle. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage#viewing-github-codespaces-usage-for-your-organization-account). - -The projected usage shown on the billing page for an organization is calculated based on the total cost for {% data variables.product.prodname_codespaces %} compute and storage usage incurred during the previous seven days, prior to the current day. This is projected forward for the remainder of the billing month to give you an idea of how much the total cost might be for the current billing cycle. - -The calculation used for this estimate is: - -`/7 * + ` - -The projected usage does not take into account information such as whether {% data variables.product.prodname_github_codespaces %} is still enabled, the number or size of codespaces that currently exist, or your prebuild settings. For this reason, if all of the organization's codespaces and prebuilds were deleted today, the projected usage for the billing month would still show a figure higher than the accrued usage. However, after seven days have elapsed, with no further {% data variables.product.prodname_github_codespaces %} usage, the projected usage will be the same as the currently accrued usage. - -## Limiting the machine types for organization-owned codespaces - -By default the machine type with the lowest valid resources is used when a codespace is created. However, users may be able to choose a machine type with more resources. They can do this either when they create a codespace, or they can change the machine type of an existing codespace. See [AUTOTITLE](/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository) and [AUTOTITLE](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace). - -If a machine type that has more resources is chosen, this will affect the per-hour charge for that codespace, as shown in the table [earlier in this article](#pricing-for-paid-usage). - -Organization owners can create a policy to limit the choice of machine types available to users for codespaces that are billed to an organization or enterprise account. See [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types). - -## Limiting the number of organization-owned codespaces - -Organization owners can limit the number of codespaces that people can create, where the organization will be billed for the codespace. This can help to reduce storage charges for the organization. See [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create). +If a user is removed from an organization or repository, their codespaces are automatically deleted. -## How billing is handled for forked repositories +### Forked repositories -Usage of codespaces created from a forked repository will be billed to your personal account unless the upstream (or parent) repository is in an organization that has allowed you - as a member, or outside collaborator, of the organization - to use codespaces at the organization's expense. +Codespaces created from a forked repository are billed to your personal account unless the upstream (or parent) repository is in an organization that has allowed you - as a member, or outside collaborator, of the organization - to use codespaces at the organization's expense. For example, consider a member, or outside collaborator, of an organization that has allowed billing for codespaces for that user. If the user has permission to fork an organization-owned private repository, they can subsequently create and use a codespace for the new repository at the organization's expense. This is because the organization is the owner of the parent repository. Note that the organization owner can remove the user's access to the private repository, the forked repository, and therefore also the codespace. The organization owner can also delete the parent repository which will also delete the forked repository. See [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository). {% data reusables.codespaces.prebuilds-billing-for-forks %} -## How billing is handled when a repository is transferred to another organization - -Usage is calculated every hour. An organization pays for usage of codespaces created from any repository owned by the organization, where the organization settings permit the organization to be billed. See [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/choosing-who-owns-and-pays-for-codespaces-in-your-organization). When a repository is transferred out of your organization, ownership and billing responsibility for any codespaces associated with that repository will change accordingly. - -## How billing is handled for {% data variables.product.prodname_github_codespaces %} templates - -You can get started on a new project by creating a codespace from a template. Codespaces created from templates aren't initially associated with a repository, but you can publish the codespace to a repository owned by your personal account. See [AUTOTITLE](/codespaces/developing-in-codespaces/creating-a-codespace-from-a-template). +### {% data variables.product.prodname_github_codespaces %} templates Any organization can maintain a template repository for use with {% data variables.product.prodname_github_codespaces %}. As with any other repository in an organization, a codespace created from a template repository is billed to the organization if the organization allows the user creating the codespace to do so at the organization's expense. Otherwise, the codespace is billed to the user who creates the codespace. If a user publishes a codespace created from a template, the codespace is published to a new repository owned by the user's personal account. If the codespace is currently billed to an organization, ownership and billing of the codespace transfer to the user who created the codespace. -{% ifversion ghec %} - A {% data variables.enterprise.prodname_managed_user %} cannot be the billable owner of a codespace. Therefore: * A {% data variables.enterprise.prodname_managed_user %} can only create a codespace from a template if the codespace is billed to an organization. * A {% data variables.enterprise.prodname_managed_user %} cannot publish a codespace created from a template to a new repository. -See [AUTOTITLE](/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users). +## Managing your budget for {% data variables.product.prodname_github_codespaces %} + +{% data reusables.billing.default-over-quota-behavior %} -{% endif %} +{% data reusables.billing.migrated-budgets %} -## What happens when users are removed +{% data reusables.codespaces.exporting-changes %} -If a user is removed from an organization or repository, their codespaces are automatically deleted. +## Further reading + +* [AUTOTITLE](/codespaces/quickstart) +* [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/enabling-or-disabling-github-codespaces-for-your-organization) +* [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization) diff --git a/content/billing/concepts/product-billing/github-models.md b/content/billing/concepts/product-billing/github-models.md index aacb3710d0f9..2077ebc2f608 100644 --- a/content/billing/concepts/product-billing/github-models.md +++ b/content/billing/concepts/product-billing/github-models.md @@ -16,86 +16,19 @@ contentType: concepts > * {% data variables.product.prodname_github_models %} for organizations and repositories is in {% data variables.release-phases.public_preview %} and subject to change. > * Billing for {% data variables.product.prodname_github_models %} is separate from billing for {% data variables.product.prodname_copilot %}. For more information about how models in {% data variables.product.prodname_copilot %} are billed, see [AUTOTITLE](/billing/managing-billing-for-your-products/about-billing-for-github-copilot). -## About {% data variables.product.prodname_github_models %} billing on {% data variables.product.github %} - -Billing for {% data variables.product.prodname_github_models %} is designed to be flexible and to allow you to use your preferred model providers, while also providing the ability to control your spending. Model usage is powered by the Azure OpenAI Service and billed through {% data variables.product.github %} using the same global pay-as-you-go pricing as [Azure OpenAI Service](https://azure.microsoft.com/en-us/pricing/details/cognitive-services/openai-service/). - -Alternatively, you can bring your own API keys (BYOK) from different providers, such as OpenAI or Azure AI, see [AUTOTITLE](/github-models/github-models-at-scale/set-up-custom-model-integration-models-byok). Model inference runs directly through your provider, and usage is billed and tracked through your provider account. For example, Azure API key usage is billed and tracked through your Azure Subscription ID. - -Each {% data variables.product.github %} account receives a certain amount of included free but rate-limited usage of {% data variables.product.prodname_github_models %}, see [Rate limits](/github-models/use-github-models/prototyping-with-ai-models#rate-limits). - -The use of {% data variables.product.prodname_github_models %} from the {% data variables.product.prodname_marketplace %} catalog is subject to the free rate limits, and is not billed. - -## Available models - -The table below lists the currently available models. Each model supported by {% data variables.product.prodname_github_models %} has an input and output multiplier that determines the number of token units for each request. For more information on token units, see [Pricing for paid usage](#pricing-for-paid-usage). - -| Model name | Input multiplier | Cached input multiplier | Output multiplier | Input price (per 1M token units) | Cached input price (per 1M token units) | Output price (per 1M token units) | -| --------------------------------- | ---------------- | ----------------------- | ----------------- |----------------------------------|-----------------------------------------|-----------------------------------| -| OpenAI GPT-4o | 0.25 | 0.125 | 1.0 | $2.50 | $1.25 | $10.00 | -| OpenAI GPT-4o mini | 0.015 | 0.0075 | 0.06 | $0.15 | $0.08 | $0.60 | -| OpenAI GPT-4.1-mini | 0.04 | 0.01 | 0.16 | $0.40 | $0.10 | $1.60 | -| OpenAI GPT-4.1 | 0.2 | 0.05 | 0.8 | $2.00 | $0.50 | $8.00 | -| Phi-3.5-MoE instruct (128k) | 0.016 | N/A | 0.064 | $0.16 | N/A | $0.64 | -| Phi-3.5-mini instruct (128k) | 0.013 | N/A | 0.052 | $0.13 | N/A | $0.52 | -| Phi-3.5-vision instruct (128k) | 0.013 | N/A | 0.052 | $0.13 | N/A | $0.52 | -| Phi-3-medium instruct (4k) | 0.017 | N/A | 0.068 | $0.17 | N/A | $0.68 | -| Phi-3-medium instruct (128k) | 0.017 | N/A | 0.068 | $0.17 | N/A | $0.68 | -| Phi-3-mini instruct (4k) | 0.013 | N/A | 0.052 | $0.13 | N/A | $0.52 | -| Phi-3-mini instruct (128k) | 0.013 | N/A | 0.052 | $0.13 | N/A | $0.52 | -| Phi-3-small instruct (8k) | 0.015 | N/A | 0.06 | $0.15 | N/A | $0.60 | -| Phi-3-small instruct (128k) | 0.015 | N/A | 0.06 | $0.15 | N/A | $0.60 | -| Phi-4 | 0.0125 | N/A | 0.05 | $0.13 | N/A | $0.50 | -| Phi-4-mini-instruct | 0.0075 | N/A | 0.03 | $0.08 | N/A | $0.30 | -| Phi-4-multimodal-instruct | 0.008 | N/A | 0.032 | $0.08 | N/A | $0.32 | -| DeepSeek-R1 | 0.135 | N/A | 0.54 | $1.35 | N/A | $5.40 | -| DeepSeek-R1-0528 | 0.135 | N/A | 0.54 | $1.35 | N/A | $5.40 | -| DeepSeek-V3-0324 | 0.114 | N/A | 0.456 | $1.14 | N/A | $4.56 | -| MAI-DS-R1 | 0.135 | N/A | 0.54 | $1.35 | N/A | $5.40 | -| Grok 3 Mini | 0.025 | N/A | 0.127 | $0.25 | N/A | $1.27 | -| Grok 3 | 0.3 | N/A | 1.5 | $3.00 | N/A | $15.00 | -| Llama 4 Maverick 17B Instruct FP8 | 0.025 | N/A | 0.1 | $0.25 | N/A | $1.00 | -| Llama-3.3-70B-Instruct | 0.071 | N/A | 0.071 | $0.71 | N/A | $0.71 | - -For accounts that use a custom model with a third-party model provider, billing is managed through the provider and is subject to the provider’s own pricing. For more information, see the official pricing documentation for your chosen provider. - -## Opting in to paid usage +## How use of {% data variables.product.prodname_github_models %} is measured -{% data reusables.github-models.production-rate-limits-note %} +Each {% data variables.product.github %} account receives a certain amount of included **free but rate-limited** usage of {% data variables.product.prodname_github_models %}, see [Rate limits](/github-models/use-github-models/prototyping-with-ai-models#rate-limits). -Enterprises and organizations can opt in to paid usage to access expanded model capabilities, including increased request allowances and larger context windows. You can manage their spending by setting a budget. +For usage beyond the free quota, the cost is calculated by multiplying the number of **token units** you use by the unified token unit price. -Organizations and personal accounts may have default budgets to limit spending. Check the budgets for your account to ensure they are appropriate for your usage needs. See [AUTOTITLE](/billing/tutorials/set-up-budgets#viewing-budgets). +The number of model requests and tokens you have used is reset after each billing cycle. -{% data reusables.billing.migrated-budgets %} +### Token units -For more information, see [AUTOTITLE](/billing/managing-your-billing/using-budgets-control-spending). - -### How do I pay for {% data variables.product.prodname_github_models %}? - -{% data variables.product.prodname_github_models %} usage can be paid for by one or more of the following methods: - -* For enterprises, organizations, or personal accounts directly billed by {% data variables.product.github %}, the billing of {% data variables.product.prodname_github_models %} is based on your metered usage for each billing period, and pricing varies by the number of model requests, tokens, and the model multiplier. - * For invoiced accounts, contact {% data variables.contact.contact_enterprise_sales %} to discuss billing for {% data variables.product.prodname_github_models %} usage. -* When using custom models with your own API keys, the billing of {% data variables.product.prodname_github_models %} is based on the model provider's pricing, and not {% data variables.product.github %}. -* Accounts with an existing Azure subscription can use that subscription to pay for model inference by bringing their own API key for custom models. In this case, billing is based on the model provider’s pricing and is managed through the Azure subscription. See [AUTOTITLE](/github-models/github-models-at-scale/set-up-custom-model-integration-models-byok). - -> [!TIP] -> You are considered to be directly billed by {% data variables.product.github %} if you pay for {% data variables.product.github %} using a credit card, PayPal, or by invoice. +A token unit is calculated by multiplying the number of input and output tokens by their respective model multipliers. All model usage, regardless of the underlying provider or model, is measured in token units. While some providers display prices per 1,000 or per 1,000,000 tokens, {% data variables.product.prodname_github_models %} standardizes billing to the token unit level. This means you are billed using a single SKU and a unified price per token unit, no matter which supported model you use. See [AUTOTITLE](/billing/reference/models-multipliers-and-costs). -## Pricing for paid usage - -{% data variables.product.prodname_github_models %} pricing is based on the number of token units used, at a fixed price of $0.00001 USD per token unit. - -A token unit is calculated by multiplying the number of input and output tokens by their respective model multipliers. All model usage, regardless of the underlying provider or model, is measured in token units. While some providers display prices per 1,000 or per 1,000,000 tokens, {% data variables.product.prodname_github_models %} standardizes billing to the token unit level. This means you are billed using a single SKU and a unified price per token unit, no matter which supported model you use. - -Your cost is calculated by multiplying the number of token units you use by the unified token unit price. - -At the end of your billing cycle, {% data variables.product.github %} calculates the cost of token units used, starting from your first request after opting in to paid usage. - -The number of model requests and tokens you have used are reset every billing cycle. - -### Sample models cost calculation +### Example calculation The following table displays how the total cost is calculated for a request using OpenAI GPT-4o: @@ -103,8 +36,6 @@ The following table displays how the total cost is calculated for a request usin |---------------| ----------------- | ------------------ | ---------------- | ----------------- |-------------------|----------------------|------------| | OpenAI GPT-4o | 1,000,000 | 1,000,000 | 0.25 | 1 | 1,250,000 | $0.00001 | $12.50 | -### Calculating model costs - The following steps demonstrate how the total cost is calculated: 1. **Calculate input tokens:** @@ -127,20 +58,65 @@ The following steps demonstrate how the total cost is calculated: Multiply the total token units by the token unit price. `1,250,000 × $0.00001 = $12.50 for this request` -## Opting out of paid usage +## Free use of {% data variables.product.prodname_github_models %} + +All {% data variables.product.github %} accounts have rate-limited access to {% data variables.product.prodname_github_models %} at no cost. These limits vary by model and are designed to support prototyping and experimentation. Limits also vary according to your {% data variables.product.prodname_copilot %} plan. + +Free usage includes: +* Access to all supported models in the catalog +* Rate-limited requests per model +* Usage from the {% data variables.product.prodname_marketplace %} catalog + +For full details of rate limits and quotas, see [Rate limits](/github-models/use-github-models/prototyping-with-ai-models#rate-limits). + +> [!TIP] +> If you use custom models from third-party providers with your own API keys, there is no impact on your bill in {% data variables.product.github %}. See [AUTOTITLE](/github-models/github-models-at-scale/set-up-custom-model-integration-models-byok). + +## Using more than your included quota + +If your account does not have a valid payment method on file or paid use is not enabled for your account, usage is blocked once you use up your quota. + +### Opting in or out of paid usage {% data variables.product.prodname_github_models %} billing is disabled by default for enterprises and organizations. An enterprise must enable paid usage before any organization within it can opt in to billing. Once an enterprise or organization has opted in to paid usage, the billing is enabled for all repositories owned by the enterprise or organization, including repositories owned by {% data variables.product.prodname_emus %} (EMUs). -Enterprises control whether paid usage for {% data variables.product.prodname_github_models %} is available to organizations they own. An enterprise must opt in to paid usage before any organization within it can opt in and be billed. If the enterprise disables billing, no organizations in the enterprise can enable or use paid features. +For personal repositories, a user's own settings determine whether paid usage is enabled, unless the user is managed by an enterprise (EMU). In that case, the enterprise's settings apply. -Organizations can opt out of paid usage by setting a budget, or instead choose to disable {% data variables.product.prodname_github_models %} entirely by disabling the product in the organization's settings, see [Controlling model usage in your organization](/github-models/github-models-at-scale/manage-models-at-scale#controlling-model-usage-in-your-organization). +* [AUTOTITLE](/github-models/github-models-at-scale/manage-models-at-scale) +* [AUTOTITLE](/github-models/about-github-models#enabling-github-models) -If an enterprise has opted in to billing for {% data variables.product.prodname_github_models %}, but an organization within the enterprise has opted out of billing, then paid {% data variables.product.prodname_github_models %} usage is disabled for the organization, including for repositories owned by {% data variables.product.prodname_emus %} and the enterprise. +> [!NOTE] +> If an enterprise has opted in to billing for {% data variables.product.prodname_github_models %}, but an organization within the enterprise has opted out of billing, then paid {% data variables.product.prodname_github_models %} usage is disabled for the organization, including for repositories owned by {% data variables.product.prodname_emus %} and the enterprise. + +## Paying for {% data variables.product.prodname_github_models %} use -For personal repositories, a user's own settings determine whether paid usage is enabled, unless the user is managed by an enterprise (EMU). In that case, the enterprise’s settings apply. +You pay for additional use of {% data variables.product.prodname_github_models %} with the payment method set up for your {% data variables.product.github %} account. See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info). -For more information about the billing hierarchy between enterprises and organizations, see [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/about-billing-for-plans). +{% data variables.product.prodname_github_models %} pricing is based on the number of token units used, at a fixed price of $0.00001 USD per token unit. + +At the end of your billing cycle, {% data variables.product.github %} calculates the cost of token units used, starting from your first request after opting in to paid usage. See [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). + +{% data variables.product.prodname_github_models %} usage can be paid for by one or more of the following methods: + +* For enterprises, organizations, or personal accounts directly billed by {% data variables.product.github %}, the billing of {% data variables.product.prodname_github_models %} is based on your metered usage for each billing period, and pricing varies by the number of model requests, tokens, and the model multiplier. + * For invoiced accounts, contact {% data variables.contact.contact_enterprise_sales %} to discuss billing for {% data variables.product.prodname_github_models %} usage. +* Accounts with an existing Azure subscription can use that subscription to pay for model inference by bringing their own API key for custom models. In this case, billing is based on the model provider’s pricing and is managed through the Azure subscription. See [AUTOTITLE](/github-models/github-models-at-scale/set-up-custom-model-integration-models-byok). + +You are considered to be directly billed by {% data variables.product.github %} if you pay for {% data variables.product.github %} using a credit card, PayPal, or by invoice. + +## Managing your budget for {% data variables.product.prodname_github_models %} + +{% data reusables.github-models.production-rate-limits-note %} + +Enterprises and organizations can opt in to paid usage to access expanded model capabilities, including increased request allowances and larger context windows. You can manage their spending by setting a budget. + +Enterprises, organizations and personal accounts may have default budgets to limit spending. Check the budgets for your account to ensure they are appropriate for your usage needs. + +{% data reusables.billing.migrated-budgets %} + +For more information, see [AUTOTITLE](/billing/managing-your-billing/using-budgets-control-spending). ## Further reading -* [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage) +* [AUTOTITLE](/github-models/about-github-models) +* [AUTOTITLE](/github-models/github-models-at-scale/manage-models-at-scale) diff --git a/content/billing/concepts/product-billing/github-packages.md b/content/billing/concepts/product-billing/github-packages.md index 42b0a70cf0e1..db7443cb6a78 100644 --- a/content/billing/concepts/product-billing/github-packages.md +++ b/content/billing/concepts/product-billing/github-packages.md @@ -1,7 +1,6 @@ --- title: GitHub Packages billing -intro: 'If you want to use {% data variables.product.prodname_registry %} beyond the storage or data transfer included in your account, you will be billed for additional usage.' -product: '{% data reusables.gated-features.packages %}' +intro: 'Learn how usage of {% data variables.product.prodname_registry %} is measured against your free allowance and how to pay for additional use.' redirect_from: - /github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-packages - /github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages/about-billing-for-github-packages @@ -22,15 +21,29 @@ shortTitle: GitHub Packages contentType: concepts --- -## About billing for {% data variables.product.prodname_registry %} +## How use of {% data variables.product.prodname_registry %} is measured -{% data reusables.billing.authorization-charge %} +{% data variables.product.prodname_registry %} usage is **free** for **public packages**. In addition, data transferred in from any source is free. -{% data reusables.package_registry.packages-billing %} +For **private** repositories, each {% data variables.product.github %} account receives a quota of storage and data transfer for use with {% data variables.product.prodname_registry %}, depending on the account's plan. Any usage beyond the included amounts is billed to your account. Data transfer resets every month, while storage usage does not. -If you are an organization or enterprise owner, you can connect an Azure Subscription ID to your organization or enterprise account to enable and pay for {% data variables.product.prodname_registry %} usage beyond the amounts included with your account. For more information, see [AUTOTITLE](/billing/managing-the-plan-for-your-github-account/connecting-an-azure-subscription). +Working in a private repository with packages: -Data transfer resets every month, while storage usage does not. +* When you **publish a private package**, the total file size is included in the **repository owner's storage use**. +* When you **download** a private package, the transfer of data is included in the **repository owner's data transfer usage**. + +> [!TIP] +> Anyone with write access to a repository can publish packages without increasing usage for their personal account. + +### Examples of how usage is measured + +* If you publish a 500 MB package in a private repository, you'll use 500 MB of the repository owner's storage and none of their data transfer allowance. If you find a bug and publish an updated 500 MB package without deleting the original package, you are now using 1 GB of the owner's storage. +* If you download a 500 MB package from a private repository, you'll use 500 MB of the repository owner's data transfer. If a security fix is released and you download the new package, you'll add another 500 MB of data transfer, bringing the total transfer for these two downloads to 1 GB of data. +* If {% data variables.product.prodname_actions %} downloads a 500 MB package from a private repository using a `GITHUB_TOKEN`, this does not count against the repository owner's data transfer allowance, see [Package downloads by {% data variables.product.prodname_actions %}](#package-downloads-by-github-actions). + +## Free use of {% data variables.product.prodname_registry %} + +The following amounts of storage and data transfer are included in your {% data variables.product.github %} plan. At the start of each month, the data transfer for the account is reset to zero. {% rowheaders %} @@ -44,7 +57,9 @@ Plan | Storage | Data transfer (per month) {% endrowheaders %} -All data transferred out, when triggered by {% data variables.product.prodname_actions %}, and data transferred in from any source is free. We determine you are downloading packages using {% data variables.product.prodname_actions %} when you log in to {% data variables.product.prodname_registry %} using a `GITHUB_TOKEN`. +### Package downloads by {% data variables.product.prodname_actions %} + +When a workflow uses {% data variables.product.prodname_actions %} to download a package, the data transfer does not count against the usage for the hosting repository. We determine you are downloading packages using {% data variables.product.prodname_actions %} when you log in to {% data variables.product.prodname_registry %} using a `GITHUB_TOKEN`. {% rowheaders %} @@ -55,24 +70,33 @@ All data transferred out, when triggered by {% data variables.product.prodname_a {% endrowheaders %} -Storage usage is shared with build artifacts produced by {% data variables.product.prodname_actions %} for repositories owned by your account. For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions). +## Using more than your included quota + +If your account does not have a valid payment method on file, usage is blocked once you use up your quota. -{% data variables.product.prodname_dotcom %} charges usage to the account that owns the repository where the package is published. If your account's usage surpasses these limits and you have a valid payment method on file, you will pay $0.008 USD per GB of storage per day and $0.50 USD per GB of data transfer. +## Paying for additional {% data variables.product.prodname_registry %} use -For example, if your organization uses {% data variables.product.prodname_team %}, allows unlimited spending, uses 150GB of storage, and has 50GB of data transfer out during a month, the organization would use 148GB for storage and 40GB for data transfer for that month beyond their included quota. The additional storage would cost $0.008 USD per GB per day or approximately $37 USD for a 31-day month. The additional data transfer would cost $0.50 USD per GB or $20 USD. +You pay for any additional use above your quota using the payment method set up for your {% data variables.product.github %} account. See [AUTOTITLE](/billing/how-tos/set-up-payment/manage-payment-info). -{% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} +Data transfer is billed for each GB of data transfered. Storage is billed by calculating an hourly usage rate. -At the end of the month, {% data variables.product.prodname_dotcom %} rounds your data transfer to the nearest GB. +* {% data reusables.dotcom_billing.pricing_calculator.pricing_cal_packages %} +* To view your current storage and bandwidth, see [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage). -{% data variables.product.prodname_dotcom %} calculates your storage usage for each month based on hourly usage per GB during that month. For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 days of March, your storage usage would be: +### Example of how usage is calculated over a month + +At the end of the month, {% data variables.product.github %} rounds your data transfer to the nearest GB. + +{% data variables.product.github %} calculates your storage usage for each month based on hourly usage per GB during that month. For example, if you use 3 GB of storage for 10 days of March and 12 GB for 21 days of March, your storage usage would be: * 3 GB x 10 days x (24 hours per day) = 720 GB-Hours * 12 GB x 21 days x (24 hours per day) = 6,048 GB-Hours * 720 GB-Hours + 6,048 GB-Hours = 6,768 total GB-Hours * 6,768 GB-Hours / (744 hours per month) = 9.0967 GB-Months -At the end of the month, {% data variables.product.prodname_dotcom %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB. +At the end of the month, {% data variables.product.github %} rounds your storage to the nearest MB. Therefore, your storage usage for March would be 9.097 GB. + +### Example of estimating usage You can also use this calculation in the middle of a billing cycle, to estimate what your total usage might be for the month. For example, if you have an organization that uses {% data variables.product.prodname_team %}, which provides 2 GB of free storage, and you use 0 GB for the first 5 days of April, 1.5 GB for the following 10 days, and you plan to use 3 GB for the last 15 days of the billing cycle, your projected storage usage for the month would be: @@ -82,14 +106,16 @@ You can also use this calculation in the middle of a billing cycle, to estimate * 0 GB-Hours + 120 GB-Hours + 1080 GB-Hours = 1200 total GB-Hours * 1200 GB-Hours / (744 hours per month) = 1.6 GB-Months -The projected 1.6 GB of storage usage for the month would not exceed your 2 GB limit, even though your actual storage amount briefly exceeded 2 GB. - -Your {% data variables.product.prodname_registry %} usage shares your account's existing billing date, payment method, and receipt. {% data reusables.dotcom_billing.view-all-subscriptions %} - -{% data reusables.user-settings.context_switcher %} +The projected 1.6 GB of storage usage for the month would not exceed your 2 GB limit, even though your actual storage amount exceeded 2 GB for half the month. ## Managing your budget for {% data variables.product.prodname_registry %} {% data reusables.billing.default-over-quota-behavior %} {% data reusables.billing.migrated-budgets %} + +## Further reading + +* [AUTOTITLE](/packages/learn-github-packages/introduction-to-github-packages) +* [AUTOTITLE](/packages/quickstart) +* [AUTOTITLE](/packages/learn-github-packages/publishing-a-package) diff --git a/content/billing/reference/actions-minute-multipliers.md b/content/billing/reference/actions-minute-multipliers.md new file mode 100644 index 000000000000..78a6aaf99ed1 --- /dev/null +++ b/content/billing/reference/actions-minute-multipliers.md @@ -0,0 +1,76 @@ +--- +title: Actions minute multiplier reference +shortTitle: Actions minute multipliers +intro: 'Reference information for calculating the cost of using different {% data variables.product.github %}-hosted runners.' +versions: + fpt: '*' + ghec: '*' + ghes: '*' +topics: + - Billing + - Actions +contentType: reference +--- + +{% data variables.product.github %} rounds the minutes and partial minutes each job uses up to the nearest whole minute. + +## Standard runners + +| Operating system | Per-minute rate (USD) | +|---------------------------------------| ----------------------| +| Linux 2-core | $0.008 | +| Windows 2-core | $0.016 | +| macOS 3-core or 4-core (M1 or Intel) | $0.08 | + +## x64-powered {% data variables.actions.hosted_runners %} + +| Operating system | Per-minute rate (USD) | +|------------------------| ----------------------| +| Linux Advanced 2-core | $0.008 | +| Linux 4-core | $0.016 | +| Linux 8-core | $0.032 | +| Linux 16-core | $0.064 | +| Linux 32-core | $0.128 | +| Linux 64-core | $0.256 | +| Linux 96-core | $0.384 | +| Windows 4-core | $0.032 | +| Windows 8-core | $0.064 | +| Windows 16-core | $0.128 | +| Windows 32-core | $0.256 | +| Windows 64-core | $0.512 | +| Windows 96-core | $0.768 | +| macOS 12-core | $0.12 | + +## arm64-powered {% data variables.actions.hosted_runners %} + +| Operating system | Per-minute rate (USD) | +|---------------------| -----------| +| Linux 2-core | $0.005 | +| Linux 4-core | $0.01 | +| Linux 8-core | $0.02 | +| Linux 16-core | $0.04 | +| Linux 32-core | $0.08 | +| Linux 64-core | $0.16 | +| Windows 2-core | $0.01 | +| Windows 4-core | $0.02 | +| Windows 8-core | $0.04 | +| Windows 16-core | $0.08 | +| Windows 32-core | $0.16 | +| Windows 64-core | $0.32 | +| macOS 6-core (M1) | $0.16 | + +## GPU-powered {% data variables.actions.hosted_runners %} + +| Operating system | Per-minute rate (USD) | +|---------------------| -----------| +| Linux 4-core | $0.07 | +| Windows 4-core | $0.14 | + +## Points to note about rates for runners + +* The number of jobs you can run concurrently across all repositories in your user or organization account depends on your {% data variables.product.github %} plan. For more information, see [AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration) for {% data variables.product.github %}-hosted runners and [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/usage-limits-for-self-hosted-runners) for self-hosted runner usage limits. +* {% data reusables.actions.larger-runner-permissions %} +* {% data reusables.actions.about-larger-runners-billing %} +* For {% data variables.actions.hosted_runner %}s, there is no additional cost for configurations that assign public static IP addresses to a {% data variables.actions.hosted_runner %}. For more information on {% data variables.actions.hosted_runner %}s, see [AUTOTITLE](/actions/using-github-hosted-runners/using-larger-runners/about-larger-runners). +* Included minutes cannot be used for {% data variables.actions.hosted_runner %}s. +* The {% data variables.actions.hosted_runner %}s are not free for public repositories. diff --git a/content/billing/reference/index.md b/content/billing/reference/index.md index 3a29d9157f28..be51232dca43 100644 --- a/content/billing/reference/index.md +++ b/content/billing/reference/index.md @@ -10,13 +10,14 @@ topics: - Billing children: - /product-usage-included + - /actions-minute-multipliers - /usage-reports - /supported-payment-methods - /azure-subscription - /billing-roles - /roles-for-visual-studio - /license-consumption + - /models-multipliers-and-costs - /enterprise-license-troubleshooting contentType: reference --- - diff --git a/content/billing/reference/models-multipliers-and-costs.md b/content/billing/reference/models-multipliers-and-costs.md new file mode 100644 index 000000000000..cb87c8cccf8e --- /dev/null +++ b/content/billing/reference/models-multipliers-and-costs.md @@ -0,0 +1,51 @@ +--- +title: Costs and multipliers for using GitHub Models directly +shortTitle: Costs for GitHub Models +allowTitleToDifferFromFilename: true +intro: 'Reference information for calculating the cost of using different {% data variables.product.prodname_github_models %} directly (outside {% data variables.product.prodname_copilot %}).' +versions: + feature: github-models +topics: + - Billing +contentType: reference +--- + +## Use of models in {% data variables.product.github %} + +The information in this article is for the direct use of {% data variables.product.prodname_github_models %}. + +{% data variables.product.github %} supports using models in two additional ways. + +* {% data variables.product.prodname_copilot %} uses models to perform its work, see [AUTOTITLE](/copilot/concepts/billing/copilot-requests#model-multipliers) +* If you use models provided by other companies, see [AUTOTITLE](/github-models/github-models-at-scale/using-your-own-api-keys-in-github-models) + +## Multipliers and costs for direct use of {% data variables.product.prodname_github_models %} + +The table below lists the currently available models. Each model supported by {% data variables.product.prodname_github_models %} has an input and output multiplier that determines the number of token units for each request. For more information on token units, see [AUTOTITLE](/billing/concepts/product-billing/github-models). + +| Model name | Input multiplier | Cached input multiplier | Output multiplier | Input price (per 1M token units) | Cached input price (per 1M token units) | Output price (per 1M token units) | +| --------------------------------- | ---------------- | ----------------------- | ----------------- |----------------------------------|-----------------------------------------|-----------------------------------| +| OpenAI GPT-4o | 0.25 | 0.125 | 1.0 | $2.50 | $1.25 | $10.00 | +| OpenAI GPT-4o mini | 0.015 | 0.0075 | 0.06 | $0.15 | $0.08 | $0.60 | +| OpenAI GPT-4.1-mini | 0.04 | 0.01 | 0.16 | $0.40 | $0.10 | $1.60 | +| OpenAI GPT-4.1 | 0.2 | 0.05 | 0.8 | $2.00 | $0.50 | $8.00 | +| Phi-3.5-MoE instruct (128k) | 0.016 | N/A | 0.064 | $0.16 | N/A | $0.64 | +| Phi-3.5-mini instruct (128k) | 0.013 | N/A | 0.052 | $0.13 | N/A | $0.52 | +| Phi-3.5-vision instruct (128k) | 0.013 | N/A | 0.052 | $0.13 | N/A | $0.52 | +| Phi-3-medium instruct (4k) | 0.017 | N/A | 0.068 | $0.17 | N/A | $0.68 | +| Phi-3-medium instruct (128k) | 0.017 | N/A | 0.068 | $0.17 | N/A | $0.68 | +| Phi-3-mini instruct (4k) | 0.013 | N/A | 0.052 | $0.13 | N/A | $0.52 | +| Phi-3-mini instruct (128k) | 0.013 | N/A | 0.052 | $0.13 | N/A | $0.52 | +| Phi-3-small instruct (8k) | 0.015 | N/A | 0.06 | $0.15 | N/A | $0.60 | +| Phi-3-small instruct (128k) | 0.015 | N/A | 0.06 | $0.15 | N/A | $0.60 | +| Phi-4 | 0.0125 | N/A | 0.05 | $0.13 | N/A | $0.50 | +| Phi-4-mini-instruct | 0.0075 | N/A | 0.03 | $0.08 | N/A | $0.30 | +| Phi-4-multimodal-instruct | 0.008 | N/A | 0.032 | $0.08 | N/A | $0.32 | +| DeepSeek-R1 | 0.135 | N/A | 0.54 | $1.35 | N/A | $5.40 | +| DeepSeek-R1-0528 | 0.135 | N/A | 0.54 | $1.35 | N/A | $5.40 | +| DeepSeek-V3-0324 | 0.114 | N/A | 0.456 | $1.14 | N/A | $4.56 | +| MAI-DS-R1 | 0.135 | N/A | 0.54 | $1.35 | N/A | $5.40 | +| Grok 3 Mini | 0.025 | N/A | 0.127 | $0.25 | N/A | $1.27 | +| Grok 3 | 0.3 | N/A | 1.5 | $3.00 | N/A | $15.00 | +| Llama 4 Maverick 17B Instruct FP8 | 0.025 | N/A | 0.1 | $0.25 | N/A | $1.00 | +| Llama-3.3-70B-Instruct | 0.071 | N/A | 0.071 | $0.71 | N/A | $0.71 | diff --git a/content/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners.md b/content/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners.md index 80224e1acf1f..cd13e1540fa9 100644 --- a/content/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners.md +++ b/content/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners.md @@ -94,7 +94,7 @@ For more information, see [AUTOTITLE](/code-security/securing-your-organization/ If you run into {% data variables.product.prodname_dependabot %} timeouts and out-of-memory errors, you may want to use {% data variables.actions.hosted_runners %}, as you can configure these runners to have more resources. -> [!NOTE] You can only enable {% data variables.actions.hosted_runners %} for {% data variables.product.prodname_dependabot %} _at the organization level_. {% data variables.product.prodname_dotcom %} will bill your organization at the regular Actions runner pricing. For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). +> [!NOTE] You can only enable {% data variables.actions.hosted_runners %} for {% data variables.product.prodname_dependabot %} _at the organization level_. {% data variables.product.prodname_dotcom %} will bill your organization at the regular Actions runner pricing. See [AUTOTITLE](/billing/reference/actions-minute-multipliers). 1. Add a {% data variables.actions.hosted_runner %} to your organization and ensure the name specified is `dependabot`. For more information, see [AUTOTITLE](/actions/using-github-hosted-runners/about-larger-runners/managing-larger-runners#adding-a-larger-runner-to-an-organization). 1. Opt in the organization to self-hosted runners. For more information, see [AUTOTITLE](/code-security/dependabot/maintain-dependencies/managing-dependabot-on-self-hosted-runners#enabling-or-disabling-for-your-organization). This step is required, as it ensures that future {% data variables.product.prodname_dependabot %} jobs will run on the larger {% data variables.product.prodname_dotcom %}-hosted runner that has the `dependabot` name. diff --git a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts.md b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts.md index 2aa2eb606dcf..227f6220c04e 100644 --- a/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts.md +++ b/content/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts.md @@ -102,22 +102,27 @@ You can apply various filters to the alerts list to help you find the alerts you |Qualifier|Description| |---------|-----------| -|`is:open`|Displays open alerts.| -|`is:closed`|Displays closed alerts.| -| {% ifversion secret-scanning-alert-plaid-filters %} | -|`is:publicly-leaked`|Displays alerts for secrets that have been found in a public repository.| -|`is:multi-repository`|Displays alerts for secrets that have been found in more than one repository within the same organization or enterprise.| -| {% endif %} | -|`bypassed: true`|Displays alerts for secrets where push protection has been bypassed. For more information, see [AUTOTITLE](/code-security/secret-scanning/introduction/about-push-protection).| -|`validity:active`| Displays alerts for secrets that are known to be active. {% ifversion fpt or ghec %}Applies only to {% data variables.product.github %} tokens unless you enable validity checks.{% endif %}For more information about validity statuses, see [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning/evaluating-alerts#checking-a-secrets-validity).| -|`validity:inactive`| Displays alerts for secrets that are no longer active.| -|`validity:unknown`| Displays alerts for secrets where the validity status of the secret is unknown.| -|`secret-type:SECRET-NAME`| Displays alerts for a specific secret type, for example, `secret-type:github_personal_access_token`. For a list of supported secret types, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secret). | -|`provider:PROVIDER-NAME`|Displays alerts for a specific provider, for example, `provider:github`. For a list of supported partners, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).| -|{% ifversion secret-scanning-alert-experimental-list %}`results:default`{% else %}`confidence:high`{% endif %}| Displays alerts for {% ifversion secret-scanning-alert-experimental-list %}{% else %}high-confidence secrets, which relate to {% endif %}supported secrets and custom patterns. For a list of supported patterns, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns). | -|{% ifversion secret-scanning-generic-tab %}`results:generic`| Displays alerts for non-provider patterns, such as private keys{% ifversion secret-scanning-ai-generic-secret-detection %}, and AI-detected generic secrets, such as passwords{% endif %}. For a list of supported non-provider patterns, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#non-provider-patterns). {% ifversion secret-scanning-ai-generic-secret-detection %}For more information about AI-detected generic secrets, see [AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-generic-secrets).{% endif %}{% endif %}| -|{% ifversion ghes = 3.16 %}`results:experimental`| Displays alerts for non-provider patterns, such as private keys. For a list of supported non-provider patterns, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#non-provider-patterns).{% endif %}| -|{% ifversion ghes < 3.16 %}`confidence:other`| Displays alerts for non-provider patterns, such as private keys. For a list of supported non-provider patterns, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#non-provider-patterns).{% endif %}| +|`bypassed`|Display alerts for secrets where push protection has been bypassed (`true`). For more information, see [AUTOTITLE](/code-security/secret-scanning/introduction/about-push-protection).| +|{% ifversion ghes < 3.16 %}| +|`confidence`|Display alerts for high-confidence secrets which relate to supported secrets and custom patterns (`high`), or non-provider patterns such as private keys (`other`). See [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns).| +|{% endif %}| +|`is`|Display alerts that are open (`open`){% ifversion ghes < 3.17 %} or closed (`closed`){% else %}, closed (`closed`), found in a public repository (`publicly-leaked`), or found in more than one repository within the same organization or enterprise (`multi-repository`){% endif %}.| +|`props`|Display alerts for repositories with a specific custom property (`CUSTOM_PROPERTY_NAME`) set. For example, `props:data_sensitivity:high` display results for repositories with the `data_sensitivity` property set to the value `high`. | +|`provider`|Display alerts for a specific provider (`PROVIDER-NAME`), for example, `provider:github`. For a list of supported partners, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets).| +|`repo`|Display alerts detected in a specified repository (`REPOSITORY-NAME`), for example: `repo:octo-repository`.| +|`resolution`|Display alerts closed as "false positive" (`false-positive`), "hidden by config" (`hidden-by-config`), "pattern deleted" (`pattern-deleted`), "pattern edited" (`pattern-edited`), "revoked" (`revoked`), "used in tests" (`used-in-tests`), or "won't fix" (`wont-fix`).| +|{% ifversion fpt or ghec %}| +|`results`|Display alerts for supported secrets and custom patterns (`default`), or for non-provider patterns (`generic`) such as private keys, and AI-detected generic secrets such as passwords. See [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns), and for more information about AI-detected generic secrets, see [AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-generic-secrets).| +|{% elsif ghes > 3.16 %}| +|`results`|Display alerts for supported secrets and custom patterns (`default`), or non-provider patterns such as private keys (`generic`). See [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns).| +|{% elsif ghes = 3.16 %}| +|`results`|Display alerts for supported secrets and custom patterns (`default`), or non-provider patterns such as private keys (`experimental`). See [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns).| +|{% endif %}| +|`secret-type`|Display alerts for a specific secret type (`SECRET-NAME`), for example, `secret-type:github_personal_access_token`. For a list of supported secret types, see [AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secret).| +|`sort`|Display alerts from newest to oldest (`created-desc`), oldest to newest (`created-asc`), most recently updated (`updated-desc`), or least recently updated (`updated-asc`).| +|`team`|Display alerts owned by members of the specified team, for example: `team:octocat-dependabot-team`.| +|`topic`|Display alerts with the matching repository topic, for example: `topic:asdf`.| +|`validity`|Display alerts for secrets with a specific validity (`active`, `inactive`, or `unknown`). {% ifversion fpt or ghec %}Applies only to {% data variables.product.github %} tokens unless you enable validity checks.{% endif %} For more information about validity statuses, see [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning/evaluating-alerts#checking-a-secrets-validity).| ## Next steps diff --git a/content/code-security/security-overview/filtering-alerts-in-security-overview.md b/content/code-security/security-overview/filtering-alerts-in-security-overview.md index 6d4f7a9a495d..d8d96eab36da 100644 --- a/content/code-security/security-overview/filtering-alerts-in-security-overview.md +++ b/content/code-security/security-overview/filtering-alerts-in-security-overview.md @@ -127,11 +127,11 @@ In the "Risk" and "Coverage" views, you can show data only for repositories wher In the "Risk" view, you can filter repositories by the number of alerts they have of a specific type. -| Qualifier | Description | -| -------- | -------- | -| `code-scanning-alerts` | Display data for repositories that have exactly (`=`), more than (`>`) or fewer than (`<`) a specific number of {% data variables.product.prodname_code_scanning %} alerts. For example: `code-scanning-alerts:>100` for repositories with more than 100 alerts. | -| `dependabot-alerts` | Display data for repositories that have a specific number (`=`), more than (`>`) or fewer than (`<`) a specific number of {% data variables.product.prodname_dependabot_alerts %}. For example: `dependabot-alerts:<=10` for repositories with fewer than or equal to 10 alerts.| -| `secret-scanning-alerts` | Display data for repositories that have a specific number (`=`), more than (`>`) or fewer than (`<`) a specific number of {% data variables.secret-scanning.alerts %}. For example: `secret-scanning-alerts:=10` for repositories with exactly 10 alerts.| +|Qualifier|Description| +|--------|--------| +|`code-scanning-alerts`|Display data for repositories that have exactly (`=`), more than (`>`) or fewer than (`<`) a specific number of {% data variables.product.prodname_code_scanning %} alerts. For example: `code-scanning-alerts:>100` for repositories with more than 100 alerts.| +|`dependabot-alerts`|Display data for repositories that have a specific number (`=`), more than (`>`) or fewer than (`<`) a specific number of {% data variables.product.prodname_dependabot_alerts %}. For example: `dependabot-alerts:<=10` for repositories with fewer than or equal to 10 alerts.| +|`secret-scanning-alerts`|Display data for repositories that have a specific number (`=`), more than (`>`) or fewer than (`<`) a specific number of {% data variables.secret-scanning.alerts %}. For example: `secret-scanning-alerts:=10` for repositories with exactly 10 alerts.| ## Alert type and property filters @@ -145,18 +145,18 @@ You can filter the "Overview" view by the type and property of alerts. Use the ` You can also filter the "Overview" view by properties of alerts. -| Qualifier | Description | -| -------- | -------- | -| `codeql.rule` | Display data only for {% data variables.product.prodname_code_scanning %} identified by a specific rule for {% data variables.product.prodname_codeql %}. -| `dependabot.ecosystem` | Display data only for {% data variables.product.prodname_dependabot_alerts %} for a specific ecosystem, for example: `npm`. -| `dependabot.package` | Display data only for {% data variables.product.prodname_dependabot_alerts %} for a specific package, for example: `tensorflow`. -| `dependabot.scope` | Display data only for {% data variables.product.prodname_dependabot_alerts %} with a `runtime` or `development` scope. -| `secret-scanning.bypassed` | Display data only for {% data variables.secret-scanning.alerts %} where push protection was bypassed (`true`) or not bypassed (`false`). -| `secret-scanning.provider` | Display data only for {% data variables.secret-scanning.alerts %} issued by a specific provider, for example: `secret-scanning.provider:adafruit`. -| `secret-scanning.secret-type` | Display data only for {% data variables.secret-scanning.alerts %} for a specific type of secret, for example: `secret-scanning.secret-type:adafruit_io_key`. -| `secret-scanning.validity` | Display data only for {% data variables.secret-scanning.alerts %} for a specific validity (`active`, `inactive`, or `unknown`). -| `severity` | Display data only for alerts of a specific severity (`critical`, `high`, `medium`, or `low`). -| `third-party.rule`| Display data only for {% data variables.product.prodname_code_scanning %} identified by a specific rule for a tool developed by a third party. For example, `third-party.rule:CVE-2021-26291-maven-artifact` shows only results for the `CVE-2021-26291-maven-artifact` rule of a third-party {% data variables.product.prodname_code_scanning %} tool. +|Qualifier|Description| +|--------|--------| +|`codeql.rule`| Display data only for {% data variables.product.prodname_code_scanning %} identified by a specific rule for {% data variables.product.prodname_codeql %}.| +|`dependabot.ecosystem`| Display data only for {% data variables.product.prodname_dependabot_alerts %} for a specific ecosystem, for example: `npm`.| +|`dependabot.package`| Display data only for {% data variables.product.prodname_dependabot_alerts %} for a specific package, for example: `tensorflow`.| +|`dependabot.scope`| Display data only for {% data variables.product.prodname_dependabot_alerts %} with a `runtime` or `development` scope.| +|`secret-scanning.bypassed`| Display data only for {% data variables.secret-scanning.alerts %} where push protection was bypassed (`true`) or not bypassed (`false`).| +|`secret-scanning.provider`| Display data only for {% data variables.secret-scanning.alerts %} issued by a specific provider, for example: `secret-scanning.provider:adafruit`.| +|`secret-scanning.secret-type`| Display data only for {% data variables.secret-scanning.alerts %} for a specific type of secret, for example: `secret-scanning.secret-type:adafruit_io_key`.| +|`secret-scanning.validity`| Display data only for {% data variables.secret-scanning.alerts %} for a specific validity (`active`, `inactive`, or `unknown`).| +|`severity`| Display data only for alerts of a specific severity (`critical`, `high`, `medium`, or `low`).| +|`third-party.rule`| Display data only for {% data variables.product.prodname_code_scanning %} identified by a specific rule for a tool developed by a third party. For example, `third-party.rule:CVE-2021-26291-maven-artifact` shows only results for the `CVE-2021-26291-maven-artifact` rule of a third-party {% data variables.product.prodname_code_scanning %} tool.| ## {% data variables.product.prodname_dependabot %} alert view filters @@ -165,12 +165,23 @@ You can filter the view to show {% data variables.product.prodname_dependabot_al | Qualifier | Description | | -------- | -------- | |`ecosystem`|Display {% data variables.product.prodname_dependabot_alerts %} detected in a specified ecosystem, for example: `ecosystem:Maven`.| -|`has`| Display {% data variables.product.prodname_dependabot_alerts %} for vulnerabilities where either a secure version is already available (`patch`) or where at least one call from the repository to a vulnerable function is detected (`vulnerable-calls`). For more information, see [AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#about-the-detection-of-calls-to-vulnerable-functions).| +|{% ifversion fpt or ghec or ghes > 3.15 %}| +|`epss_percentage`|Display {% data variables.product.prodname_dependabot_alerts %} whose EPSS score meets the defined criteria, for example: `epss_percentage:>=0.01`| +|{% endif %}| +|`has`|Display {% data variables.product.prodname_dependabot_alerts %} for vulnerabilities where either a secure version is already available (`patch`) or where at least one call from the repository to a vulnerable function is detected (`vulnerable-calls`). For more information, see [AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#about-the-detection-of-calls-to-vulnerable-functions).| |`is`|Display {% data variables.product.prodname_dependabot_alerts %} that are open (`open`) or closed (`closed`).| |`package`|Display {% data variables.product.prodname_dependabot_alerts %} detected in the specified package, for example: `package:semver`.| -|`resolution`| Display {% data variables.product.prodname_dependabot_alerts %} closed as "auto-dismissed" (`auto-dismissed`), "a fix has already been started" (`fix-started`), "fixed" (`fixed`), "this alert is inaccurate or incorrect" (`inaccurate`), "no bandwidth to fix this" (`no-bandwidth`), "vulnerable code is not actually used" (`not-used`), or "risk is tolerable to this project" (`tolerable-risk`).| +|`props`|Display {% data variables.product.prodname_dependabot_alerts %} for repositories with a specific custom property set. For example, `props.data_sensitivity:high` displays results for repositories with the `data_sensitivity` property set to the value `high`.| +|{% ifversion fpt or ghec or ghes > 3.17 %}| +|`relationship`|Display {% data variables.product.prodname_dependabot_alerts %} of the specified relationship, for example: `relationship:indirect`.| +|{% endif %}| +|`repo`|Display {% data variables.product.prodname_dependabot_alerts %} detected in a specified repository, for example: `repo:octo-repository`.| +|`resolution`|Display {% data variables.product.prodname_dependabot_alerts %} closed as "auto-dismissed" (`auto-dismissed`), "a fix has already been started" (`fix-started`), "fixed" (`fixed`), "this alert is inaccurate or incorrect" (`inaccurate`), "no bandwidth to fix this" (`no-bandwidth`), "vulnerable code is not actually used" (`not-used`), or "risk is tolerable to this project" (`tolerable-risk`).| |`scope`|Display {% data variables.product.prodname_dependabot_alerts %} from the development dependency (`development`) or from the runtime dependency (`runtime`).| -|`sort`| Groups {% data variables.product.prodname_dependabot_alerts %} by the manifest file path the alerts point to (`manifest-path`) or by the name of the package where the alert was detected (`package-name`). Alternatively, displays alerts from most important to least important, as determined by CVSS score, vulnerability impact, relevancy, and actionability (`most-important`), from newest to oldest (`newest`), from oldest to newest (`oldest`), or from most to least severe (`severity`). +|`severity`|Display {% data variables.product.prodname_dependabot_alerts %} of the specified severity, for example: `severity:critical`.| +|`sort`|Groups {% data variables.product.prodname_dependabot_alerts %} by the manifest file path the alerts point to (`manifest-path`) or by the name of the package where the alert was detected (`package-name`). Alternatively, displays alerts from most important to least important, as determined by CVSS score, vulnerability impact, relevancy, and actionability (`most-important`), from newest to oldest (`newest`), from oldest to newest (`oldest`), or from most to least severe (`severity`).| +|`team`|Display {% data variables.product.prodname_dependabot_alerts %} owned by members of the specified team, for example: `team:octocat-dependabot-team`.| +|`topic`|Display {% data variables.product.prodname_dependabot_alerts %} with the matching repository topic, for example: `topic:asdf`.| {% ifversion dependabot-metrics %} @@ -194,25 +205,30 @@ All {% data variables.product.prodname_code_scanning %} alerts have one of the c |`resolution`| Display {% data variables.product.prodname_code_scanning %} alerts closed as "false positive" (`false-positive`), "fixed" (`fixed`), "used in tests" (`used-in-tests`), or "won't fix" (`wont-fix`).| |`rule`|Display {% data variables.product.prodname_code_scanning %} alerts identified by the specified rule.| |`severity`|Display {% data variables.product.prodname_code_scanning %} alerts categorized as `critical`, `high`, `medium`, or `low` security alerts. Alternatively, displays {% data variables.product.prodname_code_scanning %} alerts categorized as `error`, `warning`, `note` problems.| -|`sort`| Display alerts from newest to oldest (`created-desc`), oldest to newest (`created-asc`), most recently updated (`updated-desc`), or least recently updated (`updated-asc`). +|`sort`|Display alerts from newest to oldest (`created-desc`), oldest to newest (`created-asc`), most recently updated (`updated-desc`), or least recently updated (`updated-asc`).| |`tool`|Display {% data variables.product.prodname_code_scanning %} alerts detected by the specified tool, for example: `tool:CodeQL` for alerts created using the {% data variables.product.prodname_codeql %} application in {% data variables.product.prodname_dotcom %}.| ## {% data variables.product.prodname_secret_scanning_caps %} alert view filters | Qualifier | Description | | -------- | -------- | -|`bypassed` | Display {% data variables.secret-scanning.alerts %} where push protection was bypassed (`true`) or not bypassed (`false`).| +|`bypassed`|Display {% data variables.secret-scanning.alerts %} where push protection was bypassed (`true`) or not bypassed (`false`).| +|{% ifversion ghes < 3.16 %}| +|`confidence`|Display {% data variables.secret-scanning.alerts %} of high (`high`) or other (`other`) confidence.| +|{% endif %}| +|`is`|Display {% data variables.secret-scanning.alerts %} that are open (`open`){% ifversion ghes < 3.17 %} or closed (`closed`){% else %}, closed (`closed`), publicly leaked (`publicly-leaked`), or multi-repository (`multi-repository`){% endif %}.| +|`props`|Display alerts for repositories with a specific custom property set. For example, `props.data_sensitivity:high` displays results for repositories with the `data_sensitivity` property set to the value `high`. | +|`provider`|Display alerts for all secrets issued by a specified provider, for example: `adafruit`. | +|`repo`|Display alerts detected in a specified repository, for example: `repo:octo-repository`.| +|`resolution`|Display {% data variables.secret-scanning.alerts %} closed as "false positive" (`false-positive`), "hidden by config" (`hidden-by-config`), "pattern deleted" (`pattern-deleted`), "pattern edited" (`pattern-edited`), "revoked" (`revoked`), "used in tests" (`used-in-tests`), or "won't fix" (`wont-fix`).| |{% ifversion secret-scanning-generic-tab %}| |`results`|Display default (`default`) or generic (`generic`) {% data variables.secret-scanning.alerts %}.| |{% endif %}| -| {% ifversion ghes = 3.16 %} | +|{% ifversion ghes = 3.16 %}| |`results`|Display default (`default`) or experimental (`experimental`) {% data variables.secret-scanning.alerts %}.| |{% endif %}| -|{% ifversion ghes < 3.16 %}| -|`confidence`|Display {% data variables.secret-scanning.alerts %} of high (`high`) or other (`other`) confidence.| -|{% endif %} | -|`is`|Display {% data variables.secret-scanning.alerts %} that are open (`open`) or closed (`closed`).| -|`provider` | Display alerts for all secrets issued by a specified provider, for example: `adafruit`. | -|`resolution`| Display {% data variables.secret-scanning.alerts %} closed as "false positive" (`false-positive`), "pattern deleted" (`pattern-deleted`), "pattern edited' (`pattern-edited`), "revoked" (`revoked`) "used in tests" (`used-in-tests`), or "won't fix" (`wont-fix`).| -|`sort`| Display alerts from newest to oldest (`created-desc`), oldest to newest (`created-asc`), most recently updated (`updated-desc`), or least recently updated (`updated-asc`).| -|`secret-type` | Display alerts for the specified secret and provider (`provider-pattern`) or custom pattern (`custom-pattern`). | +|`secret-type`|Display alerts for the specified secret and provider (`provider-pattern`) or custom pattern (`custom-pattern`).| +|`sort`|Display alerts from newest to oldest (`created-desc`), oldest to newest (`created-asc`), most recently updated (`updated-desc`), or least recently updated (`updated-asc`).| +|`team`|Display alerts owned by members of the specified team, for example: `team:octocat-dependabot-team`.| +|`topic`|Display alerts with the matching repository topic, for example: `topic:asdf`.| +|`validity`|Display alerts for a specific validity (`active`, `inactive`, or `unknown`).| diff --git a/content/code-security/security-overview/reviewing-requests-to-bypass-push-protection.md b/content/code-security/security-overview/reviewing-requests-to-bypass-push-protection.md index cb50e1d97775..ffb553904dcd 100644 --- a/content/code-security/security-overview/reviewing-requests-to-bypass-push-protection.md +++ b/content/code-security/security-overview/reviewing-requests-to-bypass-push-protection.md @@ -47,11 +47,14 @@ The following statuses are assigned to a request: |Status|Description| |---------|-----------| -|`Cancelled`| The request has been cancelled by the contributor.| -|`Completed`|The request has been approved and the commit(s) have been pushed to the repository.| +|{% ifversion fpt or ghec or ghes > 3.16 %}| +|`Approved`|The request has been approved, but the commit(s) have not yet been pushed to the repository.| +|{% endif %}| +|`Cancelled`|The request has been cancelled by the contributor.| +|`Completed`|The request has been approved and the commit(s) have been pushed to the repository{% ifversion fpt or ghec or ghes > 3.16 %}, or the request was rejected{% endif %}.| |`Denied`|The request has been reviewed and denied.| -|`Expired`| The request has expired. Requests are valid for 7 days. | -|`Open`| The request has either not yet been reviewed, or has been approved but the commit(s) have not been pushed to the repository. | +|`Expired`|The request has expired. Requests are valid for 7 days.| +|`Open`|The request has {% ifversion ghes < 3.17 %}either not yet been reviewed, or has been approved but the commit(s) have not been pushed to the repository{% else %}not yet been reviewed{% endif %}.| ## Further reading diff --git a/content/codespaces/about-codespaces/understanding-the-codespace-lifecycle.md b/content/codespaces/about-codespaces/understanding-the-codespace-lifecycle.md index 1b90f7b0ea55..f809fcc2791e 100644 --- a/content/codespaces/about-codespaces/understanding-the-codespace-lifecycle.md +++ b/content/codespaces/about-codespaces/understanding-the-codespace-lifecycle.md @@ -65,7 +65,7 @@ If you try to delete a codespace with unpushed git commits, your editor will not Codespaces that have been stopped and remain inactive for a specified period of time will be deleted automatically. By default, inactive codespaces are deleted after 30 days, but you can customize your codespace retention period. For more information, see [AUTOTITLE](/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces). -If you create a codespace, it will continue to accrue storage charges until it is deleted, irrespective of whether it is active or stopped. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-storage-usage). Deleting a codespace does not reduce the current billable amount for {% data variables.product.prodname_github_codespaces %}, which accumulates during each monthly billing cycle. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). +If you create a codespace, it will continue to accrue storage charges until it is deleted, irrespective of whether it is active or stopped. For more information, see [AUTOTITLE](/billing/concepts/product-billing/github-codespaces). Deleting a codespace does not reduce the current billable amount for {% data variables.product.prodname_github_codespaces %}, which accumulates during each monthly billing cycle. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). For more information on deleting a codespace, see [AUTOTITLE](/codespaces/developing-in-a-codespace/deleting-a-codespace). diff --git a/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md b/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md index df6fe81df56d..a9eae9e5347c 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md +++ b/content/codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization.md @@ -33,7 +33,7 @@ You can set a spending limit for {% data variables.product.prodname_github_codes You can check the compute and storage usage for {% data variables.product.prodname_github_codespaces %} for the current billing month. For information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/viewing-your-github-codespaces-usage). > [!NOTE] -> Prebuilds for {% data variables.product.prodname_github_codespaces %} are created and updated using {% data variables.product.prodname_actions %}. This may incur billable costs for {% data variables.product.prodname_actions %}. You can set a spending limit for {% data variables.product.prodname_actions %}. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-codespaces-prebuilds) and [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions). Storage of the generated prebuilds is charged at the same rate as your codespaces, and is included in your {% data variables.product.prodname_github_codespaces %} spending limit. +> Prebuilds for {% data variables.product.prodname_github_codespaces %} are created and updated using {% data variables.product.prodname_actions %}. This may incur billable costs for {% data variables.product.prodname_actions %}. You can set a budget for {% data variables.product.prodname_actions %}. For more information, see [AUTOTITLE](/billing/concepts/product-billing/github-codespaces) and [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-actions/managing-your-spending-limit-for-github-actions). Storage of the generated prebuilds is charged at the same rate as your codespaces, and is included in your {% data variables.product.prodname_github_codespaces %} budget. ## Disabling or limiting billing for {% data variables.product.prodname_codespaces %} diff --git a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create.md b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create.md index 8c7b7967a2f1..b112373e3a26 100644 --- a/content/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create.md +++ b/content/codespaces/managing-codespaces-for-your-organization/restricting-the-number-of-organization-billed-codespaces-a-user-can-create.md @@ -16,7 +16,7 @@ product: '{% data reusables.gated-features.codespaces-org %}' By default, if organization members, or collaborators, are permitted to create codespaces that are billable to your organization, they can create multiple such codespaces. The number of organization-billed codespaces someone can create is governed by a limit to the total number of codespaces that they can create across all repositories they can access. This limit is set by {% data variables.product.company_short %}. -As an organization owner, you can restrict the number of codespaces that each user can create, where the costs of the codespace are billable to the organization. This can help to reduce the overall cost of {% data variables.product.prodname_github_codespaces %} to the organization, as there is a charge for codespace storage. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-storage-usage). +As an organization owner, you can restrict the number of codespaces that each user can create, where the costs of the codespace are billable to the organization. This can help to reduce the overall cost of {% data variables.product.prodname_github_codespaces %} to the organization, as there is a charge for codespace storage. For more information, see [AUTOTITLE](/billing/concepts/product-billing/github-codespaces). To restrict the maximum number of organization-billed codespaces that users can create, you create a policy in the {% data variables.product.prodname_codespaces %} settings for your organization. For example, if you set the maximum to 2, users who already have 2 active or stopped codespaces that are billed to your organization will have to delete one of these before they can create a new codespace that's billed to the organization. diff --git a/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md b/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md index 3ae0118e5a11..3e9ff0514d8a 100644 --- a/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md +++ b/content/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds.md @@ -27,7 +27,7 @@ When prebuilds are available for a particular branch of a repository, a particul When you create a codespace from a template on the "Your codespaces" page, {% data variables.product.prodname_dotcom %} may automatically use a prebuild to speed up creation time. For more information on templates, see [AUTOTITLE](/codespaces/developing-in-a-codespace/creating-a-codespace-from-a-template). > [!NOTE] -> Each prebuild that's created consumes storage space that will either incur a billable charge or, for repositories owned by your personal {% data variables.product.prodname_dotcom %} account, will use some of your monthly included storage. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-codespaces-prebuilds). +> Each prebuild that's created consumes storage space that will either incur a billable charge or, for repositories owned by your personal {% data variables.product.prodname_dotcom %} account, will use some of your monthly included storage. For more information, see [AUTOTITLE](/billing/concepts/product-billing/github-codespaces). ## The prebuild process @@ -35,7 +35,7 @@ To create a prebuild, you set up a prebuild configuration. When you save the con When a prebuild configuration workflow runs, {% data variables.product.prodname_dotcom %} creates a temporary codespace, performing setup operations up to and including any `onCreateCommand` and `updateContentCommand` commands in the `devcontainer.json` file. No `postCreateCommand` commands are run during the creation of a prebuild. For more information about these commands, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the {% data variables.product.prodname_vscode_shortname %} documentation. A snapshot of the generated container is then taken and stored. -As with other {% data variables.product.prodname_actions %} workflows, running a prebuild configuration workflow will either consume some of the {% data variables.product.prodname_actions %} minutes included with your account, if you have any, or it will incur charges for {% data variables.product.prodname_actions %} minutes. Storage of codespace prebuilds is billed in the same way as storage of active or stopped codespaces. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-codespaces-prebuilds). +As with other {% data variables.product.prodname_actions %} workflows, running a prebuild configuration workflow will either consume some of the {% data variables.product.prodname_actions %} minutes included with your account, if you have any, or it will incur charges for {% data variables.product.prodname_actions %} minutes. Storage of codespace prebuilds is billed in the same way as storage of active or stopped codespaces. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). When you create a codespace from a prebuild, {% data variables.product.prodname_dotcom %} downloads the existing container snapshot from storage and deploys it on a fresh virtual machine, completing the remaining commands specified in the dev container configuration. Since many operations have already been performed, such as cloning the repository, creating a codespace from a prebuild can be substantially quicker than creating one without a prebuild. This is true where the repository is large and/or `onCreateCommand` commands take a long time to run. diff --git a/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md b/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md index 7b50704e4679..ef68505855ea 100644 --- a/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md +++ b/content/codespaces/prebuilding-your-codespaces/configuring-prebuilds.md @@ -26,7 +26,7 @@ Prebuilds are created using {% data variables.product.prodname_actions %}. As a You can set up prebuilds in any repository owned by a personal account. The prebuild will consume storage space that will either incur a billable charge or, for repositories owned by your personal account, will use some of your monthly included storage. > [!NOTE] -> {% data reusables.codespaces.prebuilds-billing-for-forks %} See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#how-billing-is-handled-for-forked-repositories). +> {% data reusables.codespaces.prebuilds-billing-for-forks %} See [AUTOTITLE](/billing/concepts/product-billing/github-codespaces#how-costs-are-assigned-to-a-billable-account). For repositories owned by an organization, you can set up prebuilds if the organization is on a {% data variables.product.prodname_team %} or {% data variables.product.prodname_enterprise %} plan. Additionally, you must have added a payment method and set a spending limit for {% data variables.product.prodname_github_codespaces %} on the organization account or its parent enterprise. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/managing-the-spending-limit-for-github-codespaces#managing-the-github-codespaces-spending-limit-for-your-organization-account) and [AUTOTITLE](/get-started/learning-about-github/githubs-plans). @@ -73,7 +73,7 @@ For repositories owned by an organization, you can set up prebuilds if the organ ![Screenshot of the "Region availability" settings. "Reduce prebuild available to only specific regions" is selected with two regions selected.](/assets/images/help/codespaces/prebuilds-regions.png) > [!NOTE] - > * The prebuild in each region incurs individual storage charges. You should, therefore, only enable prebuilds for regions in which you know they'll be used. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-codespaces-prebuilds). + > * The prebuild in each region incurs individual storage charges. You should, therefore, only enable prebuilds for regions in which you know they'll be used. > * Developers can set their default region for {% data variables.product.prodname_github_codespaces %}, which can allow you to enable prebuilds for fewer regions. See [AUTOTITLE](/codespaces/setting-your-user-preferences/setting-your-default-region-for-github-codespaces). 1. Optionally, under **Template history**, set the number of prebuild versions to be retained. You can input any number between 1 and 5. The default number of saved versions is 2, which means that only the latest prebuild and the previous version are saved. diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers.md index 41798fa4d711..ad242446be5c 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers.md @@ -125,7 +125,7 @@ If you don't add a dev container configuration to your repository, or if your co The default configuration is a good option if you're working on a small project that uses the languages and tools that {% data variables.product.prodname_github_codespaces %} provides. > [!NOTE] -> {% data variables.product.prodname_dotcom %} does not charge for storage of containers built from the default dev container image. For more information about billing for codespace storage, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-storage-usage). {% data reusables.codespaces.check-for-default-image %} +> {% data variables.product.prodname_dotcom %} does not charge for storage of containers built from the default dev container image. For more information about billing for codespace storage, see [AUTOTITLE](/billing/concepts/product-billing/github-codespaces). {% data reusables.codespaces.check-for-default-image %} ## Using a predefined dev container configuration diff --git a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces.md index 58018b64dbdd..a5b25a0a018f 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces.md @@ -23,7 +23,7 @@ To help users find your template and get started quickly, you can share a link t When someone creates a codespace from your template, the contents of your template repository will be cloned into their codespace. When the user is ready, they will be able to publish their work to a new repository on {% data variables.product.github %} belonging to their personal account. For more information, see [AUTOTITLE](/codespaces/developing-in-a-codespace/creating-a-codespace-from-a-template). -Organizations can pay for members of the organization and outside collaborators to use {% data variables.product.prodname_github_codespaces %} at the organization's expense. This includes codespaces created from template repositories owned by the organization. However, if a user publishes a codespace created from a template to their personal account, ownership and billing of the codespace transfers to the user who created the codespace. For more information, see [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#how-billing-is-handled-for-github-codespaces-templates). +Organizations can pay for members of the organization and outside collaborators to use {% data variables.product.prodname_github_codespaces %} at the organization's expense. This includes codespaces created from template repositories owned by the organization. However, if a user publishes a codespace created from a template to their personal account, ownership and billing of the codespace transfers to the user who created the codespace. For more information, see [AUTOTITLE](/billing/concepts/product-billing/github-codespaces#how-costs-are-assigned-to-a-billable-account). ## Describe your template diff --git a/content/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces.md b/content/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces.md index 116f58887e16..ad082ebc94fd 100644 --- a/content/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces.md +++ b/content/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces.md @@ -67,7 +67,7 @@ You may have a codespace that you want to keep for longer than the retention per > [!NOTE] > The "Keep codespace" option is not available for organization-owned codespaces affected by an organization retention policy. -Codespaces incur storage costs, or consume your included storage allowance if the codespace is owned by your personal {% data variables.product.prodname_dotcom %} account. You should therefore be aware of the cost implications of storing codespaces indefinitely. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-storage-usage). +Codespaces incur storage costs, or consume your included storage allowance if the codespace is owned by your personal {% data variables.product.prodname_dotcom %} account. You should therefore be aware of the cost implications of storing codespaces indefinitely. See [AUTOTITLE](/billing/concepts/product-billing/github-codespaces). {% data reusables.codespaces.your-codespaces-procedure-step %} 1. To the right of the codespace you want to exempt from automatic deletion, click {% octicon "kebab-horizontal" aria-label="Codespace configuration" %}, then click **{% octicon "bookmark" aria-hidden="true" aria-label="bookmark" %} Keep codespace**. diff --git a/content/codespaces/the-githubdev-web-based-editor.md b/content/codespaces/the-githubdev-web-based-editor.md index 1017646e4417..244ecbd8b1f2 100644 --- a/content/codespaces/the-githubdev-web-based-editor.md +++ b/content/codespaces/the-githubdev-web-based-editor.md @@ -48,7 +48,7 @@ Both {% data variables.codespaces.serverless %} and {% data variables.product.pr || {% data variables.codespaces.serverless %} | {% data variables.product.prodname_github_codespaces %}| |-|----------------|---------| -| **Cost** | Free. | Free monthly quota of usage for personal accounts. For information on pricing, see [AUTOTITLE](/free-pro-team@latest/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-github-codespaces-pricing).| +| **Cost** | Free. | Free monthly quota of usage for personal accounts, see [AUTOTITLE](/billing/concepts/product-billing/github-codespaces#free-and-billed-use-by-personal-accounts).| | **Availability** | Available to everyone on GitHub.com. | Available to everyone on GitHub.com. | | **Start up** | {% data variables.codespaces.serverless %} opens instantly with a key-press and you can start using it right away, without having to wait for additional configuration or installation. | When you create or resume a codespace, the codespace is assigned a VM and the container is configured based on the contents of a `devcontainer.json` file. This set up may take a few minutes to create the environment. See [AUTOTITLE](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository). | | **Compute** | There is no associated compute, so you won’t be able to build and run your code or use the integrated terminal. | With {% data variables.product.prodname_github_codespaces %}, you get the power of a dedicated VM on which you can run and debug your application.| diff --git a/content/codespaces/troubleshooting/troubleshooting-included-usage.md b/content/codespaces/troubleshooting/troubleshooting-included-usage.md index 408708bc8a04..54c6aeb9bac6 100644 --- a/content/codespaces/troubleshooting/troubleshooting-included-usage.md +++ b/content/codespaces/troubleshooting/troubleshooting-included-usage.md @@ -24,7 +24,7 @@ The amount of free usage provided on your personal account every month is design {% data variables.product.prodname_codespaces %} compute is counted in core hours, which is the sum of the time a codespace is active, multiplied by the multiplier for the codespace's machine type: for example, a multiplier of 2 for a 2-core machine, or a multiplier of 8 for an 8-core machine. A codespace becomes active when you create it or start it. A codespace stops being active when you stop it or delete it, or when it is stopped or deleted automatically. -The default idle timeout, which stops a codespace after a period of inactivity, is 30 minutes. You can reduce this if required. See the "About billing for compute usage" section of [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-compute-usage). +The default idle timeout, which stops a codespace after a period of inactivity, is 30 minutes. You can reduce this if required. See [AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period) ## About {% data variables.product.prodname_codespaces %} storage @@ -35,7 +35,7 @@ You can see the storage usage for each of your codespaces on the "Your codespace > [!NOTE] > If the dev container for a codespace was built from the default image, the size of the codespace shown on this page does not include the size of the base dev container. Storage for the base dev container is provided free of charge. See [Storage usage for your base dev container](#storage-usage-for-your-base-dev-container). -For billing purposes, {% data variables.product.prodname_codespaces %} storage is counted in GB-months. This is a cumulative measure of the total storage each codespace consumes from creation to deletion, plus the storage for prebuilds. See the "Billing for storage usage" section of [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-storage-usage). +For billing purposes, {% data variables.product.prodname_codespaces %} storage is counted in GB-hours. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces). ### Where did my monthly storage go? @@ -95,10 +95,10 @@ If the dev container for the current codespace was built from the default image, > [!NOTE] > Storage is calculated hourly and added to your existing storage usage. Consumed storage is therefore cumulative for the duration of your month-long billing cycle. This means that, during the billing period, the value you see on your billing page will only increase or remain the same. Usage will be reset to zero when a new billing cycle starts. Deleting a codespace, or a prebuild, will not reduce the usage figure for the current month, but it will reduce the rate at which storage usage accumulates. -* Ensure that you are using prebuilds for only as many versions and as many regions as you need. See [AUTOTITLE](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds) and [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#about-billing-for-codespaces-prebuilds). +* Ensure that you are using prebuilds for only as many versions and as many regions as you need. See [AUTOTITLE](/codespaces/prebuilding-your-codespaces/about-github-codespaces-prebuilds). > [!NOTE] - > If your included storage usage is exhausted, new prebuilds are disabled until you set up a spending limit or your included usage quota renews. + > If your included storage usage is exhausted, new prebuilds are disabled until you set up a budget or your included usage quota renews. * If you have configured prebuilds in a repository's settings, but you're not using {% data variables.product.prodname_github_codespaces %} for that repository, consider deleting the prebuild configuration to avoid prebuilds for that repository consuming your included storage allowance unnecessarily. When you delete a prebuild configuration all the associated prebuilds are deleted, reducing your storage consumption from that point onward. See [AUTOTITLE](/codespaces/prebuilding-your-codespaces/managing-prebuilds#deleting-a-prebuild-configuration). diff --git a/content/enterprise-onboarding/github-actions-for-your-enterprise/about-billing-for-github-actions.md b/content/enterprise-onboarding/github-actions-for-your-enterprise/about-billing-for-github-actions.md index 2074e43aede2..8cfe9c35658e 100644 --- a/content/enterprise-onboarding/github-actions-for-your-enterprise/about-billing-for-github-actions.md +++ b/content/enterprise-onboarding/github-actions-for-your-enterprise/about-billing-for-github-actions.md @@ -26,7 +26,7 @@ Minutes reset every month, while storage usage does not. ### Included storage and minutes > [!NOTE] -> * Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). +> * Included minutes cannot be used for larger runners. These runners will always be charged for, including in public repositories. See [AUTOTITLE](/billing/reference/actions-minute-multipliers). > * Logs and job summaries do not count towards storage usage. |Plan | Storage | Minutes (per month)| diff --git a/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md b/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md index 15732cc28bf0..9aca5caee51a 100644 --- a/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md +++ b/content/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository.md @@ -16,7 +16,7 @@ redirect_from: {% data variables.product.github %} creates [source code archives](/repositories/working-with-files/using-files/downloading-source-code-archives) of your repository in the form of ZIP files and tarballs. People can download these archives on the main page of your repository or as release assets. By default, {% data variables.large_files.product_name_short %} objects are not included in these archives, only the pointer files to these objects. To improve the usability of archives for your repository, you can choose to include the {% data variables.large_files.product_name_short %} objects instead. To be included, the {% data variables.large_files.product_name_short %} objects must be covered by tracking rules in a _.gitattributes_ file that has been committed to the repository. -If you choose to include {% data variables.large_files.product_name_short %} objects in archives of your repository, every download of those archives will count towards bandwidth usage for your account. Each account receives {% data variables.large_files.initial_bandwidth_quota %} per month of bandwidth for free, and you can pay for additional usage. For more information, see [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage) and [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage). +If you choose to include {% data variables.large_files.product_name_short %} objects in archives of your repository, every download of those archives will count towards bandwidth usage for your account. Each account receives {% data variables.large_files.initial_bandwidth_quota %} per month of bandwidth for free, and you can pay for additional usage. See [AUTOTITLE](/billing/concepts/product-billing/git-lfs). If you use an external LFS server (configured in your _.lfsconfig_), those LFS files will not be included in archives of the repository. The archive will only contain files that have been committed to {% data variables.product.github %}. diff --git a/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md b/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md deleted file mode 100644 index 9a572eb35891..000000000000 --- a/content/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usage.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: About storage and bandwidth usage -intro: '{% data reusables.large_files.free-storage-bandwidth-amount %}' -redirect_from: - - /articles/billing-plans-for-large-file-storage - - /articles/billing-plans-for-git-large-file-storage - - /articles/about-storage-and-bandwidth-usage - - /github/managing-large-files/about-storage-and-bandwidth-usage - - /github/managing-large-files/versioning-large-files/about-storage-and-bandwidth-usage -versions: - fpt: '*' - ghec: '*' -shortTitle: Storage & bandwidth ---- -{% data variables.large_files.product_name_short %} is available for every repository on {% data variables.product.github %}, whether or not your account or organization has a paid subscription. - -## Tracking storage and bandwidth use - -When you commit and push a change to a file tracked with {% data variables.large_files.product_name_short %}, a new version of the entire file is pushed and the total file size is counted against the repository owner's storage limit. When you download a file tracked with {% data variables.large_files.product_name_short %}, the total file size is counted against the repository owner's bandwidth limit. {% data variables.large_files.product_name_short %} uploads do not count against the bandwidth limit. - -For example: -* If you push a 500 MB file to {% data variables.large_files.product_name_short %}, you'll use 500 MB of your allotted storage and none of your bandwidth. If you make a 1 byte change and push the file again, you'll use another 500 MB of storage and no bandwidth, bringing your total usage for these two pushes to 1 GB of storage and zero bandwidth. -* If you download a 500 MB file that's tracked with LFS, you'll use 500 MB of the repository owner's allotted bandwidth. If a collaborator pushes a change to the file and you pull the new version to your local repository, you'll use another 500 MB of bandwidth, bringing the total usage for these two downloads to 1 GB of bandwidth. -* If {% data variables.product.prodname_actions %} downloads a 500 MB file that is tracked with LFS, it will use 500 MB of the repository owner's allotted bandwidth. - -If {% data variables.large_files.product_name_long %} ({% data variables.large_files.product_name_short %}) objects are included in [source code archives](/repositories/working-with-files/using-files/downloading-source-code-archives) for your repository, downloads of those archives will count towards bandwidth usage for the repository. For more information, see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository). - -> [!TIP] -> * {% data reusables.large_files.owner_quota_only %} - -## Storage quota - -If you use more than {% data variables.large_files.initial_storage_quota %} of storage without a payment method on file, you can still clone repositories with large assets, but you will only retrieve the pointer files, and you will not be able to push new files back up. For more information about pointer files, see [AUTOTITLE](/repositories/working-with-files/managing-large-files/about-git-large-file-storage#pointer-file-format). - -## Bandwidth quota - -If you use more than {% data variables.large_files.initial_bandwidth_quota %} of bandwidth per month without a payment method on file, {% data variables.large_files.product_name_short %} support is disabled on your account until the next month. - -## Further reading - -* [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage) -* [AUTOTITLE](/billing/managing-billing-for-your-products/viewing-your-product-usage) diff --git a/content/repositories/working-with-files/managing-large-files/index.md b/content/repositories/working-with-files/managing-large-files/index.md index 478de371ece8..e7325c58bc35 100644 --- a/content/repositories/working-with-files/managing-large-files/index.md +++ b/content/repositories/working-with-files/managing-large-files/index.md @@ -17,10 +17,8 @@ children: - /about-git-large-file-storage - /installing-git-large-file-storage - /configuring-git-large-file-storage - - /about-storage-and-bandwidth-usage - /collaboration-with-git-large-file-storage - /moving-a-file-in-your-repository-to-git-large-file-storage - /removing-files-from-git-large-file-storage - /resolving-git-large-file-storage-upload-failures --- - diff --git a/data/reusables/actions/supported-github-runners.md b/data/reusables/actions/supported-github-runners.md index a97373670d2d..4de203d4268c 100644 --- a/data/reusables/actions/supported-github-runners.md +++ b/data/reusables/actions/supported-github-runners.md @@ -87,7 +87,7 @@ For public repositories, jobs using the workflow labels shown in the table below ### Standard {% data variables.product.prodname_dotcom %}-hosted runners for {% ifversion ghec %}internal and{% endif %} private repositories -For {% ifversion ghec %}internal and{% endif %} private repositories, jobs using the workflow labels shown in the table below will run on virtual machines with the associated specifications. These runners use your {% data variables.product.prodname_dotcom %} account's allotment of free minutes, and are then charged at the per minute rates. For more information, see [AUTOTITLE](/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates). +For {% ifversion ghec %}internal and{% endif %} private repositories, jobs using the workflow labels shown in the table below will run on virtual machines with the associated specifications. These runners use your {% data variables.product.prodname_dotcom %} account's allotment of free minutes, and are then charged at the per minute rates. See [AUTOTITLE](/billing/reference/actions-minute-multipliers). diff --git a/data/reusables/billing/enhanced-billing-platform-product.md b/data/reusables/billing/enhanced-billing-platform-product.md index fc77d0c3e91a..6d6874df7fb3 100644 --- a/data/reusables/billing/enhanced-billing-platform-product.md +++ b/data/reusables/billing/enhanced-billing-platform-product.md @@ -1,14 +1 @@ -{% ifversion fpt %} - -Outside of {% data variables.product.prodname_ghe_cloud %}, the new billing platform is available to: - -* Organization accounts on a {% data variables.product.prodname_free_team %} plan created after February 4, 2025. -* Personal accounts (either on {% data variables.product.prodname_free_user %} or {% data variables.product.prodname_pro %}) created after February 13, 2025.

- -For existing personal accounts created before February 13, 2025, {% data variables.product.company_short %} will migrate personal accounts to the new billing platform by June 30, 2025. - -{% elsif ghec %} - -The new billing platform is now fully rolled out to all enterprises and their organizations. For more details, see the [GitHub blog](https://github.blog/changelog/2024-09-24-enhanced-billing-platform-for-enterprises/). - -{% endif %} +The new billing platform is now fully rolled out to all users. diff --git a/data/reusables/codespaces/about-publishing-templates.md b/data/reusables/codespaces/about-publishing-templates.md index 9060f4417d6d..442926ee7e8f 100644 --- a/data/reusables/codespaces/about-publishing-templates.md +++ b/data/reusables/codespaces/about-publishing-templates.md @@ -5,4 +5,4 @@ You can save your files, close and stop your codespace, and come back to your wo However, if you delete an unpublished codespace, or if it's automatically deleted by being left unused for the duration of the retention period, then your work will be deleted too. To persist your work, and to allow others to work on your project, you will need to publish your codespace to a repository on {% data variables.product.prodname_dotcom %}. > [!NOTE] -> If an unpublished codespace is currently billed to an organization, publishing the codespace transfers ownership and billing of the codespace to your personal account. See [AUTOTITLE](/billing/managing-billing-for-your-products/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#how-billing-is-handled-for-github-codespaces-templates). +> If an unpublished codespace is currently billed to an organization, publishing the codespace transfers ownership and billing of the codespace to your personal account. See [AUTOTITLE](/billing/concepts/product-billing/github-codespaces#how-costs-are-assigned-to-a-billable-account). diff --git a/data/reusables/dependabot/dependabot-alerts-filters.md b/data/reusables/dependabot/dependabot-alerts-filters.md index 50ac48b14844..56f4aad78843 100644 --- a/data/reusables/dependabot/dependabot-alerts-filters.md +++ b/data/reusables/dependabot/dependabot-alerts-filters.md @@ -20,6 +20,8 @@ You can sort and filter {% data variables.product.prodname_dependabot_alerts %} | `epss_percentage` | Displays alerts based on their EPSS-predicted probability of exploitation | Use `epss_percentage:>0.01` to see alerts with an EPSS percentage greater than 1% | |{% endif %}| | `sort` | Displays alerts according to the selected sort order | The default sorting option for alerts is `sort:most-important`, which ranks alerts by importance
Use `sort:newest` to show the latest alerts reported by {% data variables.product.prodname_dependabot %}{% ifversion dependabot-alerts-epss-score %}
Use `sort:epss-percentage` to show alerts ordered by descending EPSS score.{% endif %} | +| `team` | Display data for all repositories that the specified team has write access or admin access to. For more information on repository roles, see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization). | Use `team:octo-team` to show alerts for repositories that the `octo-team` team has write access to. | +| `topic` | Display data for all repositories that are classified with a specific topic. For more information on repository topics, see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics). | Use `topic:nextjs` to show alerts for repositories that are classified with the `nextjs` topic. | {% ifversion dependabot-alerts-epss-score %} diff --git a/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_packages.md b/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_packages.md index 690f270d1b18..b34c2dbf25c9 100644 --- a/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_packages.md +++ b/data/reusables/dotcom_billing/pricing_calculator/pricing_cal_packages.md @@ -1 +1 @@ -To estimate the costs for consumptive services, you can use the {% data variables.product.prodname_dotcom %} [pricing calculator](https://github.com/pricing/calculator?feature=packages). +To estimate the costs for metered services, you can use the {% data variables.product.github %} [pricing calculator](https://github.com/pricing/calculator?feature=packages). diff --git a/data/reusables/package_registry/packages-billing.md b/data/reusables/package_registry/packages-billing.md index 15b85adea968..6bc52916123f 100644 --- a/data/reusables/package_registry/packages-billing.md +++ b/data/reusables/package_registry/packages-billing.md @@ -1 +1,3 @@ -{% data variables.product.prodname_registry %} usage is free for public packages. For private packages, each account on {% data variables.product.github %} receives a quota of free storage and data transfer, depending on the account's plan. Any usage beyond the included amounts is controlled by budgets. +{% data variables.product.prodname_registry %} usage is **free** for **public packages**. + +For **private packages**, each account on {% data variables.product.github %} receives an amount of **free storage and data transfer**, determined by the account's plan. Any usage beyond the included amounts is controlled by budgets. diff --git a/data/reusables/security-overview/filter-dependabot-metrics.md b/data/reusables/security-overview/filter-dependabot-metrics.md index 2c9361546895..7d3d663070a4 100644 --- a/data/reusables/security-overview/filter-dependabot-metrics.md +++ b/data/reusables/security-overview/filter-dependabot-metrics.md @@ -2,7 +2,7 @@ | Qualifier | Description | | -------- | -------- | |`repo`|Display {% data variables.product.prodname_dependabot_alerts %} detected in a specified repository, for example: `repo:octo-repository`.| -|`topic`|Display {% data variables.product.prodname_dependabot_alerts %} with the matching topic, for example: `topic:asdf`.| +|`topic`|Display {% data variables.product.prodname_dependabot_alerts %} with the matching repository topic, for example: `topic:asdf`.| |`team`|Display {% data variables.product.prodname_dependabot_alerts %} owned by members of the specified team, for example: `team:octocat-dependabot-team`.| |`visibility`|Display {% data variables.product.prodname_dependabot_alerts %} detected in repositories of the specified visibility, for example: `visibility:private`.| |`archived`|Display {% data variables.product.prodname_dependabot_alerts %} detected in respositories that are either archived, or not, for example: `archived:true`.| diff --git a/data/reusables/user-settings/context_switcher.md b/data/reusables/user-settings/context_switcher.md index e1daeffab4c2..daac0c303264 100644 --- a/data/reusables/user-settings/context_switcher.md +++ b/data/reusables/user-settings/context_switcher.md @@ -1 +1,3 @@ -You must manage billing settings and paid features for each of your accounts separately. You can switch between settings for your personal account, organization accounts, and enterprise accounts using the context switcher on each settings page. See [AUTOTITLE](/billing/using-the-billing-platform/about-billing-on-github#switching-between-settings-for-your-different-accounts). +You must manage billing settings and paid features for each of your accounts separately. + +You can switch between settings for your personal account, organization accounts, and enterprise accounts using the context switcher on each settings page. See [AUTOTITLE](/billing/using-the-billing-platform/about-billing-on-github#switching-between-settings-for-your-different-accounts). diff --git a/src/rest/data/ghes-3.15-2022-11-28/schema.json b/src/rest/data/ghes-3.15-2022-11-28/schema.json index 7672913d5bce..4df2c310d4eb 100644 --- a/src/rest/data/ghes-3.15-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.15-2022-11-28/schema.json @@ -1080,13 +1080,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets the GitHub Actions cache usage policy for an enterprise.

\n

OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets the GitHub Actions cache usage policy for an enterprise.

\n

OAuth tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -1228,13 +1228,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

\n

OAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets the total GitHub Actions cache usage for an organization.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

\n

OAuth tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -1468,13 +1468,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets GitHub Actions cache usage for a repository.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

\n

Anyone with read access to the repository can use this endpoint.

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets GitHub Actions cache usage for a repository.\nThe data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

\n

Anyone with read access to the repository can use this endpoint.

\n

If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -1630,13 +1630,13 @@ } ], "previews": [], - "descriptionHTML": "

Sets GitHub Actions cache usage policy for a repository.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Sets GitHub Actions cache usage policy for a repository.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -2088,13 +2088,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a GitHub Actions cache for a repository, using a cache ID.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a GitHub Actions cache for a repository, using a cache ID.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" } ], "oidc": [ @@ -3021,13 +3021,13 @@ } ], "previews": [], + "descriptionHTML": "

Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations must be configured to selected. For more information, see \"Set GitHub Actions permissions for an enterprise.\"

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for enabled_organizations must be configured to selected. For more information, see \"Set GitHub Actions permissions for an enterprise.\"

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -3326,13 +3326,13 @@ } ], "previews": [], - "descriptionHTML": "

Sets the default workflow permissions granted to the GITHUB_TOKEN when running workflows in an enterprise, and sets\nwhether GitHub Actions can submit approving pull request reviews. For more information, see\n\"Enforcing a policy for workflow permissions in your enterprise.\"

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

Success response

" } - ] + ], + "descriptionHTML": "

Sets the default workflow permissions granted to the GITHUB_TOKEN when running workflows in an enterprise, and sets\nwhether GitHub Actions can submit approving pull request reviews. For more information, see\n\"Enforcing a policy for workflow permissions in your enterprise.\"

\n

OAuth app tokens and personal access tokens (classic) need the admin:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -3420,13 +3420,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.

\n

You must authenticate using an access token with the admin:org scope to use this endpoint. GitHub Apps must have the administration organization permission to use this API.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -3503,13 +3503,13 @@ } ], "previews": [], - "descriptionHTML": "

Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.

\n

If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as allowed_actions to selected actions, then you cannot override them for the organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Sets the GitHub Actions permissions policy for repositories and allowed actions in an organization.

\n

If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as allowed_actions to selected actions, then you cannot override them for the organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -4802,13 +4802,13 @@ } ], "previews": [], - "descriptionHTML": "

Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"

\n

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for enabled_repositories must be must be configured to selected. For more information, see \"Set GitHub Actions permissions for an organization.\"

\n

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -6066,13 +6066,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists all secrets available in an organization without revealing their\nencrypted values.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists all secrets available in an organization without revealing their\nencrypted values.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -6499,13 +6499,13 @@ } ], "previews": [], + "descriptionHTML": "

Deletes a secret in an organization using the secret name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Deletes a secret in an organization using the secret name.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -7728,7 +7728,6 @@ } ], "previews": [], - "descriptionHTML": "

Removes a repository from an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "204", @@ -7738,7 +7737,8 @@ "httpStatusCode": "409", "description": "

Conflict when visibility type not set to selected

" } - ] + ], + "descriptionHTML": "

Removes a repository from an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.

\n

Authenticated users must have collaborator access to a repository to create, update, or read secrets.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10223,13 +10223,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an enterprise.\"

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an enterprise.\"

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10462,13 +10462,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists the self-hosted runners that are in a specific enterprise group.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists the self-hosted runners that are in a specific enterprise group.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -10677,13 +10677,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -11081,13 +11081,13 @@ } ], "previews": [], + "descriptionHTML": "

Creates a new self-hosted runner group for an organization.

\n

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ], - "descriptionHTML": "

Creates a new self-hosted runner group for an organization.

\n

OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -11411,13 +11411,13 @@ } ], "previews": [], + "descriptionHTML": "

Updates the name and visibility of a self-hosted runner group in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Updates the name and visibility of a self-hosted runner group in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -12644,13 +12644,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists the repositories with access to a self-hosted runner group configured in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists the repositories with access to a self-hosted runner group configured in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -13706,13 +13706,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists binaries for the runner application that you can download and run.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists binaries for the runner application that you can download and run.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -16236,13 +16236,13 @@ } ], "previews": [], + "descriptionHTML": "

Gets a specific self-hosted runner configured in an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Gets a specific self-hosted runner configured in an enterprise.

\n

OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -19925,13 +19925,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a specific self-hosted runner configured in an organization.

\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a specific self-hosted runner configured in an organization.

\n

Authenticated users must have admin access to the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint. If the repository is private, the repo scope is also required.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -24960,13 +24960,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a specific variable in an organization.

\n

The authenticated user must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a specific variable in an organization.

\n

The authenticated user must have collaborator access to a repository to create, update, or read variables.

\n

OAuth tokens and personal access tokens (classic) need theadmin:org scope to use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -40267,13 +40267,13 @@ } ], "previews": [], + "descriptionHTML": "

Approve or reject pending deployments that are waiting on approval by a required reviewer.

\n

Required reviewers with read access to the repository contents and deployments can use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Approve or reject pending deployments that are waiting on approval by a required reviewer.

\n

Required reviewers with read access to the repository contents and deployments can use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -43938,13 +43938,13 @@ } ], "previews": [], - "descriptionHTML": "

You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

\n

You must configure your GitHub Actions workflow to run when the workflow_dispatch webhook event occurs. The inputs are configured in the workflow file. For more information about how to configure the workflow_dispatch event in the workflow file, see \"Events that trigger workflows.\"

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

\n

You must configure your GitHub Actions workflow to run when the workflow_dispatch webhook event occurs. The inputs are configured in the workflow file. For more information about how to configure the workflow_dispatch event in the workflow file, see \"Events that trigger workflows.\"

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -44019,13 +44019,13 @@ } ], "previews": [], + "descriptionHTML": "

Enables a workflow and sets the state of the workflow to active. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Enables a workflow and sets the state of the workflow to active. You can replace workflow_id with the workflow file name. For example, you could use main.yaml.

\n

OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" + ] } ] }, @@ -59367,13 +59367,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Note

\n

\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.

\n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -74706,13 +74706,13 @@ } ], "previews": [], - "descriptionHTML": "

These are events that you've received by watching repositories and following users. If you are authenticated as the\ngiven user, you will see private events. Otherwise, you'll only see public events.

\n

Note

\n

\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

These are events that you've received by watching repositories and following users. If you are authenticated as the\ngiven user, you will see private events. Otherwise, you'll only see public events.

\n

Note

\n

\nThis API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h.

\n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -81216,13 +81216,13 @@ } ], "previews": [], - "descriptionHTML": "

Marks a thread as \"done.\" Marking a thread as \"done\" is equivalent to marking a notification in your notification inbox on GitHub Enterprise Server as done: https://github.com/notifications.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No content

" } - ] + ], + "descriptionHTML": "

Marks a thread as \"done.\" Marking a thread as \"done\" is equivalent to marking a notification in your notification inbox on GitHub Enterprise Server as done: https://github.com/notifications.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -88860,13 +88860,13 @@ } ], "previews": [], - "descriptionHTML": "

If you would like to watch a repository, set subscribed to true. If you would like to ignore notifications made within a repository, set ignored to true. If you would like to stop watching a repository, delete the repository's subscription completely.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

If you would like to watch a repository, set subscribed to true. If you would like to ignore notifications made within a repository, set ignored to true. If you would like to stop watching a repository, delete the repository's subscription completely.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -91072,13 +91072,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets the announcement banner currently set for the organization. Only returns the announcement banner set at the\norganization level. Organization members may also see an enterprise-level announcement banner. To get an\nannouncement banner displayed at the enterprise level, use the enterprise-level endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets the announcement banner currently set for the organization. Only returns the announcement banner set at the\norganization level. Organization members may also see an enterprise-level announcement banner. To get an\nannouncement banner displayed at the enterprise level, use the enterprise-level endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -91257,13 +91257,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes the announcement banner currently set for the organization.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Removes the announcement banner currently set for the organization.

" } ] }, @@ -100471,13 +100471,13 @@ } ], "previews": [], - "descriptionHTML": "

Enables an authenticated GitHub App to find the organization's installation information.

\n

You must use a JWT to access this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Enables an authenticated GitHub App to find the organization's installation information.

\n

You must use a JWT to access this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -103876,13 +103876,13 @@ } ], "previews": [], - "descriptionHTML": "

Revokes the installation token you're using to authenticate as an installation and access this endpoint.

\n

Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"Create an installation access token for an app\" endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Revokes the installation token you're using to authenticate as an installation and access this endpoint.

\n

Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the \"Create an installation access token for an app\" endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -162242,13 +162242,13 @@ } ], "previews": [], - "descriptionHTML": "

Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration.

\n

If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled.

\n

The authenticated user must be an administrator or security manager for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "202", "description": "

Accepted

" } - ] + ], + "descriptionHTML": "

Attach a code security configuration to a set of repositories. If the repositories specified are already attached to a configuration, they will be re-attached to the provided configuration.

\n

If insufficient GHAS licenses are available to attach the configuration to a repository, only free features will be enabled.

\n

The authenticated user must be an administrator or security manager for the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -189946,13 +189946,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all secrets available in an organization without revealing their\nencrypted values.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all secrets available in an organization without revealing their\nencrypted values.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -190146,13 +190146,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a single organization secret without revealing its encrypted value.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a single organization secret without revealing its encrypted value.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -190353,13 +190353,13 @@ } ], "previews": [], + "descriptionHTML": "

Deletes a secret in an organization using the secret name.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Deletes a secret in an organization using the secret name.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -191350,13 +191350,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all repositories that have been selected when the visibility\nfor repository access to a secret is set to selected.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists all repositories that have been selected when the visibility\nfor repository access to a secret is set to selected.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -191582,6 +191582,7 @@ } ], "previews": [], + "descriptionHTML": "

Removes a repository from an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", @@ -191591,8 +191592,7 @@ "httpStatusCode": "409", "description": "

Conflict when visibility type not set to selected

" } - ], - "descriptionHTML": "

Removes a repository from an organization secret when the visibility\nfor repository access is set to selected. The visibility is set when you Create\nor update an organization secret.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -192127,13 +192127,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a secret in a repository using the secret name.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a secret in a repository using the secret name.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" } ] }, @@ -193208,13 +193208,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -193500,7 +193500,6 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", @@ -193510,7 +193509,8 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -193578,13 +193578,13 @@ } ], "previews": [], + "descriptionHTML": "

Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead.

" + ] } ] }, @@ -205166,13 +205166,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -208617,13 +208617,13 @@ } ], "previews": [], + "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "" + ] } ], "manage-ghes": [ @@ -209817,7 +209817,6 @@ } ], "previews": [], - "descriptionHTML": "

Check the status of the license that is currently set for the enterprise.

", "statusCodes": [ { "httpStatusCode": "200", @@ -209831,7 +209830,8 @@ "httpStatusCode": "500", "description": "

Internal error

" } - ] + ], + "descriptionHTML": "

Check the status of the license that is currently set for the enterprise.

" }, { "serverUrl": "http(s)://HOSTNAME", @@ -211200,6 +211200,7 @@ } ], "previews": [], + "descriptionHTML": "

Gets the GitHub Enterprise Server release versions that are currently installed on all available nodes. For more information, see \"GitHub Enterprise Server releases.\"

", "statusCodes": [ { "httpStatusCode": "200", @@ -211213,8 +211214,7 @@ "httpStatusCode": "500", "description": "

Internal error

" } - ], - "descriptionHTML": "

Gets the GitHub Enterprise Server release versions that are currently installed on all available nodes. For more information, see \"GitHub Enterprise Server releases.\"

" + ] } ], "org-pre-receive-hooks": [ @@ -211436,13 +211436,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -211638,13 +211638,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes any overrides for this hook at the org level for this org.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Removes any overrides for this hook at the org level for this org.

" } ], "orgs": [ @@ -211896,13 +211896,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "202", "description": "

Accepted

" } - ] + ], + "descriptionHTML": "" } ], "pre-receive-environments": [ @@ -212074,13 +212074,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -212681,13 +212681,13 @@ } ], "previews": [], - "descriptionHTML": "

In addition to seeing the download status at the \"Get a pre-receive environment\" endpoint, there is also this separate endpoint for just the download status.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

In addition to seeing the download status at the \"Get a pre-receive environment\" endpoint, there is also this separate endpoint for just the download status.

" } ], "pre-receive-hooks": [ @@ -213893,13 +213893,13 @@ } ], "previews": [], - "descriptionHTML": "

For pre-receive hooks which are allowed to be configured at the repo level, you can set enforcement

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

For pre-receive hooks which are allowed to be configured at the repo level, you can set enforcement

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -269696,13 +269696,13 @@ } ], "previews": [], - "descriptionHTML": "

Removes one or more assignees from an issue.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Removes one or more assignees from an issue.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -295204,6 +295204,7 @@ } ], "previews": [], + "descriptionHTML": "

Lists all events for an issue.

", "statusCodes": [ { "httpStatusCode": "200", @@ -295213,8 +295214,7 @@ "httpStatusCode": "410", "description": "

Gone

" } - ], - "descriptionHTML": "

Lists all events for an issue.

" + ] } ], "labels": [ @@ -297054,13 +297054,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists labels for issues in a milestone.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists labels for issues in a milestone.

" } ], "milestones": [ @@ -298911,13 +298911,13 @@ } ], "previews": [], - "descriptionHTML": "", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -317421,13 +317421,13 @@ } ], "previews": [], + "descriptionHTML": "

Get the octocat as ASCII art

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Get the octocat as ASCII art

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -342756,13 +342756,13 @@ } ], "previews": [], - "descriptionHTML": "

List the custom repository roles available in this organization. For more information on custom repository roles, see \"About custom repository roles.\"

\n

The authenticated user must be an administrator of the organization or of a repository of the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

Response - list of custom role names

" } - ] + ], + "descriptionHTML": "

List the custom repository roles available in this organization. For more information on custom repository roles, see \"About custom repository roles.\"

\n

The authenticated user must be an administrator of the organization or of a repository of the organization to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need the admin:org or repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -344319,6 +344319,7 @@ } ], "previews": [], + "descriptionHTML": "

Check if a user is, publicly or privately, a member of the organization.

", "statusCodes": [ { "httpStatusCode": "204", @@ -344332,8 +344333,7 @@ "httpStatusCode": "404", "description": "

Not Found if requester is an organization member and user is not a member

" } - ], - "descriptionHTML": "

Check if a user is, publicly or privately, a member of the organization.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -349017,6 +349017,7 @@ } ], "previews": [], + "descriptionHTML": "

Gets an organization role that is available to this organization. For more information on organization roles, see \"Using organization roles.\"

\n

To use this endpoint, the authenticated user must be one of:

\n
    \n
  • An administrator for the organization.
  • \n
  • A user, or a user on a team, with the fine-grained permissions of read_organization_custom_org_role in the organization.
  • \n
\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -349030,8 +349031,7 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ], - "descriptionHTML": "

Gets an organization role that is available to this organization. For more information on organization roles, see \"Using organization roles.\"

\n

To use this endpoint, the authenticated user must be one of:

\n
    \n
  • An administrator for the organization.
  • \n
  • A user, or a user on a team, with the fine-grained permissions of read_organization_custom_org_role in the organization.
  • \n
\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -349481,13 +349481,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a custom organization role. For more information on custom organization roles, see \"Managing people's access to your organization with roles.\"

\n

To use this endpoint, the authenticated user must be one of:

\n
    \n
  • An administrator for the organization.
  • \n
  • A user, or a user on a team, with the fine-grained permissions of write_organization_custom_org_role in the organization.
  • \n
\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a custom organization role. For more information on custom organization roles, see \"Managing people's access to your organization with roles.\"

\n

To use this endpoint, the authenticated user must be one of:

\n
    \n
  • An administrator for the organization.
  • \n
  • A user, or a user on a team, with the fine-grained permissions of write_organization_custom_org_role in the organization.
  • \n
\n

OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -350509,13 +350509,13 @@ } ], "previews": [], - "descriptionHTML": "

List all users who are outside collaborators of an organization.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

List all users who are outside collaborators of an organization.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -355902,6 +355902,7 @@ } ], "previews": [], + "descriptionHTML": "

Get all the repository rulesets for an organization.

", "statusCodes": [ { "httpStatusCode": "200", @@ -355915,8 +355916,7 @@ "httpStatusCode": "500", "description": "

Internal Error

" } - ], - "descriptionHTML": "

Get all the repository rulesets for an organization.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -363114,13 +363114,13 @@ } ], "previews": [], + "descriptionHTML": "

Returns the webhook configuration for an organization. To get more information about the webhook, including the active state and events, use \"Get an organization webhook .\"

\n

You must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need admin:org_hook scope. OAuth apps cannot list, view, or edit\nwebhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Returns the webhook configuration for an organization. To get more information about the webhook, including the active state and events, use \"Get an organization webhook .\"

\n

You must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need admin:org_hook scope. OAuth apps cannot list, view, or edit\nwebhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -363960,6 +363960,7 @@ } ], "previews": [], + "descriptionHTML": "

This will trigger a ping event\nto be sent to the hook.

\n

You must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need admin:org_hook scope. OAuth apps cannot list, view, or edit\nwebhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.

", "statusCodes": [ { "httpStatusCode": "204", @@ -363969,8 +363970,7 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ], - "descriptionHTML": "

This will trigger a ping event\nto be sent to the hook.

\n

You must be an organization owner to use this endpoint.

\n

OAuth app tokens and personal access tokens (classic) need admin:org_hook scope. OAuth apps cannot list, view, or edit\nwebhooks that they did not create and users cannot list, view, or edit webhooks that were created by OAuth apps.

" + ] } ] }, @@ -368368,13 +368368,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets a specific package version in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets a specific package version in an organization.

\n

OAuth app tokens and personal access tokens (classic) need the read:packages scope to use this endpoint. For more information, see \"About permissions for GitHub Packages.\"

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -379365,13 +379365,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets information about the single most recent build of a GitHub Enterprise Server Pages site.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets information about the single most recent build of a GitHub Enterprise Server Pages site.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -379699,13 +379699,13 @@ } ], "previews": [], - "descriptionHTML": "

Gets information about a GitHub Enterprise Server Pages build.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Gets information about a GitHub Enterprise Server Pages build.

\n

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -407391,13 +407391,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists a maximum of 250 commits for a pull request. To receive a complete\ncommit list for pull requests with more than 250 commits, use the List commits\nendpoint.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n
    \n
  • application/vnd.github.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.
  • \n
  • application/vnd.github.text+json: Returns a text only representation of the markdown body. Response will include body_text.
  • \n
  • application/vnd.github.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.
  • \n
  • application/vnd.github.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists a maximum of 250 commits for a pull request. To receive a complete\ncommit list for pull requests with more than 250 commits, use the List commits\nendpoint.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n
    \n
  • application/vnd.github.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.
  • \n
  • application/vnd.github.text+json: Returns a text only representation of the markdown body. Response will include body_text.
  • \n
  • application/vnd.github.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.
  • \n
  • application/vnd.github.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.
  • \n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -422165,7 +422165,6 @@ } ], "previews": [], - "descriptionHTML": "

Removes review requests from a pull request for a given set of users and/or teams.

", "statusCodes": [ { "httpStatusCode": "200", @@ -422175,7 +422174,8 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ] + ], + "descriptionHTML": "

Removes review requests from a pull request for a given set of users and/or teams.

" } ], "reviews": [ @@ -422613,13 +422613,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists all reviews for a specified pull request. The list of reviews returns in chronological order.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n
    \n
  • application/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.
  • \n
  • application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.
  • \n
  • application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.
  • \n
  • application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

The list of reviews returns in chronological order.

" } - ] + ], + "descriptionHTML": "

Lists all reviews for a specified pull request. The list of reviews returns in chronological order.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n
    \n
  • application/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.
  • \n
  • application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.
  • \n
  • application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.
  • \n
  • application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.
  • \n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -423994,7 +423994,6 @@ } ], "previews": [], - "descriptionHTML": "

Updates the contents of a specified review summary comment.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n
    \n
  • application/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.
  • \n
  • application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.
  • \n
  • application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.
  • \n
  • application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", @@ -424004,7 +424003,8 @@ "httpStatusCode": "422", "description": "

Validation failed, or the endpoint has been spammed.

" } - ] + ], + "descriptionHTML": "

Updates the contents of a specified review summary comment.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n
    \n
  • application/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.
  • \n
  • application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.
  • \n
  • application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.
  • \n
  • application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.
  • \n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -425090,7 +425090,6 @@ } ], "previews": [], - "descriptionHTML": "

Lists comments for a specific pull request review.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n
    \n
  • application/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.
  • \n
  • application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.
  • \n
  • application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.
  • \n
  • application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.
  • \n
", "statusCodes": [ { "httpStatusCode": "200", @@ -425100,7 +425099,8 @@ "httpStatusCode": "404", "description": "

Resource not found

" } - ] + ], + "descriptionHTML": "

Lists comments for a specific pull request review.

\n

This endpoint supports the following custom media types. For more information, see \"Media types.\"

\n
    \n
  • application/vnd.github-commitcomment.raw+json: Returns the raw markdown body. Response will include body. This is the default if you do not pass any specific media type.
  • \n
  • application/vnd.github-commitcomment.text+json: Returns a text only representation of the markdown body. Response will include body_text.
  • \n
  • application/vnd.github-commitcomment.html+json: Returns HTML rendered from the body's markdown. Response will include body_html.
  • \n
  • application/vnd.github-commitcomment.full+json: Returns raw, text, and HTML representations. Response will include body, body_text, and body_html.
  • \n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -427465,7 +427465,6 @@ } ], "previews": [], - "descriptionHTML": "

Create a reaction to a team discussion comment.

\n

A response with an HTTP 200 status means that you already added the reaction type to this team discussion comment.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -427475,7 +427474,8 @@ "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

Create a reaction to a team discussion comment.

\n

A response with an HTTP 200 status means that you already added the reaction type to this team discussion comment.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -428639,13 +428639,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nYou can also specify a team or organization with team_id and org_id using the route DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id.

\n
\n

Delete a reaction to a team discussion.

\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Note

\n

\nYou can also specify a team or organization with team_id and org_id using the route DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id.

\n
\n

Delete a reaction to a team discussion.

\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -430815,13 +430815,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id.

\n
\n

Delete a reaction to an issue comment.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id.

\n
\n

Delete a reaction to an issue comment.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -431904,13 +431904,13 @@ } ], "previews": [], - "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id.

\n
\n

Delete a reaction to an issue.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Note

\n

\nYou can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id.

\n
\n

Delete a reaction to an issue.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -458675,13 +458675,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -494670,13 +494670,13 @@ } ], "previews": [], + "descriptionHTML": "

Updates the webhook configuration for a repository. To update more information about the webhook, including the active state and events, use \"Update a repository webhook.\"

\n

OAuth app tokens and personal access tokens (classic) need the write:repo_hook or repo scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Updates the webhook configuration for a repository. To update more information about the webhook, including the active state and events, use \"Update a repository webhook.\"

\n

OAuth app tokens and personal access tokens (classic) need the write:repo_hook or repo scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -513639,13 +513639,13 @@ } ], "previews": [], + "descriptionHTML": "

To delete a team, the authenticated user must be an organization owner or team maintainer.

\n

If you are an organization owner, deleting a parent team will delete all of its child teams as well.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}.

\n
", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ], - "descriptionHTML": "

To delete a team, the authenticated user must be an organization owner or team maintainer.

\n

If you are an organization owner, deleting a parent team will delete all of its child teams as well.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route DELETE /organizations/{org_id}/team/{team_id}.

\n
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -514025,13 +514025,13 @@ } ], "previews": [], + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -514572,13 +514572,13 @@ } ], "previews": [], - "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Warning

\n

\nClosing down notice: Projects (classic) is being deprecated in favor of the new Projects experience.\nSee the changelog for more information.

\n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -517225,13 +517225,13 @@ } ], "previews": [], - "descriptionHTML": "

Lists the child teams of the team specified by {team_slug}.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/teams.

\n
", "statusCodes": [ { "httpStatusCode": "200", "description": "

if child teams exist

" } - ] + ], + "descriptionHTML": "

Lists the child teams of the team specified by {team_slug}.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/teams.

\n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -525232,13 +525232,13 @@ } ], "previews": [], + "descriptionHTML": "

Get a specific comment on a team discussion.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Get a specific comment on a team discussion.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -525694,13 +525694,13 @@ } ], "previews": [], + "descriptionHTML": "

Edits the body text of a discussion comment.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Edits the body text of a discussion comment.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -528175,13 +528175,13 @@ } ], "previews": [], - "descriptionHTML": "

List all discussions on a team's page.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/discussions.

\n
\n

OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

List all discussions on a team's page.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/discussions.

\n
\n

OAuth app tokens and personal access tokens (classic) need the read:discussion scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -528676,13 +528676,13 @@ } ], "previews": [], - "descriptionHTML": "

Creates a new discussion post on a team's page.

\n

This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route POST /organizations/{org_id}/team/{team_id}/discussions.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", "description": "

Created

" } - ] + ], + "descriptionHTML": "

Creates a new discussion post on a team's page.

\n

This endpoint triggers notifications. Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see \"Rate limits for the API\" and \"Best practices for using the REST API.\"

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route POST /organizations/{org_id}/team/{team_id}/discussions.

\n
\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -531692,13 +531692,13 @@ } ], "previews": [], - "descriptionHTML": "

Warning

\n

\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Update a discussion endpoint.

\n
\n

Edits the title and body text of a discussion post. Only the parameters you provide are updated.

\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Warning

\n

\nEndpoint closing down notice: This endpoint route is closing down and will be removed from the Teams API. We recommend migrating your existing code to use the new Update a discussion endpoint.

\n
\n

Edits the title and body text of a discussion post. Only the parameters you provide are updated.

\n

OAuth app tokens and personal access tokens (classic) need the write:discussion scope to use this endpoint.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -532279,13 +532279,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists a connection between a team and an external group.

\n

You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists a connection between a team and an external group.

\n

You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -532513,13 +532513,13 @@ } ], "previews": [], - "descriptionHTML": "

Creates a connection between a team and an external group. Only one external group can be linked to a team.

\n

You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Creates a connection between a team and an external group. Only one external group can be linked to a team.

\n

You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see \"GitHub's products\" in the GitHub Help documentation.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -532577,13 +532577,13 @@ } ], "previews": [], - "descriptionHTML": "

Deletes a connection between a team and an external group.

\n

You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see GitHub's products in the GitHub Help documentation.

", "statusCodes": [ { "httpStatusCode": "204", "description": "

No Content

" } - ] + ], + "descriptionHTML": "

Deletes a connection between a team and an external group.

\n

You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see GitHub's products in the GitHub Help documentation.

" } ], "members": [ @@ -532870,13 +532870,13 @@ } ], "previews": [], - "descriptionHTML": "

Team members will include the members of child teams.

\n

To list members in a team, the team must be visible to the authenticated user.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ] + ], + "descriptionHTML": "

Team members will include the members of child teams.

\n

To list members in a team, the team must be visible to the authenticated user.

" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -532986,6 +532986,7 @@ } ], "previews": [], + "descriptionHTML": "

Team members will include the members of child teams.

\n

To get a user's membership with a team, the team must be visible to the authenticated user.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/memberships/{username}.

\n
\n

Note

\n

\nThe response contains the state of the membership and the member's role.

\n
\n

The role for organization owners is set to maintainer. For more information about maintainer roles, see Create a team.

", "statusCodes": [ { "httpStatusCode": "200", @@ -532995,8 +532996,7 @@ "httpStatusCode": "404", "description": "

if user has no team membership

" } - ], - "descriptionHTML": "

Team members will include the members of child teams.

\n

To get a user's membership with a team, the team must be visible to the authenticated user.

\n

Note

\n

\nYou can also specify a team by org_id and team_id using the route GET /organizations/{org_id}/team/{team_id}/memberships/{username}.

\n
\n

Note

\n

\nThe response contains the state of the membership and the member's role.

\n
\n

The role for organization owners is set to maintainer. For more information about maintainer roles, see Create a team.

" + ] }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -543057,13 +543057,13 @@ } ], "previews": [], + "descriptionHTML": "

Lists social media accounts for a user. This endpoint is accessible by anyone.

", "statusCodes": [ { "httpStatusCode": "200", "description": "

OK

" } - ], - "descriptionHTML": "

Lists social media accounts for a user. This endpoint is accessible by anyone.

" + ] } ], "ssh-signing-keys": [