Skip to content

Repo sync #39814

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Aug 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/workflows/changelog-prompt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Changelog prompt when a PR is closed

on:
pull_request:
types: [closed]

permissions:
contents: read
pull-requests: write

jobs:
comment-on-pr:
# This workflow should only run on the 'github/docs-internal' repository because it posts changelog instructions
# and links that are specific to the internal documentation process and resources.
# It also only runs if PR is merged into the main branch.
if: github.repository == 'github/docs-internal' && github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main'

runs-on: ubuntu-latest

steps:
- name: Check if PR author is in docs-content team
id: check_team
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
script: |
try {
const pr = context.payload.pull_request;
await github.rest.teams.getMembershipForUserInOrg({
org: 'github',
team_slug: 'docs-content',
username: pr.user.login,
});
core.exportVariable('CONTINUE_WORKFLOW', 'true');
} catch(err) {
core.info("Workflow triggered by a merged PR, but the PR author is not a member of the docs-content team.");
core.exportVariable('CONTINUE_WORKFLOW', 'false');
}

- name: Post changelog instructions comment

if: env.CONTINUE_WORKFLOW == 'true'

uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
script: |
// Get PR author username
const pr = context.payload.pull_request;
const prAuthor = pr.user.login;

// Compose the comment body with readable YAML and correct formatting
const commentBody =
"👋 @" + prAuthor +
" - Did this PR add noteworthy changes to the GitHub docs? If so, you might want to publicize this by adding an entry to " +
"the [Docs changelog](https://github.com/github/docs-internal/blob/main/CHANGELOG.md).\n\n" +
"To do this, type `/changelog` in a new comment on this PR and complete the fields.\n\n" +
"A message will be posted to the **#docs-changelog** channel and a PR will be raised to update the [CHANGELOG.md](/CHANGELOG.md) file.";

// Post the comment
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr.number,
body: commentBody
});
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Docs changelog

**12 August 2025**

We have added a tutorial for using Copilot to create Mermaid diagrams at [Creating Diagrams](https://docs.github.com/en/copilot/tutorials/copilot-chat-cookbook/communicate-effectively/creating-diagrams).

<hr>

**4 August 2025**

To address common pain points that developers face when remediating a leaked secret, we created a new article, "[Remediating a leaked secret](https://docs.github.com/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/remediating-a-leaked-secret)".
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Billing for GitHub Enterprise
intro: 'You can view billing information for your enterprise account on {% data variables.product.prodname_dotcom_the_website %}.'
intro: 'Learn how your bill is calculated based on how many {% data variables.product.prodname_enterprise %} licenses you use.'
redirect_from:
- /admin/overview/managing-billing-for-your-enterprise
- /enterprise/admin/installation/managing-billing-for-github-enterprise
Expand Down Expand Up @@ -36,10 +36,24 @@ If you have an enterprise account on {% data variables.product.prodname_ghe_clou
> {% data reusables.billing.ghes-with-no-enterprise-account %}
> {% endif %}

To learn which people consume a license in your enterprise, see [AUTOTITLE](/billing/reference/license-consumption).

## Invoiced customers

For invoiced customers, each invoice includes a single bill that covers the cost of {% data variables.product.prodname_enterprise %} licenses used, as well as your use of paid services. For example, in addition to your usage for {% data variables.product.prodname_enterprise %}, you may also use {% data variables.product.prodname_GH_secret_protection %}.

## Billing models for {% data variables.product.prodname_enterprise %} licenses

There are two billing models for {% data variables.product.prodname_enterprise %} licenses: **usage-based** and **volume**.

{% data reusables.billing.do-i-have-usage-based %}

## License usage across deployments

{% data reusables.enterprise-licensing.unique-user-licensing-model %}

To ensure the same user isn't consuming more than one license for multiple enterprise deployments, you synchronize license usage between your {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %} environments. See [AUTOTITLE](/billing/managing-your-license-for-github-enterprise/about-licenses-for-github-enterprise).

## Further reading

* [AUTOTITLE](/admin/overview/about-enterprise-accounts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ For more information about the setup of {% data variables.visual_studio.prodname

After you assign a license for {% data variables.visual_studio.prodname_vss_ghec %} to a subscriber, the subscriber will use the {% data variables.product.prodname_enterprise %} portion of the license by joining an organization in your enterprise with a personal account on {% data variables.product.prodname_dotcom %}. If the verified email address for the personal account of an enterprise member on {% data variables.product.prodname_dotcom %} matches the User Principal Name (UPN) for a subscriber to your {% data variables.product.prodname_vs %} account, the {% data variables.product.prodname_vs %} subscriber will automatically consume one license for {% data variables.visual_studio.prodname_vss_ghec %}.

> [!NOTE] For {% data variables.product.prodname_emu %} only, to make sure a user account consumes a {% data variables.product.prodname_vs %} license, ensure the {% data variables.product.prodname_vs %} UPN matches the SCIM `userName` attribute or the email address from the linked identity on the {% data variables.product.prodname_dotcom %} account.
> [!NOTE] For {% data variables.product.prodname_emus %} only, to make sure a user account consumes a {% data variables.product.prodname_vs %} license, ensure the {% data variables.product.prodname_vs %} UPN matches the SCIM `userName` attribute or the email address from the linked identity on the {% data variables.product.prodname_dotcom %} account. Unaffiliated users are included in the automatic matching behavior and can consume a license for {% data variables.visual_studio.prodname_vss_ghec %} while remaining unaffiliated.

The total quantity of your licenses for your enterprise on {% data variables.product.prodname_dotcom %} is the sum of any standard {% data variables.product.prodname_enterprise %} licenses and the number of {% data variables.product.prodname_vs %} subscription licenses that include access to {% data variables.product.prodname_dotcom %}.

Expand Down
20 changes: 16 additions & 4 deletions content/billing/concepts/impact-of-plan-changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,37 @@ topics:
shortTitle: Impact of plan changes
contentType: concepts
---

## Upgrades and downgrades

When you upgrade the subscription for your personal account or organization, changes are applied immediately. When you downgrade your subscription, changes are applied at the end of your current billing cycle.

{% data reusables.accounts.accounts-billed-separately %}

Making a change to your paid personal account, organization, or enterprise account does not affect billing for use of {% data variables.product.github %} features, such as {% data variables.product.prodname_copilot_short %} or paid apps purchased in {% data variables.product.prodname_marketplace %}.

For more information, see [AUTOTITLE](/get-started/learning-about-github/githubs-plans) and [AUTOTITLE](/billing/using-the-billing-platform/about-billing-on-github).

## Example of canceling a paid subscription for a personal account or organization
## Examples of plan changes

* [Example of canceling a paid subscription for a personal account or organization](#example-of-canceling-a-paid-subscription-for-a-personal-account-or-organization)
* [Example of changing from a yearly to a monthly subscription for a personal account or organization](#example-of-changing-from-a-yearly-to-a-monthly-subscription-for-a-personal-account-or-organization)
* [Example of adding paid seats to your organization](#example-of-adding-paid-seats-to-your-organization)
* [Example of removing paid seats from your organization](#example-of-removing-paid-seats-from-your-organization)

### Example of canceling a paid subscription for a personal account or organization

Kumiko pays for a monthly subscription on the 5th of every month. If Kumiko downgrades from the paid subscription to {% data variables.product.prodname_free_user %} on October 10th, her paid subscription will remain in effect until the end of her current billing cycle on November 4th. On November 5th, her account will move to {% data variables.product.prodname_free_user %}.

## Example of changing from a yearly to a monthly subscription for a personal account or organization
### Example of changing from a yearly to a monthly subscription for a personal account or organization

Ravi pays for a yearly subscription on October 5th every year. If Ravi switches from a yearly to monthly billing on December 10th, his account remains on the yearly subscription until the end of its current billing cycle on October 4th the next year. On October 5th of the next year, Ravi will be charged for a month of service. His next billing date will be November 5th.

## Example of adding paid seats to your organization
### Example of adding paid seats to your organization

Mada's organization pays for 25 seats on the 15th of every month. If Mada adds ten paid seats on June 4th, her organization is immediately charged a prorated amount for ten additional seats for the time between June 4th and June 14th, and the seats are available to use immediately. On June 15th, Mada's organization will pay for 35 seats.

## Example of removing paid seats from your organization
### Example of removing paid seats from your organization

Stefan's organization pays for 50 seats every year on May 20th. If Stefan removes 20 seats and downgrades to a new total of 30 paid seats on September 30, his organization can still access its 50 paid seats until the end of its current billing cycle on May 19th. On May 20th, the downgrade will take effect - Stefan's organization will pay for 30 seats and will have access to 30 paid seats.

Expand Down
2 changes: 1 addition & 1 deletion content/billing/concepts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ topics:
- Billing
children:
- /billing-cycles
- /license-consumption
- /azure-subscriptions
- /impact-of-plan-changes
- /discounted-plans
Expand All @@ -19,3 +18,4 @@ children:
- /third-party-payments
contentType: concepts
---

Loading
Loading