diff --git a/content/billing/concepts/budgets-and-alerts.md b/content/billing/concepts/budgets-and-alerts.md
index b17cce752007..5664eae946e7 100644
--- a/content/billing/concepts/budgets-and-alerts.md
+++ b/content/billing/concepts/budgets-and-alerts.md
@@ -30,6 +30,10 @@ Each budget has a type and a scope that define which paid use contributes to spe
* **Type**: Defines which metered product or SKU is measured.
* **Scope**: Defines whether the budget applies to the whole account, or to a subset of repositories, organizations, or cost centers (enterprise only).
+## Budget alerts
+
+You can enable alerts for budgets to receive emails when usage reaches 75%, 90%, and 100% of the budget amount. Emails are sent to account owners and billing managers by default. Additional recipients can be added as needed.
+
## Your first billing cycle after creating a budget
When you first create a budget, be aware that the budget applies only to metered usage from the date of its creation onwards. Any use made before you created the budget is not included in the calculations. This means that you may exceed your budget in the first billing cycle after you create your budget, even if you select the option stop usage when the limit is reached.
diff --git a/content/copilot/concepts/agents/coding-agent/mcp-and-coding-agent.md b/content/copilot/concepts/agents/coding-agent/mcp-and-coding-agent.md
index 823c65a18ede..6f6ee7ad52d3 100644
--- a/content/copilot/concepts/agents/coding-agent/mcp-and-coding-agent.md
+++ b/content/copilot/concepts/agents/coding-agent/mcp-and-coding-agent.md
@@ -20,9 +20,7 @@ The agent can use tools provided by local and remote MCP servers. Some MCP serve
For more information on MCP, see [the official MCP documentation](https://modelcontextprotocol.io/introduction). For information on some of the currently available MCP servers, see [the MCP servers repository](https://github.com/modelcontextprotocol/servers/tree/main).
-> [!NOTE]
-> * {% data variables.copilot.copilot_coding_agent %} only supports tools provided by MCP servers. It does not support resources or prompts.
-> * {% data variables.copilot.copilot_coding_agent %} does not currently support remote MCP servers that leverage OAuth for authentication and authorization.
+{% data reusables.copilot.mcp.coding-agent-limitations %}
## Default MCP servers
diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp.md
index 4b4672d9ec1a..5c932ed5983a 100644
--- a/content/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp.md
+++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp.md
@@ -29,6 +29,8 @@ As a repository administrator, you can configure MCP servers for use within your
> [!WARNING]
> Once you've configured an MCP server, {% data variables.product.prodname_copilot_short %} will be able to use the tools provided by the server autonomously, and will not ask for your approval before using them.
+{% data reusables.copilot.mcp.coding-agent-limitations %}
+
## Adding an MCP configuration to your repository
Repository administrators can configure MCP servers by following these steps:
diff --git a/data/reusables/copilot/mcp/coding-agent-limitations.md b/data/reusables/copilot/mcp/coding-agent-limitations.md
new file mode 100644
index 000000000000..92b8cf568f14
--- /dev/null
+++ b/data/reusables/copilot/mcp/coding-agent-limitations.md
@@ -0,0 +1,3 @@
+> [!NOTE]
+> * {% data variables.copilot.copilot_coding_agent %} only supports tools provided by MCP servers. It does not support resources or prompts.
+> * {% data variables.copilot.copilot_coding_agent %} does not currently support remote MCP servers that leverage OAuth for authentication and authorization.
diff --git a/data/reusables/repositories/multiple-lines-comment.md b/data/reusables/repositories/multiple-lines-comment.md
index 96c50cc0a99e..e05861e6541f 100644
--- a/data/reusables/repositories/multiple-lines-comment.md
+++ b/data/reusables/repositories/multiple-lines-comment.md
@@ -1 +1 @@
-1. Optionally, you can add a comment on multiple lines. You can click the line number of the first line you want to comment on and drag down to select a range of lines, then click the blue comment icon on the last line you want to comment on. Alternatively, you can click the blue comment icon next to the first line you want to comment on, then drag down to the last line you want to comment on.
+1. Optionally, you can add a comment on multiple lines. To select a range of lines, click the line number of the first line you want to comment on, then either drag down to the final line, or hold down Shift and click on the last line number. You can then click the blue comment icon on the last line you want to comment on. Alternatively, you can click the blue comment icon next to the first line you want to comment on, then drag down to the last line you want to comment on.
diff --git a/data/reusables/webhooks/pull_request_review_thread_short_desc.md b/data/reusables/webhooks/pull_request_review_thread_short_desc.md
deleted file mode 100644
index d0496c2448db..000000000000
--- a/data/reusables/webhooks/pull_request_review_thread_short_desc.md
+++ /dev/null
@@ -1 +0,0 @@
-Activity related to a comment thread on a pull request being marked as resolved or unresolved. {% data reusables.webhooks.action_type_desc %}
diff --git a/data/reusables/webhooks/pull_request_thread_properties.md b/data/reusables/webhooks/pull_request_thread_properties.md
deleted file mode 100644
index b21679ac0ae5..000000000000
--- a/data/reusables/webhooks/pull_request_thread_properties.md
+++ /dev/null
@@ -1,5 +0,0 @@
-Key | Type | Description
-----|------|------------
-`action` | `string` | The action that was performed. Can be one of:
- `resolved` - A comment thread on a pull request was marked as resolved.
- `unresolved` - A previously resolved comment thread on a pull request was marked as unresolved.
-`pull_request` | `object` | The [pull request](/rest/pulls) the thread pertains to.
-`thread` | `object` | The thread that was affected.
diff --git a/data/reusables/webhooks/sponsorship_event_api_properties.md b/data/reusables/webhooks/sponsorship_event_api_properties.md
deleted file mode 100644
index 838e6444c894..000000000000
--- a/data/reusables/webhooks/sponsorship_event_api_properties.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Key | Type | Description
-----|------|-------------
-`action` |`string` | The action that was performed. This can be `created`.
diff --git a/data/reusables/webhooks/sponsorship_properties.md b/data/reusables/webhooks/sponsorship_properties.md
deleted file mode 100644
index 6bc828cf73be..000000000000
--- a/data/reusables/webhooks/sponsorship_properties.md
+++ /dev/null
@@ -1,3 +0,0 @@
-`effective_date` | `string` | The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect.
-`changes[tier][from]` | `object` | The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the [pending tier change payload](/webhooks-and-events/webhooks/webhook-events-and-payloads#webhook-payload-example-when-someone-downgrades-a-sponsorship).
-`changes[privacy_level][from]` | `string` | The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy.
diff --git a/data/reusables/webhooks/sponsorship_short_desc.md b/data/reusables/webhooks/sponsorship_short_desc.md
deleted file mode 100644
index d8c74695df85..000000000000
--- a/data/reusables/webhooks/sponsorship_short_desc.md
+++ /dev/null
@@ -1 +0,0 @@
-Activity related to a sponsorship listing. {% data reusables.webhooks.action_type_desc %} For more information, see [AUTOTITLE](/sponsors/getting-started-with-github-sponsors/about-github-sponsors).
diff --git a/src/ai-tools/scripts/ai-tools.ts b/src/ai-tools/scripts/ai-tools.ts
index 0237c017b2c7..cdef22699709 100644
--- a/src/ai-tools/scripts/ai-tools.ts
+++ b/src/ai-tools/scripts/ai-tools.ts
@@ -4,6 +4,7 @@ import fs from 'fs'
import yaml from 'js-yaml'
import path from 'path'
import ora from 'ora'
+import { execSync } from 'child_process'
import { callModelsApi } from '@/ai-tools/lib/call-models-api'
import dotenv from 'dotenv'
dotenv.config({ quiet: true })
@@ -13,7 +14,18 @@ const promptDir = path.join(__dirname, '../prompts')
const promptTemplatePath = path.join(promptDir, 'prompt-template.yml')
if (!process.env.GITHUB_TOKEN) {
- throw new Error('Error! You must have a GITHUB_TOKEN set in an .env file to run this script.')
+ // Try to find a token via the CLI before throwing an error
+ const token = execSync('gh auth token').toString()
+ if (token.startsWith('gh')) {
+ process.env.GITHUB_TOKEN = token
+ } else {
+ console.warn(`🔑 A token is needed to run this script. Please do one of the following and try again:
+
+1. Add a GITHUB_TOKEN to a local .env file.
+2. Install https://cli.github.com and authenticate via 'gh auth login'.
+ `)
+ process.exit(1)
+ }
}
interface EditorType {
diff --git a/src/audit-logs/data/fpt/organization.json b/src/audit-logs/data/fpt/organization.json
index f6291411b2e5..43cec6bd52b2 100644
--- a/src/audit-logs/data/fpt/organization.json
+++ b/src/audit-logs/data/fpt/organization.json
@@ -299,7 +299,9 @@
"old_target_amount",
"old_budget_limit_type",
"old_alert_enabled",
- "old_target_id"
+ "old_target_id",
+ "old_pricing_target_type",
+ "old_pricing_target_id"
]
},
{
@@ -7883,6 +7885,29 @@
],
"docs_reference_titles": "Self-hosted runners"
},
+ {
+ "action": "org.set_actions_cache_retention_policy",
+ "description": "The cache retention policy for GitHub Actions was set for an organization.",
+ "docs_reference_links": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization",
+ "fields": [
+ "actor",
+ "actor_id",
+ "user_agent",
+ "request_id",
+ "request_access_security_header",
+ "org",
+ "org_id",
+ "business",
+ "business_id",
+ "action",
+ "_document_id",
+ "@timestamp",
+ "created_at",
+ "operation_type",
+ "actor_is_bot"
+ ],
+ "docs_reference_titles": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization"
+ },
{
"action": "org.set_actions_cache_storage_policy",
"description": "The cache storage policy for GitHub Actions was set for an organization.",
diff --git a/src/audit-logs/data/fpt/user.json b/src/audit-logs/data/fpt/user.json
index 6eb2833c6b8a..9b2bc9848439 100644
--- a/src/audit-logs/data/fpt/user.json
+++ b/src/audit-logs/data/fpt/user.json
@@ -222,7 +222,9 @@
"old_target_amount",
"old_budget_limit_type",
"old_alert_enabled",
- "old_target_id"
+ "old_target_id",
+ "old_pricing_target_type",
+ "old_pricing_target_id"
]
},
{
@@ -3652,6 +3654,29 @@
"request_access_security_header"
]
},
+ {
+ "action": "org.set_actions_cache_retention_policy",
+ "description": "The cache retention policy for GitHub Actions was set for an organization.",
+ "docs_reference_links": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization",
+ "fields": [
+ "actor",
+ "actor_id",
+ "user_agent",
+ "request_id",
+ "request_access_security_header",
+ "org",
+ "org_id",
+ "business",
+ "business_id",
+ "action",
+ "_document_id",
+ "@timestamp",
+ "created_at",
+ "operation_type",
+ "actor_is_bot"
+ ],
+ "docs_reference_titles": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization"
+ },
{
"action": "org.set_actions_cache_storage_policy",
"description": "The cache storage policy for GitHub Actions was set for an organization.",
diff --git a/src/audit-logs/data/ghec/enterprise.json b/src/audit-logs/data/ghec/enterprise.json
index 2413bf0a10dc..ab4a3e14a55e 100644
--- a/src/audit-logs/data/ghec/enterprise.json
+++ b/src/audit-logs/data/ghec/enterprise.json
@@ -431,7 +431,9 @@
"old_target_amount",
"old_budget_limit_type",
"old_alert_enabled",
- "old_target_id"
+ "old_target_id",
+ "old_pricing_target_type",
+ "old_pricing_target_id"
]
},
{
@@ -11149,6 +11151,29 @@
],
"docs_reference_titles": "Self-hosted runners"
},
+ {
+ "action": "org.set_actions_cache_retention_policy",
+ "description": "The cache retention policy for GitHub Actions was set for an organization.",
+ "docs_reference_links": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization",
+ "fields": [
+ "actor",
+ "actor_id",
+ "user_agent",
+ "request_id",
+ "request_access_security_header",
+ "org",
+ "org_id",
+ "business",
+ "business_id",
+ "action",
+ "_document_id",
+ "@timestamp",
+ "created_at",
+ "operation_type",
+ "actor_is_bot"
+ ],
+ "docs_reference_titles": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization"
+ },
{
"action": "org.set_actions_cache_storage_policy",
"description": "The cache storage policy for GitHub Actions was set for an organization.",
diff --git a/src/audit-logs/data/ghec/organization.json b/src/audit-logs/data/ghec/organization.json
index f6291411b2e5..43cec6bd52b2 100644
--- a/src/audit-logs/data/ghec/organization.json
+++ b/src/audit-logs/data/ghec/organization.json
@@ -299,7 +299,9 @@
"old_target_amount",
"old_budget_limit_type",
"old_alert_enabled",
- "old_target_id"
+ "old_target_id",
+ "old_pricing_target_type",
+ "old_pricing_target_id"
]
},
{
@@ -7883,6 +7885,29 @@
],
"docs_reference_titles": "Self-hosted runners"
},
+ {
+ "action": "org.set_actions_cache_retention_policy",
+ "description": "The cache retention policy for GitHub Actions was set for an organization.",
+ "docs_reference_links": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization",
+ "fields": [
+ "actor",
+ "actor_id",
+ "user_agent",
+ "request_id",
+ "request_access_security_header",
+ "org",
+ "org_id",
+ "business",
+ "business_id",
+ "action",
+ "_document_id",
+ "@timestamp",
+ "created_at",
+ "operation_type",
+ "actor_is_bot"
+ ],
+ "docs_reference_titles": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization"
+ },
{
"action": "org.set_actions_cache_storage_policy",
"description": "The cache storage policy for GitHub Actions was set for an organization.",
diff --git a/src/audit-logs/data/ghec/user.json b/src/audit-logs/data/ghec/user.json
index 6eb2833c6b8a..9b2bc9848439 100644
--- a/src/audit-logs/data/ghec/user.json
+++ b/src/audit-logs/data/ghec/user.json
@@ -222,7 +222,9 @@
"old_target_amount",
"old_budget_limit_type",
"old_alert_enabled",
- "old_target_id"
+ "old_target_id",
+ "old_pricing_target_type",
+ "old_pricing_target_id"
]
},
{
@@ -3652,6 +3654,29 @@
"request_access_security_header"
]
},
+ {
+ "action": "org.set_actions_cache_retention_policy",
+ "description": "The cache retention policy for GitHub Actions was set for an organization.",
+ "docs_reference_links": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization",
+ "fields": [
+ "actor",
+ "actor_id",
+ "user_agent",
+ "request_id",
+ "request_access_security_header",
+ "org",
+ "org_id",
+ "business",
+ "business_id",
+ "action",
+ "_document_id",
+ "@timestamp",
+ "created_at",
+ "operation_type",
+ "actor_is_bot"
+ ],
+ "docs_reference_titles": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization"
+ },
{
"action": "org.set_actions_cache_storage_policy",
"description": "The cache storage policy for GitHub Actions was set for an organization.",
diff --git a/src/audit-logs/data/ghes-3.19/enterprise.json b/src/audit-logs/data/ghes-3.19/enterprise.json
index 0bf9a8338a6c..97da2a2076d5 100644
--- a/src/audit-logs/data/ghes-3.19/enterprise.json
+++ b/src/audit-logs/data/ghes-3.19/enterprise.json
@@ -354,7 +354,9 @@
"old_target_amount",
"old_budget_limit_type",
"old_alert_enabled",
- "old_target_id"
+ "old_target_id",
+ "old_pricing_target_type",
+ "old_pricing_target_id"
]
},
{
@@ -8661,6 +8663,29 @@
],
"docs_reference_titles": "Self-hosted runners"
},
+ {
+ "action": "org.set_actions_cache_retention_policy",
+ "description": "The cache retention policy for GitHub Actions was set for an organization.",
+ "docs_reference_links": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization",
+ "fields": [
+ "actor",
+ "actor_id",
+ "user_agent",
+ "request_id",
+ "request_access_security_header",
+ "org",
+ "org_id",
+ "business",
+ "business_id",
+ "action",
+ "_document_id",
+ "@timestamp",
+ "created_at",
+ "operation_type",
+ "actor_is_bot"
+ ],
+ "docs_reference_titles": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization"
+ },
{
"action": "org.set_actions_cache_storage_policy",
"description": "The cache storage policy for GitHub Actions was set for an organization.",
diff --git a/src/audit-logs/data/ghes-3.19/organization.json b/src/audit-logs/data/ghes-3.19/organization.json
index d67429e7ffbc..94f6e708fb12 100644
--- a/src/audit-logs/data/ghes-3.19/organization.json
+++ b/src/audit-logs/data/ghes-3.19/organization.json
@@ -299,7 +299,9 @@
"old_target_amount",
"old_budget_limit_type",
"old_alert_enabled",
- "old_target_id"
+ "old_target_id",
+ "old_pricing_target_type",
+ "old_pricing_target_id"
]
},
{
@@ -7862,6 +7864,29 @@
],
"docs_reference_titles": "Self-hosted runners"
},
+ {
+ "action": "org.set_actions_cache_retention_policy",
+ "description": "The cache retention policy for GitHub Actions was set for an organization.",
+ "docs_reference_links": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization",
+ "fields": [
+ "actor",
+ "actor_id",
+ "user_agent",
+ "request_id",
+ "request_access_security_header",
+ "org",
+ "org_id",
+ "business",
+ "business_id",
+ "action",
+ "_document_id",
+ "@timestamp",
+ "created_at",
+ "operation_type",
+ "actor_is_bot"
+ ],
+ "docs_reference_titles": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization"
+ },
{
"action": "org.set_actions_cache_storage_policy",
"description": "The cache storage policy for GitHub Actions was set for an organization.",
diff --git a/src/audit-logs/data/ghes-3.19/user.json b/src/audit-logs/data/ghes-3.19/user.json
index 9ff44dfb6d21..68ce65a62e55 100644
--- a/src/audit-logs/data/ghes-3.19/user.json
+++ b/src/audit-logs/data/ghes-3.19/user.json
@@ -222,7 +222,9 @@
"old_target_amount",
"old_budget_limit_type",
"old_alert_enabled",
- "old_target_id"
+ "old_target_id",
+ "old_pricing_target_type",
+ "old_pricing_target_id"
]
},
{
@@ -3631,6 +3633,29 @@
"request_access_security_header"
]
},
+ {
+ "action": "org.set_actions_cache_retention_policy",
+ "description": "The cache retention policy for GitHub Actions was set for an organization.",
+ "docs_reference_links": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization",
+ "fields": [
+ "actor",
+ "actor_id",
+ "user_agent",
+ "request_id",
+ "request_access_security_header",
+ "org",
+ "org_id",
+ "business",
+ "business_id",
+ "action",
+ "_document_id",
+ "@timestamp",
+ "created_at",
+ "operation_type",
+ "actor_is_bot"
+ ],
+ "docs_reference_titles": "/organizations/managing-organization-settings/managing-github-actions-settings-for-your-organization"
+ },
{
"action": "org.set_actions_cache_storage_policy",
"description": "The cache storage policy for GitHub Actions was set for an organization.",
diff --git a/src/audit-logs/lib/config.json b/src/audit-logs/lib/config.json
index f15b46d02e1e..9ad89a9e4ab3 100644
--- a/src/audit-logs/lib/config.json
+++ b/src/audit-logs/lib/config.json
@@ -9,5 +9,5 @@
"git": "Note: Git events have special access requirements and retention policies that differ from other audit log events. For GitHub Enterprise Cloud, access Git events via the REST API only with 7-day retention. For GitHub Enterprise Server, Git events must be enabled in audit log configuration and are not included in search results.",
"sso_redirect": "Note: Automatically redirecting users to sign in is currently in beta for Enterprise Managed Users and subject to change."
},
- "sha": "3a5aa25ce42183628586d7d70b75df063e1a63f4"
+ "sha": "6b52e4ab29da3cf5e16fd79318ceb4ede304f8fa"
}
\ No newline at end of file