diff --git a/assets/images/help/copilot/eclipse-advanced-code-completion-menu.png b/assets/images/help/copilot/eclipse-advanced-code-completion-menu.png new file mode 100644 index 000000000000..c7d65c1fb4be Binary files /dev/null and b/assets/images/help/copilot/eclipse-advanced-code-completion-menu.png differ diff --git a/assets/images/help/copilot/xcode-advanced-code-completion-menu.png b/assets/images/help/copilot/xcode-advanced-code-completion-menu.png new file mode 100644 index 000000000000..0cb58572028d Binary files /dev/null and b/assets/images/help/copilot/xcode-advanced-code-completion-menu.png differ diff --git a/content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale.md b/content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale.md index 68f9dcd188e3..adab203f4061 100644 --- a/content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale.md +++ b/content/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale.md @@ -72,6 +72,14 @@ If your organization uses private registries, providing {% data variables.produc {% endif %} +{% ifversion fpt or ghec %} + +## About integrating production context + +If your organization uses {% data variables.product.prodname_microsoft_defender %}, JFrog Artifactory, or CI/CD to promote artifacts to production, you can integrate this data into {% data variables.product.github %}. This production context helps you prioritize {% data variables.product.prodname_code_scanning %} and {% data variables.product.prodname_dependabot %} alerts. For more information, see [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code). + +{% endif %} + ## Next steps {% ifversion security-configurations-cloud %} diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/about-your-exposure-to-vulnerable-dependencies.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/about-your-exposure-to-vulnerable-dependencies.md index d08e165cf282..de126a753e04 100644 --- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/about-your-exposure-to-vulnerable-dependencies.md +++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/about-your-exposure-to-vulnerable-dependencies.md @@ -1,11 +1,12 @@ --- -title: About your exposure to vulnerable dependencies -shortTitle: Dependency vulnerability exposure -intro: 'Understanding your organization’s exposure to vulnerable dependencies is essential for identifying and prioritizing security risks. Leveraging {% data variables.product.prodname_dependabot %} metrics on {% data variables.product.github %} enables you to efficiently assess, prioritize, and remediate vulnerabilities, reducing the likelihood of security breaches.' +title: About exposure to vulnerabilities in your code and in dependencies +shortTitle: Vulnerability exposure +intro: 'Understanding your organization’s exposure to vulnerabilities in first-party code and in all dependencies is essential for enabling you to efficiently assess, prioritize, and remediate vulnerabilities, reducing the likelihood of security breaches.' allowTitleToDifferFromFilename: true product: '{% data reusables.gated-features.ghas-billing %}' versions: feature: dependabot-metrics +contentType: concepts topics: - Code Security - Secret Protection @@ -15,29 +16,33 @@ redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites/about-your-exposure-to-vulnerable-dependencies --- -## About exposure to vulnerable dependencies +## About exposure to vulnerable code -Assessing your exposure to vulnerable dependencies is crucial if you want to prevent: +Your organization has exposure to vulnerabilities in both the code you write and maintain, and in the open-source or third-party dependencies your code uses. Assessing your exposure to vulnerable dependencies is crucial if you want to prevent: -* **Supply chain compromise**. Attackers can exploit vulnerabilities in open source or third-party dependencies to inject malicious code, elevate privileges, or gain unauthorized access to your systems. Compromised dependencies can serve as indirect entry points for malicious actors, leading to wide-reaching security incidents. +* **Unplanned downtime and operational disruption**. Exploitation of vulnerabilities can result in application outages, degraded service quality, or cascading failures in critical systems, disrupting your business operations. + +* **Increased remediation costs**. The longer vulnerable code remains unaddressed, the more difficult and expensive it becomes to fix, especially if the code is deeply integrated or if incidents occur. Early detection and remediation reduce the risk of costly incident response, emergency patching, and reputational harm. -* **Widespread propagation of risk**. Vulnerable dependencies are often reused across multiple applications and services, meaning a single flaw can propagate throughout your organization, compounding the risk and impact of exploitation. +* **Widespread propagation of risk**. Vulnerable modules and dependencies are often reused across multiple applications and services, meaning a single flaw can propagate throughout your organization, compounding the risk and impact of exploitation. -* **Unplanned downtime and operational disruption**. Exploitation of dependency vulnerabilities can result in application outages, degraded service quality, or cascading failures in critical systems, disrupting your business operations. +* **Supply chain compromise**. Attackers can exploit vulnerabilities in open source or third-party dependencies to inject malicious code, elevate privileges, or gain unauthorized access to your systems. Compromised dependencies can serve as indirect entry points for malicious actors, leading to wide-reaching security incidents. * **Regulatory and licensing issues**. Many regulations and industry standards require organizations to proactively address known vulnerabilities in their software supply chain. Failing to remediate vulnerable dependencies can result in non-compliance, audits, legal penalties, or breaches of open source license obligations. -* **Increased remediation costs**. The longer vulnerable dependencies remain unaddressed, the more difficult and expensive they become to fix, especially if they are deeply integrated or if incidents occur. Early detection and remediation reduce the risk of costly incident response, emergency patching, and reputational harm. +Regularly assessing your exposure to vulnerabilities is good practice to help identify risks early, implement effective remediation strategies, and maintain resilient, trustworthy software. + +## Ways to monitor your repositories for vulnerable code -Regularly assessing your exposure to dependency vulnerabilities is good practice to help identify risks early, implement effective remediation strategies, and maintain resilient, trustworthy software. +* **{% data variables.product.prodname_code_scanning_caps %}** automatically monitors your project's code for vulnerabilities. When it detects a security issue in a pull request, it creates an alert with an autofix suggestion to resolve the vulnerability. This lowers the barrier to resolution and helps ensure your project remains secure. See [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning). -{% data variables.product.prodname_dependabot %} automatically monitors your project’s dependencies for vulnerabilities and outdated packages. When it detects a security issue or a new version, it creates pull requests to update the affected dependencies, helping you quickly address security risks and keep your software up to date. This reduces manual effort and helps ensure your project remains secure. See [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide). +* **{% data variables.product.prodname_dependabot %}** automatically monitors your project’s dependencies for vulnerabilities and outdated packages. When it detects a security issue or a new version, it creates pull requests to update the affected dependencies, helping you quickly address security risks and keep your software up to date. This reduces manual effort and helps ensure your project remains secure. See [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide). {% data variables.product.github %} provides a comprehensive set of {% data variables.product.prodname_dependabot %} metrics to help you monitor, prioritize, and remediate these risks across all repositories in your organization. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-dependabot-alerts). ## Key tasks for AppSec managers -### 1. Monitor vulnerability metrics +### 1. Monitor vulnerability metrics for dependencies Use the metrics overview for {% data variables.product.prodname_dependabot %} to gain visibility into the current state of your organization's dependency vulnerabilities. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-dependabot-alerts). @@ -45,27 +50,38 @@ Use the metrics overview for {% data variables.product.prodname_dependabot %} to * **Repository-level breakdown:** Identify which repositories have the highest number of critical or exploitable vulnerabilities. * **Remediation tracking:** Track the number and percentage of alerts fixed over time to measure the effectiveness of your vulnerability management program. -### 2. Prioritize remediation efforts +### 2. Monitor introduction of new {% data variables.product.prodname_code_scanning %} alerts + +Use the alert view for {% data variables.product.prodname_code_scanning %} to gain visibility into remediation activity in your organization's pull requests. See [AUTOTITLE](/code-security/security-overview/viewing-metrics-for-pull-request-alerts). + +* **Alerts in pull requests:** Review how many alerts were detected and merged into the default branch without resolution. +* **Most prevalent rules:** Identify rules that are frequently triggered where developer education is needed. +* **Repository-level breakdown:** Identify which repositories have the highest number of alerts detected in pull requests but still merged into the default branch. +* **Remediation tracking:** Track the number and percentage of alerts fixed over time to measure the effectiveness of your vulnerability management program. + +### 3. Prioritize remediation efforts Focus on vulnerabilities that present the highest risk to your organization. -* Prioritize alerts with high or critical severity, high EPSS scores, and available patches. -* Use the repository breakdown to direct remediation efforts to the most at-risk projects. -* Encourage development teams to address vulnerabilities that are actually used in deployed artifacts through repository custom properties. +* Prioritize alerts with high or critical severity. For {% data variables.product.prodname_dependabot_alerts %}, also prioritize high EPSS scores, and available patches. +* Use the repository breakdown information to direct remediation efforts to the most at-risk projects.{% ifversion fpt or ghec %} +* Encourage development teams to address vulnerabilities that are actually used in deployed artifacts through repository custom properties and using production context. See [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code).{% endif %} +* Create security campaigns to encourage and track the remediation of high priority {% data variables.product.prodname_code_scanning %} alerts. See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns). -### 3. Communicate risk and progress +### 4. Communicate risk and progress -* Use the {% data variables.product.prodname_dependabot %} metrics page to communicate key risk factors and remediation progress to stakeholders. +* Use the metrics pages to communicate key risk factors and remediation progress to stakeholders. * Provide regular updates on trends, such as the reduction in open critical vulnerabilities or improvements in remediation rates. * Highlight repositories or teams that require additional support or attention. -### 4. Establish and enforce policies +### 5. Establish and enforce policies -* Set organization-wide policies to require dependency review and {% data variables.product.prodname_dependabot_alerts %} on all repositories. See [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review) and [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts). -* Ensure that new repositories are automatically enrolled in dependency monitoring. +* Set an organization-wide security configuration that enables {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} on all existing and new repositories. See [AUTOTITLE](/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale). +* Enable dependency review to comment on pull requests in all repositories. +* Create an organization-wide ruleset to protect the default branch and require critical {% data variables.product.prodname_code_scanning %} alerts to be fixed before a pull request can be merged. See [AUTOTITLE](/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization). * Work with repository administrators to enable automated security updates where possible. See [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates). -### 5. Assess the impact of {% data variables.product.prodname_dependabot_alerts %} +### 6. Assess the impact of alerts -* Regularly review how {% data variables.product.prodname_dependabot_alerts %} are helping to block security vulnerabilities from entering your codebase. +* Regularly review how {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts are helping to block security vulnerabilities from entering your codebase. * Use historical data to demonstrate the value of proactive dependency management. diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code.md new file mode 100644 index 000000000000..c4e21a5ee2fc --- /dev/null +++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code.md @@ -0,0 +1,101 @@ +--- +title: Prioritizing Dependabot and code scanning alerts using production context +shortTitle: Alerts in production code +intro: 'Focus remediation on real risk by targeting {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts in artifacts deployed to production, using metadata from external registries like JFrog Artifactory, your own CI/CD workflows, or from {% data variables.product.prodname_microsoft_defender %}.' +versions: + fpt: '*' + ghec: '*' +contentType: tutorials +topics: + - Code Security + - Dependabot + - Code scanning + - Organizations + - Security +redirect_from: + - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context +--- + +{% data reusables.security.production-context-mdc-preview %} + +## Prioritizing alerts using production context + +Application Security (AppSec) managers are often overwhelmed by a high volume of alerts, many of which may not represent real risk because the affected code never makes it to production. By associating production context with your alerts, you can filter and prioritize vulnerabilities that impact artifacts actually approved for production environments. This enables your team to focus remediation efforts on the vulnerabilities that matter most, reducing noise and improving your security posture. + +## Associating production context with alerts + +{% data variables.product.github %} enables you to provide production context for {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts using the REST API: + +* [Storage Record](/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record) +* [Deployment Record](/rest/orgs/artifact-metadata#create-an-artifact-deployment-record) + +### Storage Record API + +This API allows package registries or GitOps workflows to send artifact lifecycle data to {% data variables.product.github %}. You should configure your system to call the endpoint whenever an artifact is promoted to a production-approved package repository. + +{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `artifact-registry-url` and `artifact-registry`. For more information, see [Create artifact metadata storage record](/rest/orgs/artifact-metadata#create-artifact-metadata-storage-record) in the REST API documentation. + +> [!TIP] +> If you use JFrog Artifactory, you do not need to perform any custom integration. Artifactory natively integrates with the Storage Record API. You only need to enable the integration in your Artifactory settings, and Artifactory will automatically emit production promotion events to {% data variables.product.github %}. For setup instructions, see [JFrog and GitHub Integration: JFrog for {% data variables.product.github %} {% data variables.product.prodname_dependabot %}](https://jfrog.com/help/r/jfrog-and-github-integration-guide/jfrog-for-github-dependabot) in the JFrog documentation. + +### Deployment Record API + +This API allows systems to send deployment data for a specific artifact to {% data variables.product.github %}, such as its name, digest, environments, cluster, and deployment. + +{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `has:deployment` and `runtime-risk`. For more information, see [Create an artifact deployment record](/rest/orgs/artifact-metadata#create-an-artifact-deployment-record) in the REST API documentation. + +> [!TIP] +> If you use {% data variables.product.prodname_mdc_definition %} and connect your instance to a {% data variables.product.github %} organization, {% data variables.product.prodname_mdc %} will automatically send deployment and runtime data to {% data variables.product.github %}. For more information, see [Quick Start: Connect your {% data variables.product.github %} Environment to {% data variables.product.prodname_microsoft_defender %}](https://learn.microsoft.com/en-us/azure/defender-for-cloud/quickstart-onboard-github) in the documentation for {% data variables.product.prodname_mdc %}. + +## Enable and use production context for alert prioritization + +### 1. Detect and report production artifact promotions and deployments + +In your CI/CD or GitOps workflow, whenever an artifact is promoted to a production-approved package repository, call the Storage Record API to send the artifact's metadata to {% data variables.product.github %}. Whenever an artifact is deployed to production, call the Deployment Record API to send additional metadata for the artifact to {% data variables.product.github %}. + +### 2. Use production context filters + +Production context filters are made available in alert views and security campaign views under the **Security** tab. + +* **{% data variables.product.prodname_dependabot_alerts %} view**: See [Viewing {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts). +* **{% data variables.product.prodname_code_scanning_caps %} alerts view**: See [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository). +* **Security campaign view**: See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns). + +Once the alert list is displayed, use the `artifact-registry-url` or `artifact-registry` filters in organization views to focus on vulnerabilities affecting artifacts present in production. + +* For your own artifact repository that is hosted at `my-registry.example.com`, you would use: + + ```text copy + artifact-registry-url:my-registry.example.com + ``` + +* If you use JFrog Artifactory, you can use `artifact-registry` with no further setup in {% data variables.product.github %}: + + ```text copy + artifact-registry:jfrog-artifactory + ``` + +You can also use the `has:deployment` and `runtime-risk` filters to focus on vulnerabilites that deployment metadata shows as in deployment or at risk of runtime vulnerabilities. This data is populated automatically if you have connected {% data variables.product.prodname_mdc %}. For example: + +* To focus on alerts in deployed code that is exposed to the internet, you would use: + + ```text copy + has:deployment AND runtime-risk:internet-exposed + ``` + +You can also combine these production context filters with other filters, such as EPSS: + +```text copy +epss > 0.5 AND artifact-registry-url:my-registry.example.com +``` + +### 3. Remediate alerts in production code + +Now you have identified the alerts that put your production code at risk of exploitation, you need to remediate them as a matter of urgency. Where possible use automation to lower the barrier to remediation. + +* **{% data variables.product.prodname_dependabot_alerts %}:** Use automated pull requests for security fixes. See [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates). +* **{% data variables.product.prodname_code_scanning_caps %} alerts:** Create targeted campaigns with {% data variables.copilot.copilot_autofix_short %}. See [AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns). + +## Further reading + +* [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics) diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md index 154742c0fb69..a43170bef68a 100644 --- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md +++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/index.md @@ -1,18 +1,19 @@ --- title: 'Understanding your organization''s exposure to vulnerabilities' shortTitle: Exposure to vulnerabilities -intro: 'Understanding your organization''s exposure to vulnerable dependencies is crucial for identifying and prioritizing security risks. This awareness allows you to prioritize remediation efforts, reduce the likelihood of security breaches, protect sensitive data, and maintain the overall integrity and reputation of the organization.' +intro: 'Understanding your organization''s exposure to vulnerable code and dependencies is crucial for identifying and prioritizing security risks. This awareness allows you to prioritize remediation efforts, reduce the likelihood of security breaches, protect sensitive data, and maintain the overall integrity and reputation of the organization.' versions: feature: dependabot-metrics topics: - Code Security - Dependabot + - Code scanning - Organizations - Security children: - /about-your-exposure-to-vulnerable-dependencies - /prioritizing-dependabot-alerts-using-metrics - - /prioritizing-dependabot-alerts-using-production-context + - /alerts-in-production-code redirect_from: - /code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilites --- diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics.md index 5a7b24c3ccdb..d1c58040742d 100644 --- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics.md +++ b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics.md @@ -7,9 +7,11 @@ product: '{% data reusables.gated-features.security-overview-fpt-cs-only %}' permissions: '{% data reusables.permissions.security-org-enable %}' versions: feature: dependabot-metrics +contentType: tutorials topics: - Code Security - Dependabot + - Code scanning - Organizations - Security redirect_from: diff --git a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md b/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md deleted file mode 100644 index 1acda852c6a5..000000000000 --- a/content/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-production-context.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Prioritizing Dependabot alerts using production context -shortTitle: Dependabot production context -intro: 'You can focus remediation on real risk by prioritizing {% data variables.product.prodname_dependabot_alerts %} for artifacts actually present in production, using metadata from external registries like JFrog Artifactory or your own CI/CD workflows.' -product: '{% data reusables.gated-features.dependabot-alerts %}' -versions: - fpt: '*' - ghec: '*' -type: how_to -topics: - - Code Security - - Dependabot - - Organizations - - Security ---- - -> [!NOTE] Production context is in {% data variables.release-phases.public_preview %} and subject to change. - -## Prioritizing {% data variables.product.prodname_dependabot_alerts %} using production context - -Application Security (AppSec) managers are often overwhelmed by a high volume of {% data variables.product.prodname_dependabot_alerts %}, many of which may not represent real risk because the affected code never makes it to production. By associating production context with your alerts, you can filter and prioritize vulnerabilities that impact artifacts actually approved for production environments. This enables your team to focus remediation efforts on the vulnerabilities that matter most, reducing noise and improving your security posture. - -## Associating production context with {% data variables.product.prodname_dependabot_alerts %} - -{% data variables.product.github %} enables production context for your {% data variables.product.prodname_dependabot_alerts %} by providing a Storage Record API. This API allows package registries or GitOps workflows to send artifact lifecycle data to {% data variables.product.github %}. The API should be called whenever an artifact is promoted to a production-approved package repository. - -{% data variables.product.github %} processes this metadata and uses it to power new alert filters, such as `artifact-registry-url` and `artifact-registry`. For more information, see [Create artifact metadata storage record](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record) in the REST API documentation. - -## Steps to prioritize alerts - -Follow these steps to enable and use production context for alert prioritization: - -### Step 1: Detect and report production artifact promotions - -In your CI/CD or GitOps workflow, whenever an artifact is promoted to a production-approved package repository, call the Storage Record API to to send the artifact's metadata to {% data variables.product.github %}. This includes information such as the artifact's registry, repository, and version. See [AUTOTITLE](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record). - -If you use JFrog Artifactory, you do not need to perform any custom integration. Artifactory natively integrates with the Storage Record API. You only need to enable the integration in your Artifactory settings, and Artifactory will automatically emit production promotion events to {% data variables.product.github %}. - -The `artifact-registry:jfrog-artifactory` filter will work out of the box with no further setup in {% data variables.product.github %}. For setup instructions, see [JFrog and GitHub Integration: JFrog for [{% data variables.product.github %} {% data variables.product.prodname_dependabot %}]](https://jfrog.com/help/r/jfrog-and-github-integration-guide/jfrog-for-github-dependabot) in the JFrog documentation. - -### Step 2: Use production context filters - -{% data reusables.dependabot.where-to-view-dependabot-alerts %}. For information about accessing this tab, see [Viewing {% data variables.product.prodname_dependabot_alerts %}](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts#viewing-dependabot-alerts). - -Once the alert list is displayed, use the `artifact-registry-url` or `artifact-registry` filters to focus on vulnerabilities affecting artifacts present in production. For example: - -```text -artifact-registry-url:my-registry.example.com -artifact-registry:jfrog-artifactory -``` - -You can also combine these with other filters, such as EPSS. - -```text -epss > 0.5 AND artifact-registry-url:my-registry.example.com -``` - -## Further reading - -* [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/prioritizing-dependabot-alerts-using-metrics) 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 d8d96eab36da..6fa7d4de4554 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 @@ -158,6 +158,22 @@ You can also filter the "Overview" view by properties of alerts. |`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.| +{% ifversion fpt or ghec %} + +## Production context filters + +{% data reusables.security.production-context-mdc-preview %} + +You can filter views of {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} alerts by production context. See [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code). + +| Qualifier | Description | +| -------- | -------- | +| `artifact-registry` or `artifact-registry-url` | Defines the name or location of the artifact registry used by the repository. For example: `artifact-registry:jfrog-artifactory` or `artifact-registry-url:my-registry.example.com`.

Uses metadata from the [Storage Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-metadata-storage-record). | +| `has: deployment` | Limits alerts to those reported as in deployment.

Uses metadata from the [Deployment Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-deployment-record). | +| `runtime-risk` | Limits alerts to those reported as presenting a specific type of runtime risk. For example: `runtime-risk:internet-exposed`

Uses metadata from the [Deployment Record API](/rest/orgs/artifact-metadata?apiVersion=2022-11-28#create-artifact-deployment-record). | + +{% endif %} + ## {% data variables.product.prodname_dependabot %} alert view filters You can filter the view to show {% data variables.product.prodname_dependabot_alerts %} that are ready to fix or where additional information about exposure is available. You can click any result to see full details of the alert. diff --git a/content/copilot/concepts/agents/coding-agent/about-custom-agents.md b/content/copilot/concepts/agents/coding-agent/about-custom-agents.md index 1adaa2a47c5e..455f3f575367 100644 --- a/content/copilot/concepts/agents/coding-agent/about-custom-agents.md +++ b/content/copilot/concepts/agents/coding-agent/about-custom-agents.md @@ -13,7 +13,7 @@ topics: {% data variables.copilot.custom_agents_caps_short %} are specialized versions of {% data variables.copilot.copilot_coding_agent %} that you can tailor to your unique workflows, coding conventions, and use cases. Instead of repeatedly providing the same instructions and context, {% data variables.copilot.custom_agents_short %} allow you to define specialized agents that act like tailored teammates—following standards, using the right tools, and implementing team-specific practices. -{% data variables.copilot.custom_agents_caps_short %} are defined using Markdown files, called {% data variables.copilot.agent_profiles %}, that specify prompts, tools, and MCP servers. This allows individuals and teams to encode their conventions, frameworks, and desired outcomes directly into {% data variables.product.prodname_copilot_short %}. The {% data variables.copilot.agent_profile %} serves as the artifact that defines the custom agent's behavior, and assigning the agent to a task or issue instantiates the {% data variables.copilot.copilot_custom_agent_short %}. +{% data variables.copilot.custom_agents_caps_short %} are defined using Markdown files, called {% data variables.copilot.agent_profiles %}, that specify prompts, tools, and MCP servers. This allows individuals and teams to encode their conventions, frameworks, and desired outcomes directly into {% data variables.product.prodname_copilot_short %}. The {% data variables.copilot.agent_profile %} serves as the artifact that defines the {% data variables.copilot.copilot_custom_agent_short %}'s behavior, and assigning the agent to a task or issue instantiates the {% data variables.copilot.copilot_custom_agent_short %}. ## {% data variables.copilot.agent_profile_caps %} format @@ -53,9 +53,13 @@ You can define {% data variables.copilot.agent_profiles %} at the repository lev ## Where you can use {% data variables.copilot.custom_agents_short %} -Once created, your {% data variables.copilot.custom_agents_short %} are available wherever you can use {% data variables.copilot.copilot_coding_agent %}, including {% data variables.product.prodname_dotcom_the_website %} (the agents tab and panel, issue assignment, pull requests), the {% data variables.copilot.copilot_cli %}, and {% data variables.product.prodname_vscode %}. Each interaction maintains consistency based on the agent's defined profile, ensuring targeted support tailored to your specific needs. +{% data reusables.copilot.custom-agents-ide-preview %} -{% data variables.copilot.agent_profiles_caps %} can be used directly in {% data variables.product.prodname_vscode %}, though some properties may function differently or be ignored between the {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_vscode_shortname %} environments. See [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents?utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post) in the {% data variables.product.prodname_vscode_shortname %} documentation. +Once created, your {% data variables.copilot.custom_agents_short %} are available wherever you can use {% data variables.copilot.copilot_coding_agent %}, including {% data variables.product.prodname_dotcom_the_website %} (the agents tab and panel, issue assignment, pull requests), the {% data variables.copilot.copilot_cli %}, and in {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and Xcode. + +{% data variables.copilot.agent_profiles_caps %} can be used directly in {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and Xcode, though some properties may function differently, or be ignored, between environments. + +For more information on using {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode %} specifically, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents?utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post) in the {% data variables.product.prodname_vscode_shortname %} documentation. ## Next steps diff --git a/content/copilot/concepts/auto-model-selection.md b/content/copilot/concepts/auto-model-selection.md index 4ae5326fe614..e90bc2fbbf80 100644 --- a/content/copilot/concepts/auto-model-selection.md +++ b/content/copilot/concepts/auto-model-selection.md @@ -2,8 +2,8 @@ title: 'About {% data variables.product.prodname_copilot_short %} auto model selection' allowTitleToDifferFromFilename: true shortTitle: 'Auto model selection' -intro: 'Optimize {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %} without needing to select a model' -product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in {% data variables.release-phases.public_preview %} in {% data variables.product.prodname_vscode_shortname %} and in {% data variables.product.prodname_vs %} with all {% data variables.product.prodname_copilot %} plans.' +intro: 'Automatically select models for {% data variables.copilot.copilot_chat_short %}.' +product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in {% data variables.release-phases.public_preview %} for supported IDEs with all {% data variables.product.prodname_copilot %} plans.' topics: - Copilot versions: @@ -17,15 +17,22 @@ category: Experience less rate limiting and reduce the mental load of choosing a model by letting {% data variables.copilot.copilot_auto_model_selection %} automatically choose the best available model. -In {% data variables.product.prodname_vscode_shortname %} and {% data variables.product.prodname_vs %}, {% data variables.copilot.copilot_auto_model_selection %} chooses from {% data variables.copilot.copilot_gpt_41 %}, {% data variables.copilot.copilot_gpt_5_mini %}, {% data variables.copilot.copilot_gpt_5 %}, {% data variables.copilot.copilot_claude_haiku_45 %}, and {% data variables.copilot.copilot_claude_sonnet_45 %}, based on availability and to help reduce rate limiting. Included models may change over time. +{% data variables.copilot.copilot_auto_model_selection %} chooses from {% data variables.copilot.copilot_gpt_41 %}, {% data variables.copilot.copilot_gpt_5_mini %}, {% data variables.copilot.copilot_gpt_5 %}, {% data variables.copilot.copilot_claude_haiku_45 %}, and {% data variables.copilot.copilot_claude_sonnet_45 %}, based on availability and to help reduce rate limiting. Included models may change over time. + +> [!NOTE] To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}. + +{% data variables.copilot.copilot_auto_model_selection %} is available in the following IDEs: + * {% data variables.product.prodname_vscode_shortname %} + * {% data variables.product.prodname_vs %} + * Eclipse + * JetBrains IDEs + * Xcode Automatically selected models **won't** include these models: * Models with premium request multipliers greater than one. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#model-multipliers). * Models excluded by individual or administrator policies. See [AUTOTITLE](/copilot/how-tos/use-ai-models/configure-access-to-ai-models). * Models not available in your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan). -To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}. - ## AI models for {% data variables.copilot.copilot_chat_short %} While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_chat_short %}, you can manually choose a different model to override this selection. {% data reusables.copilot.change-the-ai-model %} diff --git a/content/copilot/concepts/completions/code-suggestions.md b/content/copilot/concepts/completions/code-suggestions.md index ea24d3de44f8..c8615a5dfa2d 100644 --- a/content/copilot/concepts/completions/code-suggestions.md +++ b/content/copilot/concepts/completions/code-suggestions.md @@ -9,7 +9,7 @@ defaultTool: vscode topics: - Copilot contentType: concepts -category: +category: - Learn about Copilot --- @@ -73,7 +73,12 @@ category: ## About code suggestions in Xcode -{% data variables.product.prodname_copilot %} offers inline suggestions as you type. +{% data variables.product.prodname_copilot %} in Xcode provides two kinds of code suggestions: + +* **Ghost text suggestions** + * {% data variables.product.prodname_copilot_short %} offers coding suggestions as you type. You can also describe something you want to do using natural language within a comment, and {% data variables.product.prodname_copilot_short %} will suggest the code to accomplish your goal. +* **{% data variables.copilot.next_edit_suggestions_caps %} ({% data variables.release-phases.public_preview %})** + * Based on the edits you are making, {% data variables.product.prodname_copilot_short %} will predict the location of the next edit you are likely to make and suggest a completion for it. Suggestions may span an entire line, or multiple lines, depending on the scope of the potential change. {% data variables.copilot.next_edit_suggestions_caps %} are enabled by default. To disable, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide?tool=xcode#enabling-next-edit-suggestions-2). {% endxcode %} @@ -81,7 +86,14 @@ category: ## About code suggestions in Eclipse -{% data variables.product.prodname_copilot %} offers inline suggestions as you type. +{% data variables.product.prodname_copilot %} in Eclipse provides two kinds of code suggestions: + +* **Ghost text suggestions** + * {% data variables.product.prodname_copilot_short %} offers coding suggestions as you type. You can also describe something you want to do using natural language within a comment, and {% data variables.product.prodname_copilot_short %} will suggest the code to accomplish your goal. +* **{% data variables.copilot.next_edit_suggestions_caps %} ({% data variables.release-phases.public_preview %})** + * Based on the edits you are making, {% data variables.product.prodname_copilot_short %} will predict the location of the next edit you are likely to make and suggest a completion for it. Suggestions may span a single symbol, an entire line, or multiple lines, depending on the scope of the potential change. To enable {% data variables.copilot.next_edit_suggestions %}, see [AUTOTITLE](/copilot/how-tos/configure-personal-settings/configure-in-ide?tool=eclipse#enabling-next-edit-suggestions-3). + +{% data reusables.copilot.supported-languages %} {% endeclipse %} diff --git a/content/copilot/get-started/features.md b/content/copilot/get-started/features.md index 9785472aa487..d0b0afd5f7e5 100644 --- a/content/copilot/get-started/features.md +++ b/content/copilot/get-started/features.md @@ -23,7 +23,7 @@ category: Autocomplete-style suggestions from {% data variables.product.prodname_copilot_short %} in supported IDEs _({% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, JetBrains IDEs, Azure Data Studio, Xcode, Vim/Neovim, and Eclipse)_. See [AUTOTITLE](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot). -If you use {% data variables.product.prodname_vscode_shortname %}, you can also use {% data variables.copilot.next_edit_suggestions %}, which will predict the location of the next edit you are likely to make and suggest a completion for it. +If you use {% data variables.product.prodname_vscode_shortname %}, Xcode, and Eclipse, you can also use {% data variables.copilot.next_edit_suggestions %} ({% data variables.release-phases.public_preview %}), which will predict the location of the next edit you are likely to make and suggest a completion for it. ### {% data variables.copilot.copilot_chat_short %} diff --git a/content/copilot/get-started/quickstart.md b/content/copilot/get-started/quickstart.md index 053623bbe4eb..8444b43f5aeb 100644 --- a/content/copilot/get-started/quickstart.md +++ b/content/copilot/get-started/quickstart.md @@ -20,7 +20,7 @@ shortTitle: Quickstart topics: - Copilot contentType: get-started -category: +category: - Configure Copilot --- @@ -195,7 +195,7 @@ The following example uses JavaScript, however other languages will work similar {% data reusables.copilot.quickstart-nextsteps1 %} * **Use {% data variables.product.prodname_copilot_short %} like a pro** - Learn how to write effective prompts for {% data variables.product.prodname_copilot %}. For more information, see [Best practices for using {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/prompt-crafting) in the {% data variables.product.prodname_vscode %} documentation. -* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [About {% data variables.copilot.next_edit_suggestions %}](/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot#about-next-edit-suggestions). +* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions#navigating-and-accepting-next-edit-suggestions-1). {% data reusables.copilot.quickstart-nextsteps2 %} {% endvscode %} @@ -368,6 +368,7 @@ The following example uses Swift, however other languages will work similarly. ## Next steps {% data reusables.copilot.quickstart-nextsteps1 %} +* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions?tool=xcode#navigating-and-accepting-next-edit-suggestions-2). {% data reusables.copilot.quickstart-nextsteps2 %} {% endxcode %} @@ -424,6 +425,7 @@ The following example uses Java, however other languages will work similarly. ## Next steps {% data reusables.copilot.quickstart-nextsteps1 %} +* **Get familiar with {% data variables.copilot.next_edit_suggestions %}** - See [Navigating and accepting {% data variables.copilot.next_edit_suggestions %}](/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions?tool=eclipse#navigating-and-accepting-next-edit-suggestions-3). {% data reusables.copilot.quickstart-nextsteps2 %} {% endeclipse %} diff --git a/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md b/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md index ce3aca185709..cfdfe865f4b4 100644 --- a/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md +++ b/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md @@ -27,6 +27,10 @@ category: This guide describes how to use {% data variables.copilot.copilot_chat_short %} to ask questions about software development in your IDE. You can ask general questions about software development, or specific questions about the code in your project. For more information, see [AUTOTITLE](/copilot/concepts/about-github-copilot-chat). + + + + {% vscode %} ## Prerequisites @@ -174,32 +178,42 @@ For more information, see [{% data variables.copilot.copilot_edits_short %}](htt {% data reusables.copilot.copilot-edits.agent-mode-requests %} -### Plan mode +### Using {% data variables.copilot.subagents_short %} -> [!NOTE] -> Plan mode in {% data variables.product.prodname_vscode_shortname %} is currently in {% data variables.release-phases.public_preview %} and subject to change. +{% data reusables.copilot.subagent-intro %} + +#### Enabling {% data variables.copilot.subagents_short %} + +1. In the {% data variables.copilot.copilot_chat_short %} window, click the tools icon. +1. Enable the `runSubagent` tool. -Plan mode helps you to create detailed implementation plans before executing them. This ensures that all requirements are considered and addressed before any code changes are made. The plan agent does not make any code changes until the plan is reviewed and approved by you. Once approved, you can hand off the plan to the default agent or save it for further refinement, review, or team discussions. +If you use custom prompt files or {% data variables.copilot.custom_agents_short %}, ensure you specify the `runSubagent` tool in the `tools` frontmatter property. -The plan agent is designed to: +#### Invoking {% data variables.copilot.subagents_short %} -* Research the task comprehensively using read-only tools and codebase analysis to identify requirements and constraints. -* Break down the task into manageable, actionable steps and include open questions about ambiguous requirements. -* Present a concise plan draft, based on a standardized plan format, for user review and iteration. +{% data reusables.copilot.using-subagents %} +* **Calling the #runSubagent tool.**. + ```text + Evaluate the #file:databaseSchema using #runSubagent and generate an optimized data-migration plan. + ``` + +When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps. + +### Plan mode + +{% data reusables.copilot.plan-agent-intro %} #### Using plan mode 1. If the chat view is not already displayed, select **Open Chat** from the {% data variables.copilot.copilot_chat_short %} menu. 1. At the bottom of the chat view, select **Plan** from the agents dropdown. -1. Enter a task for which you want to create a plan, then press Enter. - - The plan agent provides a high-level summary and a breakdown of steps, including any open questions for clarification. +1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application. -1. Review the plan and answer any questions the agent has asked. + For example: `Create a simple to-do web app with HTML, CSS, and JS files.` - You can iterate multiple times to clarify requirements, adjust scope, or answer questions. + After a few moments, the plan agent outputs a plan in the chat view. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification. -1. Once the plan is finalized, choose to save it or hand it off to an implementation agent to start coding, by using the corresponding controls. +{% data reusables.copilot.plan-agent-steps %} For more information, see [Planning in VS Code chat](https://code.visualstudio.com/docs/copilot/chat/chat-planning) in the {% data variables.product.prodname_vscode %} documentation. @@ -239,6 +253,10 @@ To leave feedback about the {% data variables.copilot.copilot_chat %} extension, {% endvscode %} + + + + {% visualstudio %} ## Prerequisites @@ -386,6 +404,10 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can {% endvisualstudio %} + + + + {% jetbrains %} ## Prerequisites @@ -414,19 +436,9 @@ You can ask {% data variables.copilot.copilot_chat_short %} to give you code sug To see the files that {% data variables.copilot.copilot_chat_short %} used to generate the response, click the **References** link below the response. The references may include a link to a custom instructions file for your repository. This file contains additional information that is automatically added to all of your chat questions to improve the quality of the responses. For more information, see [AUTOTITLE](/copilot/how-tos/custom-instructions/adding-repository-custom-instructions-for-github-copilot). -## Using keywords in your prompt - -You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. - -### Chat participants - -Chat participants are like domain experts who have a specialty that they can help you with. You can use a chat participant to scope your prompt to a specific domain. To do this, type `@` in the chat prompt box, followed by a chat participant name. - -For a list of available chat participants, type `@` in the chat prompt box. See also [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=jetbrains#chat-participants-1). +## Supplementing your prompt -### Extending {% data variables.copilot.copilot_chat_short %} - -{% data reusables.copilot.copilot-extensions.extending-copilot-chat %} +You can use slash commands and file references to help {% data variables.product.prodname_copilot_short %} understand your what you are asking it to do. ### Slash commands @@ -488,6 +500,43 @@ Use {% data variables.copilot.copilot_edits_short %} to make changes across mult {% data reusables.copilot.copilot-edits.agent-mode-requests %} +### Using {% data variables.copilot.subagents_short %} + +{% data reusables.copilot.subagent-intro %} + +To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). + +#### Enabling {% data variables.copilot.subagents_short %} + +To enable {% data variables.copilot.subagents_short %}: + +1. Click **Tools** in the menu bar, then click **{% data variables.product.prodname_copilot %}**, then **Edit Settings**. +1. In the popup menu, click **Chat**, then click the **Enable {% data variables.copilot.subagent_caps_short %}** checkbox. + +#### Invoking {% data variables.copilot.subagents_short %} + +{% data reusables.copilot.using-subagents %} + +When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps. + +## Using plan mode + +{% data reusables.copilot.plan-agent-intro %} + +To use plan mode: + +1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} panel by clicking the **{% data variables.copilot.copilot_chat %}** icon at the right side of the JetBrains IDE window. +1. At the bottom of the {% data variables.copilot.copilot_chat_short %} panel, select **Plan** from the agents dropdown. +1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application. + + For example: `Create a simple to-do web app with HTML, CSS, and JS files.` + +1. Submit the prompt. + + After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification. + +{% data reusables.copilot.plan-agent-steps %} + ## Sharing feedback To share feedback about {% data variables.copilot.copilot_chat_short %}, you can use the **share feedback** link in JetBrains. @@ -512,6 +561,10 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can {% endjetbrains %} + + + + {% xcode %} ## Prerequisites @@ -526,7 +579,7 @@ To share feedback about {% data variables.copilot.copilot_chat_short %}, you can You can ask {% data variables.copilot.copilot_chat_short %} to give you code suggestions, explain code, generate unit tests, and suggest code fixes. -1. To open the chat view, click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window. +1. To open the chat window, click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window. 1. Enter a prompt in the prompt box. For example prompts, see [AUTOTITLE](/copilot/get-started/getting-started-with-prompts-for-copilot-chat). @@ -554,13 +607,31 @@ Use slash commands to avoid writing complex prompts for common scenarios. To use To see all available slash commands, type `/` in the chat prompt box. For more information, see [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=xcode#slash-commands). -## {% data variables.product.prodname_copilot_short %} agent mode +## Using plan mode + +{% data reusables.copilot.plan-agent-intro %} + +To use plan mode: + +1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} window by clicking **Editor** in the menu bar, then clicking **{% data variables.product.prodname_copilot %}** then **Open Chat**. +1. At the bottom of the {% data variables.copilot.copilot_chat_short %} window, select **Plan** from the agents dropdown. +1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application. + + For example: `Create a simple to-do app with Swift files.` + +1. Submit the prompt. + + After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification. + +{% data reusables.copilot.plan-agent-steps %} + +## Using {% data variables.product.prodname_copilot_short %} agent mode {% data reusables.copilot.copilot-edits.agent-mode-description %} ### Using agent mode -1. To open the chat view, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** in the menu bar, then click **Open Chat**. +1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} window by clicking **Editor** in the menu bar, then clicking **{% data variables.product.prodname_copilot %}** then **Open Chat**. 1. At the bottom of the chat panel, select **Agent** from the agents dropdown. 1. Optionally, add relevant files to the _working set_ view to indicate to {% data variables.product.prodname_copilot_short %} which files you want to work on. 1. Submit a prompt. In response to your prompt, {% data variables.product.prodname_copilot_short %} streams the edits in the editor, updates the working set, and if necessary, suggests terminal commands to run. @@ -568,6 +639,23 @@ To see all available slash commands, type `/` in the chat prompt box. For more i {% data reusables.copilot.copilot-edits.agent-mode-requests %} +### Using {% data variables.copilot.subagents_short %} + +{% data reusables.copilot.subagent-intro %} + +To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). + +#### Enabling {% data variables.copilot.subagents_short %} + +1. Click **Editor** in the menu bar, then click **{% data variables.product.prodname_copilot %}** then **Open GitHub Copilot for Xcode Settings**. +1. Click **Advanced** in the chat panel, then under **Chat Settings** click the **Enable {% data variables.copilot.subagents_caps_short %}** toggle. + +#### Invoking {% data variables.copilot.subagents_short %} + +{% data reusables.copilot.using-subagents %} + +When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps. + ## File references By default, {% data variables.copilot.copilot_chat_short %} will reference the file that you have open or the code that you have selected. To attach a specific file as reference, click {% octicon "paperclip" aria-label="Add attachments" %} in the chat prompt box. @@ -592,6 +680,10 @@ To indicate whether a response was helpful, use {% octicon "thumbsup" aria-label {% endxcode %} + + + + {% eclipse %} ## Prerequisites @@ -632,19 +724,55 @@ To see all available slash commands, type `/` in the chat prompt box. {% data reusables.copilot.change-the-ai-model %} -## {% data variables.product.prodname_copilot_short %} agent mode +## Using plan mode + +{% data reusables.copilot.plan-agent-intro %} + +To use plan mode: + +1. If it is not already displayed, open the {% data variables.copilot.copilot_chat_short %} panel by clicking the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then clicking **Open Chat**. +1. At the bottom of the chat panel, select **Plan** from the agents dropdown. +1. Type a prompt that describes a task, such as adding a feature to an existing application, refactoring code, fixing a bug, or creating an initial version of a new application. + + For example: `Create a simple to-do app using JavaFX.` + +1. Submit the prompt. + + After a few moments, the plan agent outputs a plan in the chat panel. The plan provides a high-level summary and a breakdown of steps, including any open questions for clarification. + +{% data reusables.copilot.plan-agent-steps %} + +## Using {% data variables.product.prodname_copilot_short %} agent mode {% data reusables.copilot.copilot-edits.agent-mode-description %} -### Using agent mode +To use agent mode: -1. To open the {% data variables.copilot.copilot_chat_short %} panel, click the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then click **Open Chat**. +1. Open the {% data variables.copilot.copilot_chat_short %} panel by clicking the {% data variables.product.prodname_copilot_short %} icon ({% octicon "copilot" aria-hidden="true" aria-label="copilot" %}) in the status bar at the bottom of Eclipse, then clicking **Open Chat**. 1. At the bottom of the chat panel, select **Agent** from the agents dropdown. 1. Submit a prompt. In response to your prompt, {% data variables.product.prodname_copilot_short %} streams the edits in the editor, updates the working set, and if necessary, suggests terminal commands to run. 1. Review the changes. If {% data variables.product.prodname_copilot_short %} suggested terminal commands, confirm whether or not {% data variables.product.prodname_copilot_short %} can run them. In response, {% data variables.product.prodname_copilot_short %} iterates and performs additional actions to complete the task in your original prompt. {% data reusables.copilot.copilot-edits.agent-mode-requests %} +### Using {% data variables.copilot.subagents_short %} + +{% data reusables.copilot.subagent-intro %} + +To use {% data variables.copilot.subagents_short %}, you **must have {% data variables.copilot.custom_agents_short %} configured in your environment**. See [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). + +#### Enabling {% data variables.copilot.subagents_short %} + +1. Click the **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}** icon in the status bar. +1. In the popup menu, click **Edit Preferences**. +1. Under **Chat**, click the **Enable sub-agent** check box + +#### Invoking {% data variables.copilot.subagents_short %} + +{% data reusables.copilot.using-subagents %} + +When the {% data variables.copilot.subagent_short %} completes its task, its results appear back in the main chat session, ready for follow-up questions or next steps. + ## Further reading * [AUTOTITLE](/copilot/using-github-copilot/prompt-engineering-for-github-copilot) diff --git a/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md b/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md index cfa776d06666..522a61304fad 100644 --- a/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md +++ b/content/copilot/how-tos/configure-personal-settings/configure-in-ide.md @@ -17,7 +17,7 @@ topics: versions: feature: copilot contentType: how-tos -category: +category: - Configure Copilot --- @@ -360,6 +360,12 @@ You can configure the {% data variables.product.prodname_copilot %} extension to After updating the extension, Xcode must be restarted for the changes to take effect. +## Disabling {% data variables.copilot.next_edit_suggestions %} + +{% data variables.copilot.next_edit_suggestions_caps %} are enabled by default. To disable {% data variables.copilot.next_edit_suggestions %}, go to the "Advanced" tab in the {% data variables.product.prodname_copilot %} for Xcode extension settings. You can also choose to disable the option to "Accept suggestions with Tab". + +{% data reusables.copilot.editor-preview-settings %} + {% data reusables.copilot.dotcom-settings %} {% endxcode %} @@ -387,6 +393,12 @@ If you don't want to use the default keyboard shortcuts for {% data variables.pr For advanced settings, you can set auto-completion behavior, configure proxy, and assign a {% data variables.product.prodname_enterprise %} authentication endpoint. +## Enabling {% data variables.copilot.next_edit_suggestions %} + +You can enable {% data variables.copilot.next_edit_suggestions %} under "Completions" in the {% data variables.product.prodname_copilot %} extension settings in Eclipse. + +{% data reusables.copilot.editor-preview-settings %} + {% data reusables.copilot.dotcom-settings %} {% endeclipse %} diff --git a/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md b/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md index 589bca71aeac..a46789155ed8 100644 --- a/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md +++ b/content/copilot/how-tos/get-code-suggestions/get-ide-code-suggestions.md @@ -13,7 +13,7 @@ defaultTool: vscode topics: - Copilot contentType: how-tos -category: +category: - Author and optimize with Copilot --- @@ -25,7 +25,7 @@ category:
- + Get started for free {% octicon "link-external" height:16 aria-label="link-external" %} {% vscode %} @@ -523,6 +523,16 @@ If you encounter issues with code suggestions, such as conflicting or missing su You can also open an issue in the [{% data variables.product.prodname_copilot_short %} for Xcode repository](https://github.com/github/CopilotForXcode). +## Navigating and accepting {% data variables.copilot.next_edit_suggestions %} + +{% data variables.copilot.next_edit_suggestions_caps %} predicts where and what edits may be needed based on ongoing changes. + +You can navigate suggested code changes using Tab, making it easier to find the next relevant edit without manually searching through files or references. Press Tab again to accept a suggestion (unless you have disabled the "Accept suggestions with Tab" setting for the {% data variables.product.prodname_copilot %} for Xcode extension). + +An arrow in the gutter indicates an available edit suggestion. Hover over the arrow to access the edit suggestion menu, which provides keyboard shortcuts and settings options. + +![Screenshot of the gutter menu in Xcode. The arrow is outlined in dark orange.](/assets/images/help/copilot/xcode-advanced-code-completion-menu.png) + {% endxcode %} {% eclipse %} @@ -579,6 +589,16 @@ If you don't want to accept an entire suggestion from {% data variables.product. | macOS | Command+ | | Windows or Linux | Ctrl+ | +## Navigating and accepting {% data variables.copilot.next_edit_suggestions %} + +{% data variables.copilot.next_edit_suggestions_caps %} predicts where and what edits may be needed based on ongoing changes. + +You can navigate suggested code changes using Tab, making it easier to find the next relevant edit without manually searching through files or references. Press Tab again to accept a suggestion. + +An arrow in the gutter indicates an available edit suggestion. Hover over the arrow to access the edit suggestion menu, which provides keyboard shortcuts and settings options. + +![Screenshot of the gutter menu in Eclipse. The arrow is outlined in dark orange.](/assets/images/help/copilot/eclipse-advanced-code-completion-menu.png) + {% endeclipse %} ## Next steps diff --git a/content/copilot/how-tos/use-ai-models/change-the-chat-model.md b/content/copilot/how-tos/use-ai-models/change-the-chat-model.md index c090b61acff0..9505e9894e44 100644 --- a/content/copilot/how-tos/use-ai-models/change-the-chat-model.md +++ b/content/copilot/how-tos/use-ai-models/change-the-chat-model.md @@ -140,6 +140,8 @@ These instructions are for the JetBrains IDEs. For instructions on different cli 1. In the popup menu, click **Open {% data variables.copilot.copilot_chat %}**. 1. In the bottom right of the chat view, select an AI model of your choice from the **CURRENT-MODEL** {% octicon "chevron-down" aria-hidden="true" aria-label="chevron-down" %} dropdown menu, then click the AI model of your choice. +{% data reusables.copilot.auto-model-option %} + {% endjetbrains %} {% eclipse %} @@ -154,6 +156,8 @@ These instructions are for the Eclipse IDE. For instructions on different client 1. In the popup menu, click **Open Chat**. 1. In the bottom right of the chat panel, click the currently selected AI model, then select an alternative model from the popup menu. +{% data reusables.copilot.auto-model-option %} + {% endeclipse %} {% xcode %} @@ -169,6 +173,8 @@ To use multi-model {% data variables.copilot.copilot_chat_short %}, you must ins 1. To open the chat view, click **Editor** in the menu bar, then click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}** then **Open Chat**. {% data variables.copilot.copilot_chat_short %} opens in a new window. 1. In the bottom right of the chat view, select the **CURRENT-MODEL** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %} dropdown menu, then click the AI model of your choice. +{% data reusables.copilot.auto-model-option %} + {% endxcode %} ## Further reading diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/create-a-pr.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/create-a-pr.md index 4b3d73ed1951..bb2410889c88 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/create-a-pr.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/create-a-pr.md @@ -2,7 +2,7 @@ title: Asking GitHub Copilot to create a pull request shortTitle: Create a PR intro: 'You can ask {% data variables.product.prodname_copilot_short %} to create a pull request from many places, including {% data variables.product.prodname_github_issues %}, the agents panel, {% data variables.copilot.copilot_chat_short %}, the {% data variables.product.prodname_cli %}, and agentic coding tools and IDEs with Model Context Protocol (MCP) support.' -product: '{% data reusables.gated-features.copilot-coding-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' +product: '{% data reusables.gated-features.copilot-coding-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' versions: feature: copilot topics: @@ -37,7 +37,7 @@ You can ask {% data variables.product.prodname_copilot_short %} to create a new * {% data variables.product.prodname_github_issues %}, by [assigning an issue to {% data variables.product.prodname_copilot_short %}](#assigning-an-issue-to-copilot) * The [agents tab or panel](#asking-copilot-to-create-a-pull-request-from-the-agents-tab-or-panel) on {% data variables.product.github %} * The [dashboard](#asking-copilot-to-create-a-pull-request-from-the-dashboard) on {% data variables.product.github %} -* {% data variables.copilot.copilot_chat_short %} in [{% data variables.product.prodname_vscode %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-visual-studio-code), [JetBrains IDEs](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-jetbrains-ides), and [{% data variables.product.prodname_vs %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-visual-studio) +* {% data variables.copilot.copilot_chat_short %} in [{% data variables.product.prodname_vscode %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-visual-studio-code), [JetBrains IDEs](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-jetbrains-ides), [Eclipse](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-eclipse) and [{% data variables.product.prodname_vs %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-visual-studio) * {% data variables.copilot.copilot_chat_short %} on [{% data variables.product.prodname_dotcom_the_website %}](#asking-copilot-to-create-a-pull-request-from-copilot-chat-in-githubcom) * The [{% data variables.product.prodname_cli %}](#asking-copilot-to-create-a-pull-request-from-the-github-cli) * On [{% data variables.product.prodname_mobile %}](#asking-copilot-to-create-a-pull-request-from-github-mobile) @@ -299,6 +299,21 @@ You can ask {% data variables.product.prodname_copilot_short %} to open a pull r {% data variables.product.prodname_copilot_short %} will start a new session and respond with a link to the pull request it creates. It will work on the task and push changes to the pull request, and then add you as a reviewer when it has finished, triggering a notification from {% data variables.product.github %} and in the IDE. +## Asking {% data variables.product.prodname_copilot_short %} to create a pull request from {% data variables.copilot.copilot_chat_short %} in Eclipse + +> [!NOTE] +> {% data variables.copilot.copilot_coding_agent %} in Eclipse is in {% data variables.release-phases.public_preview %}, and subject to change. + +1. Open {% data variables.copilot.copilot_chat %} in Eclipse. +1. Type a prompt explaining what you want {% data variables.product.prodname_copilot_short %} to do. + + For example, `Put backticks around file names and variables in output` + +1. Click **{% octicon "agent" aria-label="The Agents icon" %}** next to the **Send** button. +1. In the dialog box that opens, select the repository you want {% data variables.product.prodname_copilot_short %} to work in, then click **Continue**. + + {% data variables.product.prodname_copilot_short %} will start a new session and respond with a link to the pull request it creates. It will work on the task and push changes to the pull request, and then add you as a reviewer when it has finished, triggering a notification from {% data variables.product.github %} and in the IDE. + ## Asking {% data variables.product.prodname_copilot_short %} to create a pull request from {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vs %} 1. Open {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vs %}. diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents.md index 6f48d74a01a8..56d49fa29799 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents.md @@ -9,10 +9,11 @@ topics: - Copilot --- -> [!NOTE] -> For a conceptual overview of {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents). +{% data variables.copilot.custom_agents_caps_short %} allow you to create specialized agents with tailored expertise for specific tasks. For a conceptual overview of {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents). -## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile for a repository +{% data reusables.copilot.custom-agents-ide-preview %} + +## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in a repository on {% data variables.product.github %} 1. Navigate to the agents tab at [https://github.com/copilot/agents](https://github.com/copilot/agents?ref_product=copilot&ref_type=engagement&ref_style=text&utm_source=docs-signup-custom-agents&utm_medium=docs&utm_campaign=universe25post). @@ -23,10 +24,56 @@ topics: 1. Optionally, select the branch you want to create the {% data variables.copilot.agent_profile %} in. The default is the main branch. 1. Click {% octicon "copilot" aria-label="Select a custom agent" %}, then click **{% octicon "plus" aria-label="Plus button" %} Create an agent**. This will open a template agent profile called `my-agent.agent.md` in the `.github/agents` directory of your target repository. -1. If you are creating an organization or enterprise-level custom agent, delete the `.github/` portion of the file path to move your template to the root `agents` directory. +1. If you are creating an organization or enterprise-level {% data variables.copilot.copilot_custom_agent_short %}, delete the `.github/` portion of the file path to move your template to the root `agents` directory. 1. Edit the filename (the text before `.agent.md`), selecting a unique, descriptive name that identifies the agent's purpose. Note that the filename may only contain the following characters: `.`, `-`, `_`, `a-z`, `A-Z`, `0-9`. -1. Configure the {% data variables.copilot.agent_profile %}, including the name, description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see the section below. -1. Commit the file to the repository and merge it into the default branch. Go back to the agents tab and refresh the page if needed. Your custom agent will now appear in the dropdown when you click {% octicon "copilot" aria-hidden="true" aria-label="copilot" %} in the prompt box. +1. Configure the {% data variables.copilot.agent_profile %}, including the name, description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile). +1. Commit the file to the repository and merge it into the default branch. Go back to the agents tab and refresh the page if needed. Your {% data variables.copilot.copilot_custom_agent_short %} will now appear in the dropdown when you click {% octicon "copilot" aria-hidden="true" aria-label="copilot" %} in the prompt box. + +## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in {% data variables.product.prodname_vscode %} + +1. Open {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vscode %}. +1. From the agents dropdown at the bottom of the chat view, click **Configure Custom Agents...**, then click **{% octicon "plus" aria-label="Plus button" %} Create new custom agent**. +1. Choose the location where the {% data variables.copilot.agent_profile %} should be created: + * **Workspace**: Create the {% data variables.copilot.copilot_custom_agent_short %} profile in the `.github/agents` folder of your workspace to only use it within that workspace. + * **User profile**: Create the {% data variables.copilot.copilot_custom_agent_short %} profile in the current user profile folder to use it across all your workspaces. +1. Enter a file name for the {% data variables.copilot.copilot_custom_agent_short %}. This is the default name that appears in the agents dropdown. +1. Configure the {% data variables.copilot.agent_profile %} in the newly created `.agent.md` file, including the description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile). + * You can use the **Configure Tools...** button within the editor to open the "Configure Tools" dialog, where you can view and select available tools, including built-in tools and tools from MCP servers. Click **OK** to add selected tools to the {% data variables.copilot.agent_profile %}. + * To set which AI model the agent uses, add a `model:` property and select your preferred model from the autocomplete dropdown. + +To update an {% data variables.copilot.agent_profile %}, select **Configure Custom Agents** from the agents dropdown, and then click on an agent from the list to modify it. For more information on {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode_shortname %}, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents). + +## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in JetBrains IDEs + +1. Open the {% data variables.copilot.copilot_chat %} window in your JetBrains IDE. +2. From the agents dropdown at the bottom of the chat view, click **Configure Agents...**, then in the settings window, under "Chat Agents", click **Workspace**. +1. Enter a file name for the {% data variables.copilot.copilot_custom_agent_short %}. This is the default name that appears in the agents dropdown. +1. Configure the {% data variables.copilot.agent_profile %} in the newly created `.agent.md` file in the `.github/agents` directory, including the description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile). + * You can use the **Configure Tools...** button within the editor to open the tools dialog, where you can view and select available tools, including built-in tools and tools from MCP servers. Click **Apply** to add selected tools to the {% data variables.copilot.agent_profile %}. + * To set which AI model the agent uses, add a `model:` property and select your preferred model from the autocomplete dropdown. + +To update an {% data variables.copilot.agent_profile %}, select **Configure Custom Agents** from the agents dropdown, and then click {% octicon "pencil" aria-label="The pencil icon" %} next to the agent you want to modify. + +## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in Eclipse + +1. Open the {% data variables.copilot.copilot_chat %} window in Eclipse. +1. From the agents dropdown at the bottom of the chat view, click **Configure Agents...**, then click **Add...**. +1. Enter a file name for the {% data variables.copilot.copilot_custom_agent_short %}. This is the default name that appears in the agents dropdown. +1. Configure the {% data variables.copilot.agent_profile %} in the newly created `.agent.md` file in the `.github/agents` directory, including the description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile). + * You can use the **Configure Tools...** button within the editor to open the "Configure Tools" dialog, where you can view and select available tools, including built-in tools and tools from MCP servers. Click **Apply** to add selected tools to the {% data variables.copilot.agent_profile %}. + * To set which AI model the agent uses, add a `model:` property and select your preferred model from the autocomplete dropdown. + +To update an {% data variables.copilot.agent_profile %}, select **Configure Agents...** from the agents dropdown, and then select the agent you want to modify and click **Edit**. + +## Creating a {% data variables.copilot.copilot_custom_agent_short %} profile in Xcode + +1. Open the {% data variables.copilot.copilot_chat %} window in Xcode. +1. From the agents dropdown at the bottom of the chat view, click **{% octicon "plus" aria-label="Plus button" %} Create an agent**. +1. Enter a file name for the {% data variables.copilot.copilot_custom_agent_short %}. This is the default name that appears in the agents dropdown. +1. Configure the {% data variables.copilot.agent_profile %} in the newly created `.agent.md` file in the `.github/agents` directory, including the description, tools, and prompts. For more information on what the {% data variables.copilot.agent_profile %} can include, see [Configuring an {% data variables.copilot.agent_profile %}](#configuring-an-agent-profile). + * You can use the **Customize Agent** button within the file editor to open a dialog, where you can select the AI model for the agent to use, select available tools (including built-in and MCP server tools), and configure the `handoffs` property for transitioning between custom agents. Click **Apply** to add selected options to the {% data variables.copilot.agent_profile %}. + +To update an {% data variables.copilot.agent_profile %}, from the agents dropdown, click the pencil icon next to the agent you want to modify. ## Configuring an {% data variables.copilot.agent_profile %} @@ -39,8 +86,9 @@ To configure your {% data variables.copilot.agent_profile %}: 1. Optionally, write a `name` for your {% data variables.copilot.copilot_custom_agent_short %}. If unset, the name will default to the filename (without the `.md` or `.agent.md` suffix). 1. Write a brief `description` (required) explaining what your agent does and its specific capabilities or domain expertise. 1. In the `tools` property, define which tools the agent can use. This is a list of tool names or aliases, including tools from MCP servers configured in the repository settings or the {% data variables.copilot.agent_profile %} (for example, `tools: ["read", "edit", "search", "some-mcp-server/tool-1"]`). If you omit this property, the agent will have access to all available tools. -1. If creating an organization or enterprise level agent, you can use the `mcp-servers` property to optionally configure MCP servers that will be available only to this agent to extend its capabilities. -1. Optionally, set the `target` property to `vscode` or `github-copilot` if you want to only use the agent in a specific environment. The agent will be available in both environments if you omit the property. +1. If creating an organization or enterprise level agent on {% data variables.product.github %}, you can use the `mcp-servers` property to optionally configure MCP servers that will be available only to this agent to extend its capabilities. +1. If you are creating and using the {% data variables.copilot.agent_profile %} in {% data variables.product.prodname_vscode_shortname %}, JetBrains IDEs, Eclipse, or Xcode, you can also use the `model` property to control which AI model the agent should use. +1. Optionally, set the `target` property to either `vscode` or `github-copilot` if you want to only use the agent in a specific environment. The agent will be available in both environments if you omit the property. 1. Write the agent's prompt. Define the agent's behavior, expertise, and instructions in the Markdown content below the YAML frontmatter. ## Example {% data variables.copilot.agent_profiles %} @@ -53,17 +101,19 @@ Once you've created a {% data variables.copilot.copilot_custom_agent_short %}, y * When prompting {% data variables.copilot.copilot_coding_agent %} with a task on {% data variables.product.prodname_dotcom_the_website %}, use the dropdown menu in the agents panel or agents tab to select your {% data variables.copilot.copilot_custom_agent_short %} instead of the default coding agent. * When assigning {% data variables.copilot.copilot_coding_agent %} to an issue, you can select your {% data variables.copilot.copilot_custom_agent_short %} from the dropdown menu to handle the issue with your specialized configuration. -* When using the {% data variables.copilot.copilot_cli %}, you can choose to use a particular custom agent by using the `/agent` slash command or referencing the agent in a prompt or via a command-line argument. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents). +* When using the {% data variables.copilot.copilot_cli %}, you can choose to use a particular {% data variables.copilot.copilot_custom_agent_short %} by using the `/agent` slash command or referencing the agent in a prompt or via a command-line argument. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents). When {% data variables.product.prodname_copilot_short %} opens pull requests, it will note which {% data variables.copilot.copilot_custom_agent_short %} was used to complete the work in the pull request description. For more information on using {% data variables.copilot.copilot_coding_agent %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-a-pr). -### Using {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode_shortname %} +### Using {% data variables.copilot.custom_agents_short %} in your IDE + +You can also use your custom {% data variables.copilot.agent_profiles %} directly in supported IDEs, including {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, and Xcode. You can switch between {% data variables.copilot.custom_agents_short %} using the agent dropdown in the Chat window, allowing you to access specialized configurations for different tasks like planning, code editing, or research. -You can also use your custom {% data variables.copilot.agent_profiles %} directly in {% data variables.product.prodname_vscode %}. In {% data variables.product.prodname_vscode_shortname %}, you switch between {% data variables.copilot.custom_agents_short %} using the mode dropdown in the Chat view, allowing you to access specialized configurations for different tasks like planning, code editing, or research. For more information, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents). +Note that some properties may function differently, or be ignored, between the {% data variables.product.prodname_dotcom_the_website %} and IDE environments. For more information on supported properties, see [AUTOTITLE](/copilot/reference/custom-agents-configuration#yaml-frontmatter-properties). -Note that some properties may function differently, or be ignored, between the {% data variables.product.prodname_dotcom_the_website %} and {% data variables.product.prodname_vscode_shortname %} environments. For more information on supported properties, see [AUTOTITLE](/copilot/reference/custom-agents-configuration#yaml-frontmatter-properties). +For more information on {% data variables.copilot.custom_agents_short %} in {% data variables.product.prodname_vscode_shortname %} specifically, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents) in the {% data variables.product.prodname_vscode_shortname %} documentation. ## Next steps diff --git a/content/copilot/how-tos/use-copilot-agents/coding-agent/track-copilot-sessions.md b/content/copilot/how-tos/use-copilot-agents/coding-agent/track-copilot-sessions.md index 3e214db3837b..8e79088ea135 100644 --- a/content/copilot/how-tos/use-copilot-agents/coding-agent/track-copilot-sessions.md +++ b/content/copilot/how-tos/use-copilot-agents/coding-agent/track-copilot-sessions.md @@ -1,8 +1,8 @@ --- title: Tracking GitHub Copilot's sessions shortTitle: Track Copilot sessions -intro: 'You can use the agents panel or page, {% data variables.product.prodname_vscode %}, JetBrains IDEs, the {% data variables.product.prodname_cli %}, Raycast and session logs to track {% data variables.product.prodname_copilot_short %}''s progress and understand its approach.' -product: '{% data reusables.gated-features.copilot-coding-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' +intro: 'You can use the agents panel or page, {% data variables.product.prodname_vscode %}, JetBrains IDEs, Eclipse, the {% data variables.product.prodname_cli %}, Raycast and session logs to track {% data variables.product.prodname_copilot_short %}''s progress and understand its approach.' +product: '{% data reusables.gated-features.copilot-coding-agent %}
Sign up for {% data variables.product.prodname_copilot_short %} {% octicon "link-external" height:16 %}' versions: feature: copilot topics: @@ -96,6 +96,19 @@ For each session listed, you can see its status at a glance. Click **Open in Bro {% data variables.product.prodname_copilot_short %} will also notify you when an agent job has started and finished. +## Tracking sessions from Eclipse + +> [!NOTE] +> {% data variables.copilot.copilot_coding_agent %} in Eclipse is in {% data variables.release-phases.public_preview %}, and subject to change. + +You can see a list of your running and past agent sessions for a project in Eclipse with the {% data variables.copilot.copilot_chat %} extension. See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension?tool=eclipse). + +You can see all of {% data variables.product.prodname_copilot_short %}'s sessions by clicking **{% octicon "agent" aria-label="The Agents icon" %}** at the top right of the chat window, or by clicking the **Open Job List** button after delegating a task to {% data variables.product.prodname_copilot_short %} from {% data variables.copilot.copilot_chat %}. + +For each session listed, you can see its status at a glance. Click **Open in Browser** to open the pull request in your browser, or right-click on a running job then click **Cancel Job** to cancel. + +{% data variables.product.prodname_copilot_short %} will also notify you when an agent job has started and finished. + ## Tracking sessions from {% data variables.product.prodname_mobile %} You can see a list of your running and past pull requests generated by agents in {% data variables.product.prodname_mobile %}. diff --git a/content/copilot/reference/ai-models/model-hosting.md b/content/copilot/reference/ai-models/model-hosting.md index 95bce5d792bb..c02262393678 100644 --- a/content/copilot/reference/ai-models/model-hosting.md +++ b/content/copilot/reference/ai-models/model-hosting.md @@ -68,8 +68,9 @@ When using {% data variables.copilot.copilot_claude %}, input prompts and output Used for: * {% data variables.copilot.copilot_gemini_25_pro %} +* {% data variables.copilot.copilot_gemini_3_pro %} -{% data variables.product.prodname_copilot %} uses {% data variables.copilot.copilot_gemini_25_pro %} hosted on Google Cloud Platform (GCP). When using {% data variables.copilot.copilot_gemini %} models, prompts and metadata are sent to GCP, which makes the [following data commitment](https://cloud.google.com/vertex-ai/generative-ai/docs/data-governance): _{% data variables.copilot.copilot_gemini %} doesn't use your prompts, or its responses, as data to train its models._ +{% data variables.product.prodname_copilot %} uses {% data variables.copilot.copilot_gemini_3_pro %} and {% data variables.copilot.copilot_gemini_25_pro %} hosted on Google Cloud Platform (GCP). When using {% data variables.copilot.copilot_gemini %} models, prompts and metadata are sent to GCP, which makes the [following data commitment](https://cloud.google.com/vertex-ai/generative-ai/docs/data-governance): _{% data variables.copilot.copilot_gemini %} doesn't use your prompts, or its responses, as data to train its models._ To provide better service quality and reduce latency, {% data variables.product.github %} uses [prompt caching](https://cloud.google.com/vertex-ai/generative-ai/docs/data-governance#customer_data_retention_and_achieving_zero_data_retention). diff --git a/content/copilot/reference/custom-agents-configuration.md b/content/copilot/reference/custom-agents-configuration.md index 55debdb400ba..0a9633afc0e8 100644 --- a/content/copilot/reference/custom-agents-configuration.md +++ b/content/copilot/reference/custom-agents-configuration.md @@ -11,13 +11,15 @@ contentType: reference This reference article provides detailed configuration information for {% data variables.copilot.custom_agents_short %}. For general information about creating {% data variables.copilot.custom_agents_short %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). +{% data reusables.copilot.custom-agents-ide-preview %} + ## YAML frontmatter properties The following table outlines the properties that are supported in repository-level {% data variables.copilot.agent_profiles %}, organization or enterprise level {% data variables.copilot.agent_profiles %}, and in {% data variables.product.prodname_vscode_shortname %}. {% rowheaders %} -| Property | Type | Purpose | Repository | Organization / enterprise | {% data variables.product.prodname_vscode_shortname %} | +| Property | Type | Purpose | Repository | Organization / enterprise | {% data variables.product.prodname_vscode_shortname %}, JetBrains IDEs, Eclipse, and Xcode | | ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------- | ------------------ | | `name` | string | Unique name for the {% data variables.copilot.copilot_custom_agent_short %}. Optional, if unset defaults to the filename (without `.md` or `.agent.md` suffix).
Lowest level configuration takes precedence when there is a naming conflict. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | `description` | **Required** string | Description of the {% data variables.copilot.copilot_custom_agent_short %}'s purpose and capabilities | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | @@ -29,19 +31,19 @@ The following table outlines the properties that are supported in repository-lev {% endrowheaders %} > [!NOTE] -> The `model`, `argument-hint`, and `handoffs` properties from {% data variables.product.prodname_vscode_shortname %} {% data variables.copilot.custom_agents_short %} are currently not supported for {% data variables.copilot.copilot_coding_agent %} on {% data variables.product.prodname_dotcom_the_website %}. They are ignored to ensure compatibility. For more information on {% data variables.copilot.copilot_custom_agent_short %} file structure in {% data variables.product.prodname_vscode_shortname %}, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents#_custom-agent-file-structure) in the {% data variables.product.prodname_vscode_shortname %} documentation. +> The `model`, `argument-hint`, and `handoffs` properties from {% data variables.product.prodname_vscode_shortname %} and other IDE {% data variables.copilot.custom_agents_short %} are currently not supported for {% data variables.copilot.copilot_coding_agent %} on {% data variables.product.prodname_dotcom_the_website %}. They are ignored to ensure compatibility. For more information on {% data variables.copilot.copilot_custom_agent_short %} file structure in {% data variables.product.prodname_vscode_shortname %}, see [{% data variables.copilot.custom_agents_caps_short %} in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/copilot/customization/custom-agents#_custom-agent-file-structure) in the {% data variables.product.prodname_vscode_shortname %} documentation. ## Tools -The custom agent `tools` property controls which tools are available to your agent, including those from MCP servers. +The {% data variables.copilot.copilot_custom_agent_short %} `tools` property controls which tools are available to your agent, including those from MCP servers. -While you cannot configure MCP servers directly within an {% data variables.copilot.agent_profile %} for repository-level {% data variables.copilot.custom_agents_short %}, your custom agent will have access to MCP server tools that have been configured in the repository settings. For more information on configuring MCP servers for coding agent in a repository, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp). +While you cannot configure MCP servers directly within an {% data variables.copilot.agent_profile %} for repository-level {% data variables.copilot.custom_agents_short %}, your {% data variables.copilot.copilot_custom_agent_short %} will have access to MCP server tools that have been configured in the repository settings. For more information on configuring MCP servers for coding agent in a repository, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp). You can configure `tools` using the following approaches: * **Enable all available tools**: Omit the `tools` property entirely or use `tools: ["*"]` to enable all available tools. This will include all MCP server tools configured in the repository settings. * **Enable specific tools**: Provide a list of specific tool names or aliases (for example, `tools: ["read", "edit", "search"]`) to enable only those tools. For available tool aliases, see [Tool aliases](#tool-aliases) below. - * Note that if your repository has MCP servers configured, you can choose to make only specific tools from those servers available to your custom agent. Tool names from specific MCP servers can be prefixed with the server name followed by a `/`. For example, `some-mcp-server/some-tool`. + * Note that if your repository has MCP servers configured, you can choose to make only specific tools from those servers available to your {% data variables.copilot.copilot_custom_agent_short %}. Tool names from specific MCP servers can be prefixed with the server name followed by a `/`. For example, `some-mcp-server/some-tool`. * You can also explicitly enable all tools from a specific MCP server using `some-mcp-server/*`. * Tools from {% data variables.product.prodname_vscode_shortname %} extensions can use the extension name as a proxy, like `azure.some-extension/some-tool`. * **Disable all tools**: Use an empty list (`tools: []`) to disable all tools for the agent. diff --git a/content/rest/billing/billing.md b/content/rest/billing/billing.md index efefe23d9831..602b33cd7779 100644 --- a/content/rest/billing/billing.md +++ b/content/rest/billing/billing.md @@ -6,11 +6,11 @@ intro: Use the REST API to get billing information. topics: - API versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 - fpt: '*' ghec: '*' ghes: '*' redirect_from: - /rest/reference/billing + - /rest/enterprise-admin/billing autogenerated: rest --- diff --git a/content/rest/billing/enhanced-billing.md b/content/rest/billing/budgets.md similarity index 56% rename from content/rest/billing/enhanced-billing.md rename to content/rest/billing/budgets.md index 888dace49784..c5f345cafeae 100644 --- a/content/rest/billing/enhanced-billing.md +++ b/content/rest/billing/budgets.md @@ -1,15 +1,15 @@ --- -title: Enhanced billing platform -intro: Use the REST API to get billing usage information from the enhanced billing platform. +title: Budgets +intro: Use the REST API to get budget information. versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 fpt: '*' ghec: '*' topics: - API autogenerated: rest +redirect_from: + - /rest/billing/enhanced-billing allowTitleToDifferFromFilename: true --- -{% data reusables.billing.usage-reports-api-limitation %} - diff --git a/content/rest/billing/cost-centers.md b/content/rest/billing/cost-centers.md new file mode 100644 index 000000000000..8e06b9263d7f --- /dev/null +++ b/content/rest/billing/cost-centers.md @@ -0,0 +1,12 @@ +--- +title: Cost centers +intro: Use the REST API to get cost center information. +versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 + ghec: '*' +topics: + - API +autogenerated: rest +allowTitleToDifferFromFilename: true +--- + + diff --git a/content/rest/billing/index.md b/content/rest/billing/index.md index 64d58fcc0b45..dc693eb9cad9 100644 --- a/content/rest/billing/index.md +++ b/content/rest/billing/index.md @@ -11,7 +11,9 @@ versions: ghes: '*' children: - /billing - - /enhanced-billing + - /budgets + - /cost-centers + - /usage autogenerated: rest --- diff --git a/content/rest/billing/usage.md b/content/rest/billing/usage.md new file mode 100644 index 000000000000..345e5f538903 --- /dev/null +++ b/content/rest/billing/usage.md @@ -0,0 +1,13 @@ +--- +title: Billing usage +intro: Use the REST API to get billing usage information. +versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 + fpt: '*' + ghec: '*' +topics: + - API +autogenerated: rest +allowTitleToDifferFromFilename: true +--- + + diff --git a/content/rest/enterprise-admin/billing.md b/content/rest/enterprise-admin/billing.md deleted file mode 100644 index e8327de1ed7f..000000000000 --- a/content/rest/enterprise-admin/billing.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: REST API endpoints for enterprise billing -shortTitle: Billing -allowTitleToDifferFromFilename: true -intro: >- - Use the REST API to retrieve the billing information for a {% data - variables.product.prodname_ghe_server %} instance. -versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 - ghec: '*' - ghes: '*' -topics: - - API -autogenerated: rest ---- - -{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} - -The `manage_billing:enterprise` scope is required for {% data variables.product.pat_v1_plural %} to access these endpoints. - -> [!IMPORTANT] The API currently supports adding or removing up to 50 resources in a single operation. - -{% data reusables.billing.usage-reports-api-limitation %} - - diff --git a/content/rest/enterprise-admin/index.md b/content/rest/enterprise-admin/index.md index 921e4fbefffe..9e5ed49e3452 100644 --- a/content/rest/enterprise-admin/index.md +++ b/content/rest/enterprise-admin/index.md @@ -16,7 +16,6 @@ children: - /admin-stats - /announcement - /audit-log - - /billing - /bypass-requests - /code-security-and-analysis - /custom-properties @@ -25,7 +24,7 @@ children: - /enterprises - /global-webhooks - /ldap - - /license + - /licensing - /manage-ghes - /management-console - /network-configurations diff --git a/content/rest/enterprise-admin/license.md b/content/rest/enterprise-admin/license.md deleted file mode 100644 index a3260fe5641e..000000000000 --- a/content/rest/enterprise-admin/license.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: REST API endpoints for enterprise licenses -shortTitle: License -allowTitleToDifferFromFilename: true -intro: Use the REST API to retrieve information about your Enterprise license. -versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 - ghec: '*' - ghes: '*' -topics: - - API -autogenerated: rest ---- - -These endpoints are only available to [authenticated](/rest/overview/authenticating-to-the-rest-api) site administrators. Normal users will receive a `404` response. - -{% data reusables.user-settings.enterprise-admin-api-classic-pat-only %} - - diff --git a/content/rest/enterprise-admin/licensing.md b/content/rest/enterprise-admin/licensing.md new file mode 100644 index 000000000000..4729163f5717 --- /dev/null +++ b/content/rest/enterprise-admin/licensing.md @@ -0,0 +1,15 @@ +--- +title: Licensing +intro: Use the REST API to get licensing information. +versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖 + ghec: '*' + ghes: '*' +topics: + - API +autogenerated: rest +redirect_from: + - /rest/enterprise-admin/license +allowTitleToDifferFromFilename: true +--- + + diff --git a/content/rest/orgs/artifact-metadata.md b/content/rest/orgs/artifact-metadata.md index 520a5e719de9..079d6190e59f 100644 --- a/content/rest/orgs/artifact-metadata.md +++ b/content/rest/orgs/artifact-metadata.md @@ -11,4 +11,6 @@ autogenerated: rest allowTitleToDifferFromFilename: true --- +When you view {% data variables.product.prodname_dependabot %} or {% data variables.product.prodname_code_scanning %} alerts for an organization, you can use artifact metadata to filter and prioritize alerts, see [AUTOTITLE](/code-security/securing-your-organization/understanding-your-organizations-exposure-to-vulnerabilities/alerts-in-production-code). + diff --git a/data/reusables/copilot/auto-model-option.md b/data/reusables/copilot/auto-model-option.md index ab3edc7b9cdc..8477eca8e3d7 100644 --- a/data/reusables/copilot/auto-model-option.md +++ b/data/reusables/copilot/auto-model-option.md @@ -1 +1 @@ -If you select **Auto**, {% data variables.copilot.copilot_auto_model_selection %} will select the best model based on availability and avoiding rate limiting. See [AUTOTITLE](/copilot/concepts/auto-model-selection). \ No newline at end of file +> [!NOTE] If you select **Auto**, {% data variables.copilot.copilot_auto_model_selection %} will select the best model based on availability and to help reduce rate limiting. See [AUTOTITLE](/copilot/concepts/auto-model-selection). \ No newline at end of file diff --git a/data/reusables/copilot/auto-model-selection.md b/data/reusables/copilot/auto-model-selection.md index 29110fa3e9ad..db0e79438f45 100644 --- a/data/reusables/copilot/auto-model-selection.md +++ b/data/reusables/copilot/auto-model-selection.md @@ -1 +1 @@ -When you use {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_vscode_shortname %} or {% data variables.product.prodname_vs %}, **Auto** will automatically select the best model for you based on availability. You can manually choose a different model to override this selection. See [AUTOTITLE](/copilot/concepts/auto-model-selection) and [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model?tool=vscode). +When you use {% data variables.copilot.copilot_chat_short %} in supported IDEs, **Auto** will automatically select the best model for you based on availability. You can manually choose a different model to override this selection. See [AUTOTITLE](/copilot/concepts/auto-model-selection) and [AUTOTITLE](/copilot/how-tos/use-ai-models/change-the-chat-model?tool=vscode). diff --git a/data/reusables/copilot/copilot-edits/agent-mode-requests.md b/data/reusables/copilot/copilot-edits/agent-mode-requests.md index 6d860b2b8a47..06fea0665288 100644 --- a/data/reusables/copilot/copilot-edits/agent-mode-requests.md +++ b/data/reusables/copilot/copilot-edits/agent-mode-requests.md @@ -1,3 +1,3 @@ -When you use {% data variables.copilot.copilot_agent_short %} mode, each prompt you enter counts as one premium request, multiplied by the model’s multiplier. For example, if you're using the included model—which has a multiplier of 0—your prompts won’t consume any premium requests. {% data variables.product.prodname_copilot_short %} may take several follow-up actions to complete your task, but these follow-up actions do **not** count toward your premium request usage. Only the prompts you enter are billed—tool calls or background steps taken by the agent are not charged. +When you use agent mode, each prompt you enter counts as one premium request, multiplied by the model’s multiplier. For example, if you're using the included model—which has a multiplier of 0—your prompts won’t consume any premium requests. {% data variables.product.prodname_copilot_short %} may take several follow-up actions to complete your task, but these follow-up actions do **not** count toward your premium request usage. Only the prompts you enter are billed—tool calls or background steps taken by the agent are not charged. The total number of premium requests you use depends on how many prompts you enter and which model you select. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/monitoring-usage-and-entitlements/avoiding-unexpected-copilot-costs). diff --git a/data/reusables/copilot/custom-agents-ide-preview.md b/data/reusables/copilot/custom-agents-ide-preview.md new file mode 100644 index 000000000000..7258ff280bb0 --- /dev/null +++ b/data/reusables/copilot/custom-agents-ide-preview.md @@ -0,0 +1,2 @@ +> [!NOTE] +> {% data variables.copilot.custom_agents_caps_short %} are in {% data variables.release-phases.public_preview %} for JetBrains IDEs, Eclipse, and Xcode, and subject to change. diff --git a/data/reusables/copilot/mcp-custom-agents-org-enterprise-only.md b/data/reusables/copilot/mcp-custom-agents-org-enterprise-only.md index 09d15dca46f7..87faccc849e9 100644 --- a/data/reusables/copilot/mcp-custom-agents-org-enterprise-only.md +++ b/data/reusables/copilot/mcp-custom-agents-org-enterprise-only.md @@ -1,2 +1,2 @@ > [!NOTE] -> MCP servers can only be configured in {% data variables.copilot.copilot_custom_agent_short %} profiles at the organization and enterprise level. Repository-level {% data variables.copilot.custom_agents_short %} do not support MCP server configuration. +> MCP servers can only be configured directly within {% data variables.copilot.copilot_custom_agent_short %} profiles at the organization and enterprise level. Repository-level {% data variables.copilot.custom_agents_short %} cannot have MCP servers configured directly in their profiles, but can use tools from MCP servers configured in the repository's settings. diff --git a/data/reusables/copilot/optional-select-custom-agent.md b/data/reusables/copilot/optional-select-custom-agent.md index e7560cc1ee41..1cc5352fccf4 100644 --- a/data/reusables/copilot/optional-select-custom-agent.md +++ b/data/reusables/copilot/optional-select-custom-agent.md @@ -1 +1 @@ -1. Optionally, you can click {% octicon "copilot" aria-hidden="true" aria-label="copilot" %} to open the "Custom agent" dropdown menu, if you want to assign a custom agent with specialized behavior and tools. You can select an existing custom agent from your repository, organization, or enterprise. You can also click **{% octicon "plus" aria-label="Plus button" %} Create an agent** to create a new {% data variables.copilot.agent_profile %} in your selected repository and branch. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). +1. Optionally, you can click {% octicon "copilot" aria-hidden="true" aria-label="copilot" %} to open the "Custom agent" dropdown menu, if you want to assign a {% data variables.copilot.copilot_custom_agent_short %} with specialized behavior and tools. You can select an existing {% data variables.copilot.copilot_custom_agent_short %} from your repository, organization, or enterprise. You can also click **{% octicon "plus" aria-label="Plus button" %} Create an agent** to create a new {% data variables.copilot.agent_profile %} in your selected repository and branch. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents). diff --git a/data/reusables/copilot/plan-agent-intro.md b/data/reusables/copilot/plan-agent-intro.md new file mode 100644 index 000000000000..2c68686c0bbf --- /dev/null +++ b/data/reusables/copilot/plan-agent-intro.md @@ -0,0 +1,10 @@ +> [!NOTE] +> Plan mode is currently in {% data variables.release-phases.public_preview %} and subject to change. + +Plan mode helps you to create detailed implementation plans before executing them. This ensures that all requirements are considered and addressed before any code changes are made. The plan agent does not make any code changes until the plan is reviewed and approved by you. Once approved, you can hand off the plan to the default agent or save it for further refinement, review, or team discussions. + +The plan agent is designed to: + +* Research the task comprehensively using read-only tools and codebase analysis to identify requirements and constraints. +* Break down the task into manageable, actionable steps and include open questions about ambiguous requirements. +* Present a concise plan draft, based on a standardized plan format, for user review and iteration. diff --git a/data/reusables/copilot/plan-agent-steps.md b/data/reusables/copilot/plan-agent-steps.md new file mode 100644 index 000000000000..9a3fe3e5722f --- /dev/null +++ b/data/reusables/copilot/plan-agent-steps.md @@ -0,0 +1,8 @@ +1. Review the plan and answer any questions the agent has asked. + + You can iterate multiple times to clarify requirements, adjust scope, or answer questions. + +1. Once the plan is complete you can: + + * Click **Start Implementation** to switch {% data variables.copilot.copilot_chat_short %} to agent mode and start an agent session to implement the required changes, based on the implementation plan. + * Click **Open in Editor** to switch {% data variables.copilot.copilot_chat_short %} to agent mode and start an agent session that generates Markdown, in a tab of your editor, with the details of the implementation plan. You can start to work through the plan yourself, or save the plan as a Markdown file for later use. diff --git a/data/reusables/copilot/subagent-intro.md b/data/reusables/copilot/subagent-intro.md new file mode 100644 index 000000000000..9a6ff6322f20 --- /dev/null +++ b/data/reusables/copilot/subagent-intro.md @@ -0,0 +1,8 @@ +You can use {% data variables.copilot.subagents_short %} to delegate tasks to an isolated agent with its own context window within your chat session. The {% data variables.copilot.subagent_short %} operates independently without pausing for user feedback and returns the final result to the main chat session. + +{% data variables.copilot.subagents_caps_short %} are best suited for situations where: +* You want to delegate complex, multi-step tasks like research or analysis without interrupting your main session. +* You need to process large amounts of information or multiple documents that would clutter your primary context window. +* You want to explore different approaches or perspectives independently without mixing contexts together. + +{% data variables.copilot.subagents_caps_short %} use the same tools and AI model as the main session, but they cannot create other {% data variables.copilot.subagents_short %}. \ No newline at end of file diff --git a/data/reusables/copilot/using-subagents.md b/data/reusables/copilot/using-subagents.md new file mode 100644 index 000000000000..e8b913dd2e2e --- /dev/null +++ b/data/reusables/copilot/using-subagents.md @@ -0,0 +1,10 @@ +{% data variables.copilot.subagents_caps_short %} can be invoked in different ways: + +* **Automatic delegation**. {% data variables.product.prodname_copilot_short %} will analyze the description of your request, the description field of your configured {% data variables.copilot.custom_agents_short %}, and the current context and available tools to automatically choose a {% data variables.copilot.subagent_short %}. For example, this prompt would automatically delegate the task to a **refactor-specialist** {% data variables.copilot.copilot_custom_agent_short %}: + ```text + Suggest ways to refactor this legacy code. + ``` +* **Direct invocation**. You can directly call the {% data variables.copilot.subagent_short %} in your prompt: + ```text + Use the testing subagent to write unit tests for the authentication module. + ``` \ No newline at end of file diff --git a/data/reusables/github-models/production-rate-limits-note.md b/data/reusables/github-models/production-rate-limits-note.md index 9244066066fa..b2ca6bcfe0de 100644 --- a/data/reusables/github-models/production-rate-limits-note.md +++ b/data/reusables/github-models/production-rate-limits-note.md @@ -1 +1 @@ -> [!NOTE] Once you opt in to paid usage, you will have access to production grade rate limits and be billed for all usage thereafter. For more information about these rate limits, see [Azure AI Foundry Models quotas and limits](https://learn.microsoft.com/en-us/azure/ai-foundry/model-inference/quotas-limits) in the Azure documentation. +> [!NOTE] Once you opt in to paid usage, you will have access to production grade rate limits and be billed for all usage thereafter. For more information about these rate limits, see [Microsoft Foundry Models quotas and limits](https://learn.microsoft.com/en-us/azure/ai-foundry/model-inference/quotas-limits) in the Azure documentation. diff --git a/data/reusables/security/production-context-mdc-preview.md b/data/reusables/security/production-context-mdc-preview.md new file mode 100644 index 000000000000..83b2160f776d --- /dev/null +++ b/data/reusables/security/production-context-mdc-preview.md @@ -0,0 +1,2 @@ +> [!NOTE] +> Production context and the integration with {% data variables.product.prodname_microsoft_defender %} is in {% data variables.release-phases.public_preview %} and subject to change. diff --git a/data/tables/copilot/model-multipliers.yml b/data/tables/copilot/model-multipliers.yml index 30e117c01810..10ce00d0ad46 100644 --- a/data/tables/copilot/model-multipliers.yml +++ b/data/tables/copilot/model-multipliers.yml @@ -29,6 +29,10 @@ multiplier_paid: 1 multiplier_free: Not applicable +- name: Gemini 3 Pro + multiplier_paid: 1 + multiplier_free: Not applicable + - name: GPT-4.1 multiplier_paid: 0 multiplier_free: 1 diff --git a/data/tables/copilot/model-release-status.yml b/data/tables/copilot/model-release-status.yml index 607b9f623d9d..78ef028992e9 100644 --- a/data/tables/copilot/model-release-status.yml +++ b/data/tables/copilot/model-release-status.yml @@ -105,6 +105,13 @@ ask_mode: true edit_mode: true +- name: 'Gemini 3 Pro' + provider: 'Google' + release_status: 'Public preview' + agent_mode: true + ask_mode: true + edit_mode: true + # xAI models - name: 'Grok Code Fast 1' provider: 'xAI' diff --git a/data/tables/copilot/model-supported-clients.yml b/data/tables/copilot/model-supported-clients.yml index 79f01ac27f71..151dc7bcc116 100644 --- a/data/tables/copilot/model-supported-clients.yml +++ b/data/tables/copilot/model-supported-clients.yml @@ -53,6 +53,14 @@ xcode: true jetbrains: true +- name: Gemini 3 Pro + dotcom: true + vscode: true + vs: false + eclipse: false + xcode: false + jetbrains: false + - name: GPT-4.1 dotcom: true vscode: true diff --git a/data/tables/copilot/model-supported-plans.yml b/data/tables/copilot/model-supported-plans.yml index 1cb7be5c6351..63d94d9f89dd 100644 --- a/data/tables/copilot/model-supported-plans.yml +++ b/data/tables/copilot/model-supported-plans.yml @@ -47,6 +47,13 @@ business: true enterprise: true +- name: Gemini 3 Pro + free: false + pro: true + pro_plus: true + business: true + enterprise: true + - name: GPT-4.1 free: true pro: true diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml index 5112fe32bd5c..67e7d27e5d7d 100644 --- a/data/variables/copilot.yml +++ b/data/variables/copilot.yml @@ -81,6 +81,12 @@ copilot_custom_agent_caps_short: 'Custom agent' custom_agents_short: 'custom agents' custom_agents_caps_short: 'Custom agents' +## Copilot subagents +subagent_short: 'subagent' +subagent_caps_short: 'Subagent' +subagents_short: 'subagents' +subagents_caps_short: 'Subagents' + ## Agent profiles (configuration files that define custom agents) agent_profile: 'agent profile' agent_profile_caps: 'Agent profile' @@ -141,6 +147,7 @@ copilot_claude_sonnet_45: 'Claude Sonnet 4.5' copilot_gemini: 'Gemini' copilot_gemini_flash: 'Gemini 2.0 Flash' copilot_gemini_25_pro: 'Gemini 2.5 Pro' +copilot_gemini_3_pro: 'Gemini 3 Pro' # OpenAI GPT series: copilot_gpt_4o: 'GPT-4o' copilot_gpt_41: 'GPT-4.1' @@ -163,7 +170,7 @@ copilot_raptor_mini: 'Raptor mini' ## Current model used by Copilot coding agent and Copilot CLI cca_current_model: '{% data variables.copilot.copilot_claude_sonnet_40 %}' -## Next edit suggestions in VS Code +## Next edit suggestions next_edit_suggestions: 'next edit suggestions' next_edit_suggestions_caps: 'Next edit suggestions' diff --git a/data/variables/product.yml b/data/variables/product.yml index 315fb05ca713..4992cab13386 100644 --- a/data/variables/product.yml +++ b/data/variables/product.yml @@ -226,6 +226,11 @@ prodname_secret_risk_assessment_caps: 'Secret risk assessment' ## Azure DevOps prodname_ghas_azdo: 'GitHub Advanced Security for Azure DevOps' +## Microsoft Defender for Cloud integration with GitHub Code Security +prodname_microsoft_defender: 'Microsoft Defender for Cloud' +prodname_mdc_definition: 'Microsoft Defender for Cloud (MDC)' +prodname_mdc: 'MDC' + # Codespaces prodname_codespaces: 'Codespaces' prodname_github_codespaces: 'GitHub Codespaces' diff --git a/src/fixtures/fixtures/rest-redirects.json b/src/fixtures/fixtures/rest-redirects.json index 5198eea4c07f..9da019b1201d 100644 --- a/src/fixtures/fixtures/rest-redirects.json +++ b/src/fixtures/fixtures/rest-redirects.json @@ -417,7 +417,7 @@ "/v3/enterprise-admin/admin_stats": "/en/enterprise-server/rest/enterprise-admin/admin-stats", "/v3/enterprise-admin/global_webhooks": "/en/enterprise-server/rest/enterprise-admin/global-webhooks", "/v3/enterprise-admin/ldap": "/en/enterprise-server/rest/enterprise-admin/ldap", - "/v3/enterprise-admin/license": "/en/enterprise-server/rest/enterprise-admin/license", + "/v3/enterprise-admin/license": "/en/enterprise-server/rest/enterprise-admin/licensing", "/v3/enterprise-admin/management_console": "/en/enterprise-server/rest/enterprise-admin/manage-ghes", "/v3/enterprise-admin/orgs": "/en/enterprise-server/rest/enterprise-admin/orgs", "/v3/enterprise-admin/pre_receive_environments": "/en/enterprise-server/rest/enterprise-admin/pre-receive-environments", diff --git a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json index 0b25b7d19b88..5bd71f2308c7 100644 --- a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json @@ -120,7 +120,7 @@ { "category": "billing", "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets", "additional-permissions": false, @@ -129,7 +129,7 @@ { "category": "billing", "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "additional-permissions": false, @@ -138,7 +138,7 @@ { "category": "billing", "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "patch", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "additional-permissions": false, @@ -147,7 +147,7 @@ { "category": "billing", "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "delete", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "additional-permissions": false, @@ -156,7 +156,7 @@ { "category": "billing", "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/premium_request/usage", "additional-permissions": false, @@ -165,7 +165,7 @@ { "category": "billing", "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage", "additional-permissions": false, @@ -174,7 +174,7 @@ { "category": "billing", "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage/summary", "additional-permissions": false, @@ -846,33 +846,6 @@ "additional-permissions": false, "access": "write" }, - { - "category": "billing", - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage", - "additional-permissions": false, - "access": "read" - }, { "category": "orgs", "slug": "get-immutable-releases-settings-for-an-organization", @@ -8784,46 +8757,19 @@ "title": "Plan", "displayTitle": "User permissions for \"Plan\"", "permissions": [ - { - "category": "billing", - "slug": "get-github-actions-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-github-packages-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages", - "additional-permissions": false, - "access": "read" - }, { "category": "billing", "slug": "get-billing-premium-request-usage-report-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/premium_request/usage", "additional-permissions": false, "access": "read" }, - { - "category": "billing", - "slug": "get-shared-storage-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage", - "additional-permissions": false, - "access": "read" - }, { "category": "billing", "slug": "get-billing-usage-report-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage", "additional-permissions": false, @@ -8832,7 +8778,7 @@ { "category": "billing", "slug": "get-billing-usage-summary-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage/summary", "additional-permissions": false, diff --git a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json index 1145083056e2..fb3cfe0f9df8 100644 --- a/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/fpt-2022-11-28/fine-grained-pat.json @@ -1110,97 +1110,61 @@ "billing": [ { "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets" }, { "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "patch", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "delete", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/premium_request/usage" }, { "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, { "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage/summary" }, - { - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions" - }, - { - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages" - }, - { - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage" - }, - { - "slug": "get-github-actions-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions" - }, - { - "slug": "get-github-packages-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages" - }, { "slug": "get-billing-premium-request-usage-report-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/premium_request/usage" }, - { - "slug": "get-shared-storage-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage" - }, { "slug": "get-billing-usage-report-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage" }, { "slug": "get-billing-usage-summary-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage/summary" } diff --git a/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json index 01a815f25a66..0a99c95308df 100644 --- a/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json @@ -144,7 +144,7 @@ { "category": "billing", "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets", "access": "read", @@ -155,7 +155,7 @@ { "category": "billing", "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "access": "read", @@ -166,7 +166,7 @@ { "category": "billing", "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "patch", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "access": "write", @@ -177,7 +177,7 @@ { "category": "billing", "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "delete", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "access": "write", @@ -188,7 +188,7 @@ { "category": "billing", "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/premium_request/usage", "access": "read", @@ -199,7 +199,7 @@ { "category": "billing", "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage", "access": "read", @@ -210,7 +210,7 @@ { "category": "billing", "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage/summary", "access": "read", @@ -1032,39 +1032,6 @@ "server-to-server": true, "additional-permissions": false }, - { - "category": "billing", - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, { "category": "orgs", "slug": "get-immutable-releases-settings-for-an-organization", @@ -11034,32 +11001,10 @@ "title": "Plan", "displayTitle": "User permissions for \"Plan\"", "permissions": [ - { - "category": "billing", - "slug": "get-github-actions-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-github-packages-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - }, { "category": "billing", "slug": "get-billing-premium-request-usage-report-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/premium_request/usage", "access": "read", @@ -11067,21 +11012,10 @@ "server-to-server": false, "additional-permissions": false }, - { - "category": "billing", - "slug": "get-shared-storage-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - }, { "category": "billing", "slug": "get-billing-usage-report-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage", "access": "read", @@ -11092,7 +11026,7 @@ { "category": "billing", "slug": "get-billing-usage-summary-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage/summary", "access": "read", diff --git a/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json b/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json index e3a3b7199c3e..2dc88f6613e5 100644 --- a/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/fpt-2022-11-28/server-to-server-rest.json @@ -1148,63 +1148,45 @@ "billing": [ { "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets" }, { "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "patch", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "delete", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/premium_request/usage" }, { "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, { "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage/summary" - }, - { - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions" - }, - { - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages" - }, - { - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage" } ], "branches": [ diff --git a/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json b/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json index 662dcd734d5b..aa435de01cd2 100644 --- a/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/fpt-2022-11-28/user-to-server-rest.json @@ -1190,97 +1190,61 @@ "billing": [ { "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets" }, { "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "patch", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "verb": "delete", "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" }, { "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/premium_request/usage" }, { "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage" }, { "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/usage/summary" }, - { - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions" - }, - { - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages" - }, - { - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage" - }, - { - "slug": "get-github-actions-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions" - }, - { - "slug": "get-github-packages-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages" - }, { "slug": "get-billing-premium-request-usage-report-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/premium_request/usage" }, - { - "slug": "get-shared-storage-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage" - }, { "slug": "get-billing-usage-report-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage" }, { "slug": "get-billing-usage-summary-for-a-user", - "subcategory": "enhanced-billing", + "subcategory": "usage", "verb": "get", "requestPath": "/users/{username}/settings/billing/usage/summary" } diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json index 0fb4133a6167..1bccd644c4db 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json @@ -237,69 +237,6 @@ "additional-permissions": false, "access": "write" }, - { - "category": "billing", - "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "patch", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "additional-permissions": false, - "access": "write" - }, - { - "category": "billing", - "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "delete", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "additional-permissions": false, - "access": "write" - }, - { - "category": "billing", - "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/premium_request/usage", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage/summary", - "additional-permissions": false, - "access": "read" - }, { "category": "orgs", "slug": "update-an-organization", @@ -1047,15 +984,6 @@ "additional-permissions": false, "access": "write" }, - { - "category": "billing", - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions", - "additional-permissions": false, - "access": "read" - }, { "category": "billing", "slug": "get-github-advanced-security-active-committers-for-an-organization", @@ -1065,24 +993,6 @@ "additional-permissions": false, "access": "read" }, - { - "category": "billing", - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage", - "additional-permissions": false, - "access": "read" - }, { "category": "orgs", "slug": "get-immutable-releases-settings-for-an-organization", @@ -9689,66 +9599,6 @@ } ] }, - "plan": { - "title": "Plan", - "displayTitle": "User permissions for \"Plan\"", - "permissions": [ - { - "category": "billing", - "slug": "get-github-actions-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-github-packages-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-billing-premium-request-usage-report-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/premium_request/usage", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-shared-storage-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-billing-usage-report-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage", - "additional-permissions": false, - "access": "read" - }, - { - "category": "billing", - "slug": "get-billing-usage-summary-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage/summary", - "additional-permissions": false, - "access": "read" - } - ] - }, "private_repository_invitations": { "title": "Private repository invitations", "displayTitle": "User permissions for \"Private repository invitations\"", diff --git a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json index 06ed64cd4db0..3189f4963822 100644 --- a/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghec-2022-11-28/fine-grained-pat.json @@ -1128,107 +1128,11 @@ } ], "billing": [ - { - "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets" - }, - { - "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "patch", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "delete", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/premium_request/usage" - }, - { - "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage" - }, - { - "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage/summary" - }, - { - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions" - }, { "slug": "get-github-advanced-security-active-committers-for-an-organization", "subcategory": "billing", "verb": "get", "requestPath": "/orgs/{org}/settings/billing/advanced-security" - }, - { - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages" - }, - { - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage" - }, - { - "slug": "get-github-actions-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions" - }, - { - "slug": "get-github-packages-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages" - }, - { - "slug": "get-billing-premium-request-usage-report-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/premium_request/usage" - }, - { - "slug": "get-shared-storage-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage" - }, - { - "slug": "get-billing-usage-report-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage" - }, - { - "slug": "get-billing-usage-summary-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage/summary" } ], "branches": [ @@ -2608,7 +2512,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" } diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json index b9cfcb696337..b08f5c9423c4 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json @@ -788,83 +788,6 @@ "server-to-server": true, "additional-permissions": false }, - { - "category": "billing", - "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "patch", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "access": "write", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "delete", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "access": "write", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/premium_request/usage", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage/summary", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, { "category": "orgs", "slug": "update-an-organization", @@ -1778,17 +1701,6 @@ "server-to-server": true, "additional-permissions": false }, - { - "category": "billing", - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, { "category": "billing", "slug": "get-github-advanced-security-active-committers-for-an-organization", @@ -1800,28 +1712,6 @@ "server-to-server": true, "additional-permissions": false }, - { - "category": "billing", - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage", - "access": "read", - "user-to-server": true, - "server-to-server": true, - "additional-permissions": false - }, { "category": "orgs", "slug": "get-immutable-releases-settings-for-an-organization", @@ -12632,78 +12522,6 @@ } ] }, - "plan": { - "title": "Plan", - "displayTitle": "User permissions for \"Plan\"", - "permissions": [ - { - "category": "billing", - "slug": "get-github-actions-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-github-packages-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-billing-premium-request-usage-report-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/premium_request/usage", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-shared-storage-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-billing-usage-report-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - }, - { - "category": "billing", - "slug": "get-billing-usage-summary-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage/summary", - "access": "read", - "user-to-server": true, - "server-to-server": false, - "additional-permissions": false - } - ] - }, "private_repository_invitations": { "title": "Private repository invitations", "displayTitle": "User permissions for \"Private repository invitations\"", diff --git a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json index e73c606f3f46..734c506b50c6 100644 --- a/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json @@ -1178,71 +1178,11 @@ } ], "billing": [ - { - "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets" - }, - { - "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "patch", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "delete", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/premium_request/usage" - }, - { - "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage" - }, - { - "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage/summary" - }, - { - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions" - }, { "slug": "get-github-advanced-security-active-committers-for-an-organization", "subcategory": "billing", "verb": "get", "requestPath": "/orgs/{org}/settings/billing/advanced-security" - }, - { - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages" - }, - { - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage" } ], "branches": [ @@ -2558,7 +2498,7 @@ }, { "slug": "list-enterprise-consumed-licenses", - "subcategory": "license", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/consumed-licenses" }, @@ -2624,7 +2564,7 @@ }, { "slug": "get-a-license-sync-status", - "subcategory": "license", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/license-sync-status" }, @@ -2730,30 +2670,12 @@ "verb": "delete", "requestPath": "/enterprises/{enterprise}/rulesets/{ruleset_id}" }, - { - "slug": "get-github-actions-billing-for-an-enterprise", - "subcategory": "billing", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/actions" - }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, - { - "slug": "get-github-packages-billing-for-an-enterprise", - "subcategory": "billing", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/packages" - }, - { - "slug": "get-shared-storage-billing-for-an-enterprise", - "subcategory": "billing", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/shared-storage" - }, { "slug": "list-provisioned-scim-groups-for-an-enterprise", "subcategory": "scim", diff --git a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json index 8b448880ce57..011bb250c6ef 100644 --- a/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json @@ -1220,107 +1220,11 @@ } ], "billing": [ - { - "slug": "get-all-budgets-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets" - }, - { - "slug": "get-a-budget-by-id-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "update-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "patch", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "delete-a-budget-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "delete", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}" - }, - { - "slug": "get-billing-premium-request-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/premium_request/usage" - }, - { - "slug": "get-billing-usage-report-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage" - }, - { - "slug": "get-billing-usage-summary-for-an-organization", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage/summary" - }, - { - "slug": "get-github-actions-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions" - }, { "slug": "get-github-advanced-security-active-committers-for-an-organization", "subcategory": "billing", "verb": "get", "requestPath": "/orgs/{org}/settings/billing/advanced-security" - }, - { - "slug": "get-github-packages-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages" - }, - { - "slug": "get-shared-storage-billing-for-an-organization", - "subcategory": "billing", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage" - }, - { - "slug": "get-github-actions-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions" - }, - { - "slug": "get-github-packages-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages" - }, - { - "slug": "get-billing-premium-request-usage-report-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/premium_request/usage" - }, - { - "slug": "get-shared-storage-billing-for-a-user", - "subcategory": "billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage" - }, - { - "slug": "get-billing-usage-report-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage" - }, - { - "slug": "get-billing-usage-summary-for-a-user", - "subcategory": "enhanced-billing", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage/summary" } ], "branches": [ @@ -2842,7 +2746,7 @@ }, { "slug": "list-enterprise-consumed-licenses", - "subcategory": "license", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/consumed-licenses" }, @@ -2908,7 +2812,7 @@ }, { "slug": "get-a-license-sync-status", - "subcategory": "license", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/license-sync-status" }, @@ -3014,30 +2918,12 @@ "verb": "delete", "requestPath": "/enterprises/{enterprise}/rulesets/{ruleset_id}" }, - { - "slug": "get-github-actions-billing-for-an-enterprise", - "subcategory": "billing", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/actions" - }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, - { - "slug": "get-github-packages-billing-for-an-enterprise", - "subcategory": "billing", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/packages" - }, - { - "slug": "get-shared-storage-billing-for-an-enterprise", - "subcategory": "billing", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/shared-storage" - }, { "slug": "list-provisioned-scim-groups-for-an-enterprise", "subcategory": "scim", diff --git a/src/github-apps/data/ghes-3.14-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghes-3.14-2022-11-28/fine-grained-pat.json index 39c2cbbe91d5..5ac8a8f8c6e8 100644 --- a/src/github-apps/data/ghes-3.14-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghes-3.14-2022-11-28/fine-grained-pat.json @@ -1664,7 +1664,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.14-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghes-3.14-2022-11-28/server-to-server-rest.json index a2dd953597a5..017536e28395 100644 --- a/src/github-apps/data/ghes-3.14-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghes-3.14-2022-11-28/server-to-server-rest.json @@ -1804,7 +1804,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.14-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghes-3.14-2022-11-28/user-to-server-rest.json index 93a8800869ea..4d4abc4695cb 100644 --- a/src/github-apps/data/ghes-3.14-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghes-3.14-2022-11-28/user-to-server-rest.json @@ -1852,7 +1852,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.15-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghes-3.15-2022-11-28/fine-grained-pat.json index 01415e491dd8..59c194423481 100644 --- a/src/github-apps/data/ghes-3.15-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghes-3.15-2022-11-28/fine-grained-pat.json @@ -1732,7 +1732,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.15-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghes-3.15-2022-11-28/server-to-server-rest.json index 59487d1b90b6..41423d598f93 100644 --- a/src/github-apps/data/ghes-3.15-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghes-3.15-2022-11-28/server-to-server-rest.json @@ -1872,7 +1872,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.15-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghes-3.15-2022-11-28/user-to-server-rest.json index bc805b0cb7ba..b70421624113 100644 --- a/src/github-apps/data/ghes-3.15-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghes-3.15-2022-11-28/user-to-server-rest.json @@ -1920,7 +1920,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat.json index c7d14b2c55aa..b5a44f9e6760 100644 --- a/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghes-3.16-2022-11-28/fine-grained-pat.json @@ -1732,7 +1732,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-rest.json index 5a8d72e55047..498f96473797 100644 --- a/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghes-3.16-2022-11-28/server-to-server-rest.json @@ -1872,7 +1872,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.16-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghes-3.16-2022-11-28/user-to-server-rest.json index 3e48b552b9c1..2f9c35d64081 100644 --- a/src/github-apps/data/ghes-3.16-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghes-3.16-2022-11-28/user-to-server-rest.json @@ -1920,7 +1920,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat.json index fb7005dce54b..6c22cf97eadb 100644 --- a/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghes-3.17-2022-11-28/fine-grained-pat.json @@ -1732,7 +1732,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-rest.json index 7542c9e460fa..0af6ac9b1fe9 100644 --- a/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghes-3.17-2022-11-28/server-to-server-rest.json @@ -1872,7 +1872,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.17-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghes-3.17-2022-11-28/user-to-server-rest.json index d16e4e9f684b..c75f288e5744 100644 --- a/src/github-apps/data/ghes-3.17-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghes-3.17-2022-11-28/user-to-server-rest.json @@ -1920,7 +1920,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.18-2022-11-28/fine-grained-pat.json b/src/github-apps/data/ghes-3.18-2022-11-28/fine-grained-pat.json index 3a56568f6b2e..b5997623e3fd 100644 --- a/src/github-apps/data/ghes-3.18-2022-11-28/fine-grained-pat.json +++ b/src/github-apps/data/ghes-3.18-2022-11-28/fine-grained-pat.json @@ -1750,7 +1750,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.18-2022-11-28/server-to-server-rest.json b/src/github-apps/data/ghes-3.18-2022-11-28/server-to-server-rest.json index 9954524a34da..0d57575b42e8 100644 --- a/src/github-apps/data/ghes-3.18-2022-11-28/server-to-server-rest.json +++ b/src/github-apps/data/ghes-3.18-2022-11-28/server-to-server-rest.json @@ -1934,7 +1934,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/data/ghes-3.18-2022-11-28/user-to-server-rest.json b/src/github-apps/data/ghes-3.18-2022-11-28/user-to-server-rest.json index e05547a212f0..4379668e607f 100644 --- a/src/github-apps/data/ghes-3.18-2022-11-28/user-to-server-rest.json +++ b/src/github-apps/data/ghes-3.18-2022-11-28/user-to-server-rest.json @@ -1982,7 +1982,7 @@ }, { "slug": "get-github-advanced-security-active-committers-for-an-enterprise", - "subcategory": "billing", + "subcategory": "licensing", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security" }, diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index d801bb883e1d..c74a77aaa4d2 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -60,5 +60,5 @@ "2022-11-28" ] }, - "sha": "caa08e081cdd82b4b570a381822a00639cfda6f2" + "sha": "dafe0f9ac291168cb41ccc752fbdde576ae44f63" } \ No newline at end of file diff --git a/src/redirects/lib/static/developer.json b/src/redirects/lib/static/developer.json index e9584ac10b5b..7d6d6af5ec31 100644 --- a/src/redirects/lib/static/developer.json +++ b/src/redirects/lib/static/developer.json @@ -1848,7 +1848,7 @@ "/enterprise/v3/enterprise-admin/admin_stats": "/enterprise-server@latest/rest/enterprise-admin#admin-stats", "/enterprise/v3/enterprise-admin/global_webhooks": "/enterprise-server@latest/rest/enterprise-admin#global-webhooks", "/enterprise/v3/enterprise-admin/ldap": "/enterprise-server@latest/rest/enterprise-admin#ldap", - "/enterprise/v3/enterprise-admin/license": "/enterprise-server@latest/rest/enterprise-admin#license", + "/enterprise/v3/enterprise-admin/license": "/enterprise-server@latest/rest/enterprise-admin/licensing", "/enterprise/v3/enterprise-admin/management_console": "/enterprise-server@latest/rest/enterprise-admin/manage-ghes", "/enterprise/v3/enterprise-admin/org_pre_receive_hooks": "/enterprise-server@latest/rest/enterprise-admin#organization-pre-receive-hooks", "/enterprise/v3/enterprise-admin/orgs": "/enterprise-server@latest/rest/enterprise-admin#orgs", @@ -3000,7 +3000,7 @@ "/v3/enterprise-admin/admin_stats": "/enterprise-server@latest/rest/enterprise-admin/admin-stats", "/v3/enterprise-admin/global_webhooks": "/enterprise-server@latest/rest/enterprise-admin/global-webhooks", "/v3/enterprise-admin/ldap": "/enterprise-server@latest/rest/enterprise-admin/ldap", - "/v3/enterprise-admin/license": "/enterprise-server@latest/rest/enterprise-admin/license", + "/v3/enterprise-admin/license": "/enterprise-server@latest/rest/enterprise-admin/licensing", "/v3/enterprise-admin/management_console": "/enterprise-server@latest/rest/enterprise-admin/manage-ghes", "/v3/enterprise-admin/orgs": "/enterprise-server@latest/rest/enterprise-admin/orgs", "/v3/enterprise-admin/pre_receive_environments": "/enterprise-server@latest/rest/enterprise-admin/pre-receive-environments", diff --git a/src/rest/data/fpt-2022-11-28/schema.json b/src/rest/data/fpt-2022-11-28/schema.json index 4adecb74f559..532fe92fa983 100644 --- a/src/rest/data/fpt-2022-11-28/schema.json +++ b/src/rest/data/fpt-2022-11-28/schema.json @@ -113856,650 +113856,14 @@ ] }, "billing": { - "billing": [ - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions", - "title": "Get GitHub Actions billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the summary of the free and paid GitHub Actions minutes used.

\n

Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "org": "ORG" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages", - "title": "Get GitHub Packages billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the free and paid storage used for GitHub Packages in gigabytes.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "org": "ORG" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage", - "title": "Get shared storage billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "org": "ORG" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - }, - "schema": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions", - "title": "Get GitHub Actions billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "

The handle for the GitHub user account.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the summary of the free and paid GitHub Actions minutes used.

\n

Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "username": "USERNAME" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages", - "title": "Get GitHub Packages billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "

The handle for the GitHub user account.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the free and paid storage used for GitHub Packages in gigabytes.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "username": "USERNAME" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage", - "title": "Get shared storage billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "

The handle for the GitHub user account.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "username": "USERNAME" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - }, - "schema": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - } - ], - "enhanced-billing": [ + "budgets": [ { "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/budgets", "title": "Get all budgets for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "org", @@ -114717,7 +114081,7 @@ "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "title": "Get a budget by ID for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "org", @@ -114909,7 +114273,7 @@ "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "title": "Update a budget for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "org", @@ -115152,7 +114516,7 @@ "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", "title": "Delete a budget for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "org", @@ -115251,14 +114615,16 @@ } ] } - }, + } + ], + "usage": [ { "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/organizations/{org}/settings/billing/premium_request/usage", "title": "Get billing premium request usage report for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "org", @@ -115519,7 +114885,7 @@ "requestPath": "/organizations/{org}/settings/billing/usage", "title": "Get billing usage report for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "org", @@ -115703,7 +115069,7 @@ "requestPath": "/organizations/{org}/settings/billing/usage/summary", "title": "Get billing usage summary for an organization", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "org", @@ -115954,7 +115320,7 @@ "requestPath": "/users/{username}/settings/billing/premium_request/usage", "title": "Get billing premium request usage report for a user", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "username", @@ -116202,7 +115568,7 @@ "requestPath": "/users/{username}/settings/billing/usage", "title": "Get billing usage report for a user", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "username", @@ -116380,7 +115746,7 @@ "requestPath": "/users/{username}/settings/billing/usage/summary", "title": "Get billing usage summary for a user", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { "name": "username", diff --git a/src/rest/data/ghec-2022-11-28/schema.json b/src/rest/data/ghec-2022-11-28/schema.json index 19ea14ca17c2..ca95f5248cf4 100644 --- a/src/rest/data/ghec-2022-11-28/schema.json +++ b/src/rest/data/ghec-2022-11-28/schema.json @@ -124690,159 +124690,6 @@ }, "billing": { "billing": [ - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/actions", - "title": "Get GitHub Actions billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the summary of the free and paid GitHub Actions minutes used.

\n

Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "org": "ORG" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, { "serverUrl": "https://api.github.com", "verb": "get", @@ -125050,497 +124897,16 @@ } ] } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/packages", - "title": "Get GitHub Packages billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the free and paid storage used for GitHub Packages in gigabytes.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "org": "ORG" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/orgs/{org}/settings/billing/shared-storage", - "title": "Get shared storage billing for an organization", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "org": "ORG" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - }, - "schema": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/actions", - "title": "Get GitHub Actions billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "

The handle for the GitHub user account.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the summary of the free and paid GitHub Actions minutes used.

\n

Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "username": "USERNAME" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/packages", - "title": "Get GitHub Packages billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "

The handle for the GitHub user account.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the free and paid storage used for GitHub Packages in gigabytes.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "username": "USERNAME" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/users/{username}/settings/billing/shared-storage", - "title": "Get shared storage billing for a user", - "category": "billing", - "subcategory": "billing", - "parameters": [ - { - "name": "username", - "description": "

The handle for the GitHub user account.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

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

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "username": "USERNAME" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 - }, - "schema": { - "type": "object", - "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." - }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." - }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." - } - }, - "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] - } } ], - "enhanced-billing": [ + "budgets": [ { "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/enterprises/{enterprise}/settings/billing/budgets", "title": "Get all budgets", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -125750,7 +125116,7 @@ "requestPath": "/enterprises/{enterprise}/settings/billing/budgets", "title": "Create a budget", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -126013,7 +125379,7 @@ "requestPath": "/enterprises/{enterprise}/settings/billing/budgets/{budget_id}", "title": "Get a budget by ID", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -126201,7 +125567,7 @@ "requestPath": "/enterprises/{enterprise}/settings/billing/budgets/{budget_id}", "title": "Update a budget", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -126467,7 +125833,7 @@ "requestPath": "/enterprises/{enterprise}/settings/billing/budgets/{budget_id}", "title": "Delete a budget", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "budgets", "parameters": [ { "name": "enterprise", @@ -126562,27 +125928,42 @@ "fineGrainedPat": false, "permissions": [] } - }, + } + ], + "cost-centers": [ { "serverUrl": "https://api.github.com", "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets", - "title": "Get all budgets for an organization", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers", + "title": "Get all cost centers for an enterprise", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { "type": "string" } + }, + { + "name": "state", + "in": "query", + "description": "

Set to active or deleted to only list cost centers in a specific state.

", + "required": false, + "schema": { + "type": "string", + "enum": [ + "active", + "deleted" + ] + } } ], "bodyParameters": [], - "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Gets all budgets for an organization. The authenticated user must be an organization admin or billing manager.

", + "descriptionHTML": "

Gets a list of all the cost centers for an enterprise.

", "codeExamples": [ { "key": "default", @@ -126590,163 +125971,104 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "org": "ORG" + "enterprise": "ENTERPRISE" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response when getting all budgets

", + "description": "

Response when getting cost centers

", "example": { - "budgets": [ - { - "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", - "budget_type": "ProductPricing", - "budget_product_skus": [ - "actions" - ], - "budget_scope": "enterprise", - "budget_amount": 1000, - "prevent_further_usage": true, - "budget_alerting": { - "will_alert": true, - "alert_recipients": [ - "enterprise-admin", - "billing-manager" - ] - } - }, + "costCenters": [ { - "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", - "budget_type": "SkuPricing", - "budget_product_skus": [ - "actions_linux" - ], - "budget_scope": "organization", - "budget_amount": 500, - "prevent_further_usage": false, - "budget_alerting": { - "will_alert": true, - "alert_recipients": [ - "org-owner" - ] - } + "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", + "name": "Cost Center Name", + "state": "active", + "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resources": [ + { + "type": "User", + "name": "Monalisa" + }, + { + "type": "Repo", + "name": "octocat/hello-world" + } + ] }, { - "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "budget_type": "ProductPricing", - "budget_product_skus": [ - "packages" - ], - "budget_scope": "cost_center", - "budget_amount": 250, - "prevent_further_usage": true, - "budget_alerting": { - "will_alert": false, - "alert_recipients": [] - } + "id": "3ffb9ffe-6903-11ee-8c99-0242ac120003", + "name": "Another Cost Center", + "state": "active", + "resources": [ + { + "type": "User", + "name": "Octocat" + } + ] } ] }, "schema": { "type": "object", "properties": { - "budgets": { + "costCenters": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", - "description": "The unique identifier for the budget", - "examples": [ - "2066deda-923f-43f9-88d2-62395a28c0cdd" - ] - }, - "budget_type": { - "type": "string", - "description": "The type of pricing for the budget", - "enum": [ - "SkuPricing", - "ProductPricing" - ], - "examples": [ - "SkuPricing" - ] - }, - "budget_amount": { - "type": "integer", - "description": "The budget amount limit in whole dollars. For license-based products, this represents the number of licenses." - }, - "prevent_further_usage": { - "type": "boolean", - "description": "The type of limit enforcement for the budget", - "examples": [ - true - ] + "description": "ID of the cost center." }, - "budget_scope": { + "name": { "type": "string", - "description": "The scope of the budget (enterprise, organization, repository, cost center)", - "examples": [ - "enterprise" - ] + "description": "Name of the cost center." }, - "budget_entity_name": { + "state": { "type": "string", - "description": "The name of the entity for the budget (enterprise does not require a name).", - "examples": [ - "octocat/hello-world" + "description": "State of the cost center.", + "enum": [ + "active", + "deleted" ] }, - "budget_product_sku": { - "type": "string", - "description": "A single product or sku to apply the budget to." + "azure_subscription": { + "type": [ + "string", + "null" + ], + "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." }, - "budget_alerting": { - "type": "object", - "properties": { - "will_alert": { - "type": "boolean", - "description": "Whether alerts are enabled for this budget", - "examples": [ - true - ] - }, - "alert_recipients": { - "type": "array", - "items": { - "type": "string" + "resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the resource." }, - "description": "Array of user login names who will receive alerts", - "examples": [ - "mona", - "lisa" - ] - } - }, - "required": [ - "will_alert", - "alert_recipients" - ] + "name": { + "type": "string", + "description": "Name of the resource." + } + }, + "required": [ + "type", + "name" + ] + } } }, "required": [ "id", - "budget_type", - "budget_product_sku", - "budget_scope", - "budget_amount", - "prevent_further_usage", - "budget_alerting" + "name", + "resources" ] - }, - "description": "Array of budget objects for the enterprise" + } } - }, - "required": [ - "budgets" - ] + } } } } @@ -126754,183 +126076,128 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

Response when getting all budgets

" + "description": "

Response when getting cost centers

" }, { - "httpStatusCode": "403", - "description": "

Forbidden

" + "httpStatusCode": "400", + "description": "

Bad Request

" }, { - "httpStatusCode": "404", - "description": "

Resource not found

" + "httpStatusCode": "403", + "description": "

Forbidden

" }, { "httpStatusCode": "500", "description": "

Internal Error

" + }, + { + "httpStatusCode": "503", + "description": "

Service unavailable

" } ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "title": "Get a budget by ID for an organization", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers", + "title": "Create a new cost center", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { "type": "string" } - }, + } + ], + "bodyParameters": [ { - "name": "budget_id", - "description": "

The ID corresponding to the budget.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } + "type": "string", + "name": "name", + "in": "body", + "description": "

The name of the cost center (max length 255 characters)

", + "isRequired": true } ], - "bodyParameters": [], - "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Gets a budget by ID. The authenticated user must be an organization admin or billing manager.

", + "descriptionHTML": "

Creates a new cost center for an enterprise. The authenticated user must be an enterprise admin.

", "codeExamples": [ { - "key": "default", + "key": "example-1", "request": { - "description": "Example", + "contentType": "application/json", + "description": "Example request to create a cost center", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Engineering Team" + }, "parameters": { - "org": "ORG", - "budget_id": "BUDGET_ID" + "enterprise": "ENTERPRISE" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response when updating a budget

", + "description": "

Example response for a created cost center

", "example": { - "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", - "budget_type": "ProductPricing", - "budget_product_sku": "actions_linux", - "budget_scope": "repository", - "budget_entity_name": "example-repo-name", - "budget_amount": 0, - "prevent_further_usage": true, - "budget_alerting": { - "will_alert": true, - "alert_recipients": [ - "mona", - "lisa" - ] - } + "id": "abc123", + "name": "Engineering Team", + "resources": [] }, "schema": { "type": "object", "properties": { "id": { "type": "string", - "description": "ID of the budget." - }, - "budget_scope": { - "type": "string", - "description": "The type of scope for the budget", - "enum": [ - "enterprise", - "organization", - "repository", - "cost_center" - ], - "examples": [ - "enterprise" - ] + "description": "Unique identifier for the cost center" }, - "budget_entity_name": { + "name": { "type": "string", - "description": "The name of the entity to apply the budget to", - "examples": [ - "octocat/hello-world" - ] - }, - "budget_amount": { - "type": "integer", - "description": "The budget amount in whole dollars. For license-based products, this represents the number of licenses." - }, - "prevent_further_usage": { - "type": "boolean", - "description": "Whether to prevent additional spending once the budget is exceeded", - "examples": [ - true - ] + "description": "Name of the cost center" }, - "budget_product_sku": { - "type": "string", - "description": "A single product or sku to apply the budget to.", - "examples": [ - "actions_linux" - ] + "azure_subscription": { + "type": [ + "string", + "null" + ], + "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." }, - "budget_type": { + "state": { "type": "string", - "description": "The type of pricing for the budget", + "description": "State of the cost center.", "enum": [ - "ProductPricing", - "SkuPricing" - ], - "examples": [ - "ProductPricing" + "active", + "deleted" ] }, - "budget_alerting": { - "type": "object", - "properties": { - "will_alert": { - "type": "boolean", - "description": "Whether alerts are enabled for this budget", - "examples": [ - true - ] - }, - "alert_recipients": { - "type": "array", - "items": { - "type": "string" + "resources": { + "type": "array", + "description": "List of resources assigned to this cost center", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of resource (User, Org, or Repo)" }, - "description": "Array of user login names who will receive alerts", - "examples": [ - "mona", - "lisa" - ] + "name": { + "type": "string", + "description": "Name/login of the resource" + } } } } - }, - "required": [ - "id", - "budget_amount", - "prevent_further_usage", - "budget_product_sku", - "budget_type", - "budget_alerting", - "budget_scope", - "budget_entity_name" - ] + } } } } @@ -126938,52 +126205,40 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

Response when updating a budget

" + "description": "

Cost center created successfully

" }, { "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" + "description": "

Bad request

" }, { - "httpStatusCode": "404", - "description": "

Resource not found

" + "httpStatusCode": "409", + "description": "

Conflict

" }, { "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" + "description": "

Internal server error

" } ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "patch", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "title": "Update a budget for an organization", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", + "title": "Get a cost center by ID", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { @@ -126991,8 +126246,8 @@ } }, { - "name": "budget_id", - "description": "

The ID corresponding to the budget.

", + "name": "cost_center_id", + "description": "

The ID corresponding to the cost center.

", "in": "path", "required": true, "schema": { @@ -127000,176 +126255,91 @@ } } ], - "bodyParameters": [ - { - "type": "integer", - "name": "budget_amount", - "in": "body", - "description": "

The budget amount in whole dollars. For license-based products, this represents the number of licenses.

" - }, - { - "type": "boolean", - "name": "prevent_further_usage", - "in": "body", - "description": "

Whether to prevent additional spending once the budget is exceeded

" - }, - { - "type": "object", - "name": "budget_alerting", - "in": "body", - "description": "", - "childParamsGroups": [ - { - "type": "boolean", - "name": "will_alert", - "description": "

Whether alerts are enabled for this budget

" - }, - { - "type": "array of strings", - "name": "alert_recipients", - "description": "

Array of user login names who will receive alerts

" - } - ] - }, - { - "type": "string", - "name": "budget_scope", - "in": "body", - "description": "

The scope of the budget

", - "enum": [ - "enterprise", - "organization", - "repository", - "cost_center" - ] - }, - { - "type": "string", - "name": "budget_entity_name", - "in": "body", - "description": "

The name of the entity to apply the budget to

" - }, - { - "type": "string", - "name": "budget_type", - "in": "body", - "description": "

The type of pricing for the budget

", - "enum": [ - "ProductPricing", - "SkuPricing" - ] - }, - { - "type": "string", - "name": "budget_product_sku", - "in": "body", - "description": "

A single product or SKU that will be covered in the budget

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

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Updates an existing budget for an organization. The authenticated user must be an organization admin or billing manager.

", + "bodyParameters": [], + "descriptionHTML": "

Gets a cost center by ID. The authenticated user must be an enterprise admin.

", "codeExamples": [ { - "key": "update-budget", + "key": "default", "request": { - "contentType": "application/json", - "description": "Update budget example", + "description": "Example", "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "prevent_further_usage": false, - "budget_amount": 10, - "budget_alerting": { - "will_alert": false, - "alert_recipients": [] - } - }, "parameters": { - "org": "ORG", - "budget_id": "BUDGET_ID" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Budget updated successfully

", + "description": "

Response when getting a cost center

", "example": { - "message": "Budget successfully updated.", - "id": "550e8400-e29b-41d4-a716-446655440000" + "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", + "name": "Cost Center Name", + "state": "active", + "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resources": [ + { + "type": "User", + "name": "Monalisa" + }, + { + "type": "Repo", + "name": "octocat/hello-world" + } + ] }, "schema": { "type": "object", "properties": { - "message": { + "id": { "type": "string", - "examples": [ - "Budget successfully updated." + "description": "ID of the cost center." + }, + "name": { + "type": "string", + "description": "Name of the cost center." + }, + "azure_subscription": { + "type": [ + "string", + "null" + ], + "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." + }, + "state": { + "type": "string", + "description": "State of the cost center.", + "enum": [ + "active", + "deleted" ] }, - "budget": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID of the budget." - }, - "budget_amount": { - "type": "number", - "format": "float", - "description": "The budget amount in whole dollars. For license-based products, this represents the number of licenses." - }, - "prevent_further_usage": { - "type": "boolean", - "description": "Whether to prevent additional spending once the budget is exceeded" - }, - "budget_alerting": { - "type": "object", - "required": [ - "will_alert", - "alert_recipients" - ], - "properties": { - "will_alert": { - "type": "boolean", - "description": "Whether alerts are enabled for this budget" - }, - "alert_recipients": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of user login names who will receive alerts" - } + "resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the resource." + }, + "name": { + "type": "string", + "description": "Name of the resource." } }, - "budget_scope": { - "type": "string", - "description": "The scope of the budget", - "enum": [ - "enterprise", - "organization", - "repository", - "cost_center" - ] - }, - "budget_entity_name": { - "type": "string", - "description": "The name of the entity to apply the budget to", - "default": "" - }, - "budget_type": { - "type": "string", - "description": "The type of pricing for the budget", - "enum": [ - "ProductPricing", - "SkuPricing" - ] - }, - "budget_product_sku": { - "type": "string", - "description": "A single product or SKU that will be covered in the budget" - } + "required": [ + "type", + "name" + ] } } - } + }, + "required": [ + "id", + "name", + "resources" + ] } } } @@ -127177,108 +126347,156 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

Budget updated successfully

" + "description": "

Response when getting a cost center

" }, { "httpStatusCode": "400", "description": "

Bad Request

" }, - { - "httpStatusCode": "401", - "description": "

Requires authentication

" - }, { "httpStatusCode": "403", "description": "

Forbidden

" }, { - "httpStatusCode": "404", - "description": "

Budget not found or feature not enabled

" - }, - { - "httpStatusCode": "422", - "description": "

Validation failed, or the endpoint has been spammed.

" + "httpStatusCode": "500", + "description": "

Internal Error

" }, { - "httpStatusCode": "500", - "description": "

Internal server error

" + "httpStatusCode": "503", + "description": "

Service unavailable

" } ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "write" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/organizations/{org}/settings/billing/budgets/{budget_id}", - "title": "Delete a budget for an organization", + "verb": "patch", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", + "title": "Update a cost center name", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", + "name": "enterprise", "in": "path", "required": true, "schema": { "type": "string" - } + }, + "description": "

The slug version of the enterprise name

" }, { - "name": "budget_id", - "description": "

The ID corresponding to the budget.

", + "name": "cost_center_id", "in": "path", "required": true, "schema": { "type": "string" - } + }, + "description": "

The unique identifier of the cost center

" } ], - "bodyParameters": [], - "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Deletes a budget by ID for an organization. The authenticated user must be an organization admin or billing manager.

", + "bodyParameters": [ + { + "type": "string", + "name": "name", + "in": "body", + "description": "

The new name for the cost center

", + "isRequired": true + } + ], + "descriptionHTML": "

Updates an existing cost center name.

", "codeExamples": [ { - "key": "default", + "key": "update-cost-center", "request": { - "description": "Example", + "contentType": "application/json", + "description": "Update cost center name example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "New Cost Center Name" + }, "parameters": { - "org": "ORG", - "budget_id": "BUDGET_ID" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response when deleting a budget

", + "description": "

Response when updating a cost center

", "example": { - "message": "Budget successfully deleted.", - "budget_id": "2c1feb79-3947-4dc8-a16e-80cbd732cc0b" + "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", + "name": "Cost Center Name", + "state": "active", + "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resources": [ + { + "type": "User", + "name": "Monalisa" + }, + { + "type": "Repo", + "name": "octocat/hello-world" + } + ] }, "schema": { "type": "object", "properties": { - "message": { + "id": { "type": "string", - "description": "A message indicating the result of the deletion operation" + "description": "ID of the cost center." }, - "id": { + "name": { "type": "string", - "description": "The ID of the deleted budget" + "description": "Name of the cost center." + }, + "azure_subscription": { + "type": [ + "string", + "null" + ], + "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." + }, + "state": { + "type": "string", + "description": "State of the cost center.", + "enum": [ + "active", + "deleted" + ] + }, + "resources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the resource." + }, + "name": { + "type": "string", + "description": "Name of the resource." + } + }, + "required": [ + "type", + "name" + ] + } } }, "required": [ - "message", - "id" + "id", + "name", + "resources" ] } } @@ -127287,7 +126505,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

Response when deleting a budget

" + "description": "

Response when updating a cost center

" }, { "httpStatusCode": "400", @@ -127301,6 +126519,10 @@ "httpStatusCode": "404", "description": "

Resource not found

" }, + { + "httpStatusCode": "409", + "description": "

Conflict

" + }, { "httpStatusCode": "500", "description": "

Internal Error

" @@ -127312,27 +126534,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "write" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/premium_request/usage", - "title": "Get billing premium request usage report for an organization", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", + "title": "Delete a cost center", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { @@ -127340,62 +126558,17 @@ } }, { - "name": "year", - "description": "

If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "month", - "description": "

If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "day", - "description": "

If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "user", - "description": "

The user name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "model", - "description": "

The model name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "product", - "description": "

The product name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, + "name": "cost_center_id", + "description": "

The ID corresponding to the cost center.

", + "in": "path", + "required": true, "schema": { "type": "string" } } ], "bodyParameters": [], - "descriptionHTML": "

Gets a report of premium request usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account.

\n

Note: Only data from the past 24 months is accessible via this endpoint.

", + "descriptionHTML": "

Archieves a cost center by ID. The authenticated user must be an enterprise admin.

", "codeExamples": [ { "key": "default", @@ -127403,143 +126576,48 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "org": "ORG" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response when getting a billing premium request usage report

", + "description": "

Response when deleting a cost center

", "example": { - "timePeriod": { - "year": 2025 - }, - "organization": "GitHub", - "usageItems": [ - { - "product": "Copilot", - "sku": "Copilot Premium Request", - "model": "GPT-5", - "unitType": "requests", - "pricePerUnit": 0.04, - "grossQuantity": 100, - "grossAmount": 4, - "discountQuantity": 0, - "discountAmount": 0, - "netQuantity": 100, - "netAmount": 4 - } - ] + "message": "Cost center successfully deleted.", + "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", + "name": "cc3", + "costCenterState": "CostCenterArchived" }, "schema": { "type": "object", "properties": { - "timePeriod": { - "type": "object", - "properties": { - "year": { - "type": "integer", - "description": "The year for the usage report." - }, - "month": { - "type": "integer", - "description": "The month for the usage report." - }, - "day": { - "type": "integer", - "description": "The day for the usage report." - } - }, - "required": [ - "year" - ] - }, - "organization": { + "message": { "type": "string", - "description": "The unique identifier of the organization." + "description": "A message indicating the result of the deletion operation" }, - "user": { + "id": { "type": "string", - "description": "The name of the user for the usage report." + "description": "The unique identifier of the deleted cost center" }, - "product": { + "name": { "type": "string", - "description": "The product for the usage report." + "description": "The name of the deleted cost center" }, - "model": { + "costCenterState": { "type": "string", - "description": "The model for the usage report." - }, - "usageItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU name." - }, - "model": { - "type": "string", - "description": "Model name." - }, - "unitType": { - "type": "string", - "description": "Unit type of the usage line item." - }, - "pricePerUnit": { - "type": "number", - "description": "Price per unit of the usage line item." - }, - "grossQuantity": { - "type": "number", - "description": "Gross quantity of the usage line item." - }, - "grossAmount": { - "type": "number", - "description": "Gross amount of the usage line item." - }, - "discountQuantity": { - "type": "number", - "description": "Discount quantity of the usage line item." - }, - "discountAmount": { - "type": "number", - "description": "Discount amount of the usage line item." - }, - "netQuantity": { - "type": "number", - "description": "Net quantity of the usage line item." - }, - "netAmount": { - "type": "number", - "description": "Net amount of the usage line item." - } - }, - "required": [ - "product", - "sku", - "model", - "unitType", - "pricePerUnit", - "grossQuantity", - "grossAmount", - "discountQuantity", - "discountAmount", - "netQuantity", - "netAmount" - ] - } + "enum": [ + "CostCenterArchived" + ], + "description": "The state of the cost center after deletion" } }, "required": [ - "timePeriod", - "organization", - "usageItems" + "message", + "id", + "name", + "costCenterState" ] } } @@ -127548,7 +126626,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

Response when getting a billing premium request usage report

" + "description": "

Response when deleting a cost center

" }, { "httpStatusCode": "400", @@ -127573,27 +126651,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage", - "title": "Get billing usage report for an organization", + "verb": "post", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource", + "title": "Add resources to a cost center", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { @@ -127601,131 +126675,104 @@ } }, { - "name": "year", - "description": "

If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.

", - "in": "query", - "required": false, + "name": "cost_center_id", + "description": "

The ID corresponding to the cost center.

", + "in": "path", + "required": true, "schema": { - "type": "integer" + "type": "string" } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "users", + "in": "body", + "description": "

The usernames of the users to add to the cost center.

" }, { - "name": "month", - "description": "

If specified, only return results for a single month. The value of month is an integer between 1 and 12. If no year is specified the default year is used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } + "type": "array of strings", + "name": "organizations", + "in": "body", + "description": "

The organizations to add to the cost center.

" }, { - "name": "day", - "description": "

If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } + "type": "array of strings", + "name": "repositories", + "in": "body", + "description": "

The repositories to add to the cost center.

" } ], - "bodyParameters": [], - "descriptionHTML": "

Gets a report of the total usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account.

\n

Note: This endpoint is only available to organizations with access to the enhanced billing platform. For more information, see \"About the enhanced billing platform.\"

", + "descriptionHTML": "

Adds resources to a cost center.

\n

The usage for the resources will be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.

", "codeExamples": [ { "key": "default", "request": { + "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "monalisa" + ] + }, "parameters": { - "org": "ORG" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Billing usage report response for an organization

", + "description": "

Response when adding resources to a cost center

", "example": { - "usageItems": [ + "message": "Resources successfully added to the cost center.", + "reassigned_resources": [ { - "date": "2023-08-01", - "product": "Actions", - "sku": "Actions Linux", - "quantity": 100, - "unitType": "minutes", - "pricePerUnit": 0.008, - "grossAmount": 0.8, - "discountAmount": 0, - "netAmount": 0.8, - "organizationName": "GitHub", - "repositoryName": "github/example" + "resource_type": "user", + "name": "monalisa", + "previous_cost_center": "old-cost-center" + }, + { + "resource_type": "organization", + "name": "octo-org", + "previous_cost_center": "another-cost-center" + }, + { + "resource_type": "repository", + "name": "octo-repo", + "previous_cost_center": "yet-another-cost-center" } ] }, "schema": { "type": "object", "properties": { - "usageItems": { - "type": "array", + "message": { + "type": "string" + }, + "reassigned_resources": { + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { - "date": { - "type": "string", - "description": "Date of the usage line item." - }, - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU name." - }, - "quantity": { - "type": "integer", - "description": "Quantity of the usage line item." - }, - "unitType": { + "resource_type": { "type": "string", - "description": "Unit type of the usage line item." - }, - "pricePerUnit": { - "type": "number", - "description": "Price per unit of the usage line item." - }, - "grossAmount": { - "type": "number", - "description": "Gross amount of the usage line item." - }, - "discountAmount": { - "type": "number", - "description": "Discount amount of the usage line item." - }, - "netAmount": { - "type": "number", - "description": "Net amount of the usage line item." + "description": "The type of resource that was reassigned." }, - "organizationName": { + "name": { "type": "string", - "description": "Name of the organization." + "description": "The name of the resource that was reassigned." }, - "repositoryName": { + "previous_cost_center": { "type": "string", - "description": "Name of the repository." + "description": "The previous cost center of the resource." } - }, - "required": [ - "date", - "product", - "sku", - "quantity", - "unitType", - "pricePerUnit", - "grossAmount", - "discountAmount", - "netAmount", - "organizationName" - ] + } } } } @@ -127736,7 +126783,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

Billing usage report response for an organization

" + "description": "

Response when adding resources to a cost center

" }, { "httpStatusCode": "400", @@ -127746,6 +126793,10 @@ "httpStatusCode": "403", "description": "

Forbidden

" }, + { + "httpStatusCode": "409", + "description": "

Conflict

" + }, { "httpStatusCode": "500", "description": "

Internal Error

" @@ -127757,27 +126808,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/organizations/{org}/settings/billing/usage/summary", - "title": "Get billing usage summary for an organization", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource", + "title": "Remove resources from a cost center", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "cost-centers", "parameters": [ { - "name": "org", - "description": "

The organization name. The name is not case sensitive.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { @@ -127785,201 +126832,67 @@ } }, { - "name": "year", - "description": "

If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "month", - "description": "

If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "day", - "description": "

If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "repository", - "description": "

The repository name to query for usage in the format owner/repository.

", - "in": "query", - "required": false, + "name": "cost_center_id", + "description": "

The ID corresponding to the cost center.

", + "in": "path", + "required": true, "schema": { "type": "string" } + } + ], + "bodyParameters": [ + { + "type": "array of strings", + "name": "users", + "in": "body", + "description": "

The usernames of the users to remove from the cost center.

" }, { - "name": "product", - "description": "

The product name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } + "type": "array of strings", + "name": "organizations", + "in": "body", + "description": "

The organizations to remove from the cost center.

" }, { - "name": "sku", - "description": "

The SKU to query for usage.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } + "type": "array of strings", + "name": "repositories", + "in": "body", + "description": "

The repositories to remove from the cost center.

" } ], - "bodyParameters": [], - "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Gets a summary report of usage for an organization. To use this endpoint, you must be an administrator of an organization within an enterprise or an organization account.

\n

Note: Only data from the past 24 months is accessible via this endpoint.

", + "descriptionHTML": "

Remove resources from a cost center.

\n

The usage for the resources will no longer be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.

", "codeExamples": [ { "key": "default", "request": { + "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "users": [ + "monalisa" + ] + }, "parameters": { - "org": "ORG" + "enterprise": "ENTERPRISE", + "cost_center_id": "COST_CENTER_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response when getting a billing usage summary

", + "description": "

Response when removing resources from a cost center

", "example": { - "timePeriod": { - "year": 2025 - }, - "organization": "GitHub", - "usageItems": [ - { - "product": "Actions", - "sku": "actions_linux", - "unitType": "minutes", - "pricePerUnit": 0.008, - "grossQuantity": 1000, - "grossAmount": 8, - "discountQuantity": 0, - "discountAmount": 0, - "netQuantity": 1000, - "netAmount": 8 - } - ] + "message": "Resources successfully removed from the cost center." }, "schema": { "type": "object", "properties": { - "timePeriod": { - "type": "object", - "properties": { - "year": { - "type": "integer", - "description": "The year for the usage report." - }, - "month": { - "type": "integer", - "description": "The month for the usage report." - }, - "day": { - "type": "integer", - "description": "The day for the usage report." - } - }, - "required": [ - "year" - ] - }, - "organization": { - "type": "string", - "description": "The unique identifier of the organization." - }, - "repository": { - "type": "string", - "description": "The name of the repository for the usage report." - }, - "product": { - "type": "string", - "description": "The product for the usage report." - }, - "sku": { - "type": "string", - "description": "The SKU for the usage report." - }, - "usageItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU name." - }, - "unitType": { - "type": "string", - "description": "Unit type of the usage line item." - }, - "pricePerUnit": { - "type": "number", - "description": "Price per unit of the usage line item." - }, - "grossQuantity": { - "type": "number", - "description": "Gross quantity of the usage line item." - }, - "grossAmount": { - "type": "number", - "description": "Gross amount of the usage line item." - }, - "discountQuantity": { - "type": "number", - "description": "Discount quantity of the usage line item." - }, - "discountAmount": { - "type": "number", - "description": "Discount amount of the usage line item." - }, - "netQuantity": { - "type": "number", - "description": "Net quantity of the usage line item." - }, - "netAmount": { - "type": "number", - "description": "Net amount of the usage line item." - } - }, - "required": [ - "product", - "sku", - "unitType", - "pricePerUnit", - "grossQuantity", - "grossAmount", - "discountQuantity", - "discountAmount", - "netQuantity", - "netAmount" - ] - } + "message": { + "type": "string" } - }, - "required": [ - "timePeriod", - "organization", - "usageItems" - ] + } } } } @@ -127987,7 +126900,7 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

Response when getting a billing usage summary

" + "description": "

Response when removing resources from a cost center

" }, { "httpStatusCode": "400", @@ -128008,27 +126921,25 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Administration\" organization permissions": "read" - } - ] + "userToServerRest": false, + "serverToServer": false, + "fineGrainedPat": false, + "permissions": [] } - }, + } + ], + "usage": [ { "serverUrl": "https://api.github.com", "verb": "get", - "requestPath": "/users/{username}/settings/billing/premium_request/usage", - "title": "Get billing premium request usage report for a user", + "requestPath": "/enterprises/{enterprise}/settings/billing/premium_request/usage", + "title": "Get billing premium request usage report for an enterprise", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { - "name": "username", - "description": "

The handle for the GitHub user account.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { @@ -128062,6 +126973,24 @@ "type": "integer" } }, + { + "name": "organization", + "description": "

The organization name to query usage for. The name is not case sensitive.

", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "user", + "description": "

The user name to query usage for. The name is not case sensitive.

", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "model", "description": "

The model name to query usage for. The name is not case sensitive.

", @@ -128079,10 +127008,19 @@ "schema": { "type": "string" } + }, + { + "name": "cost_center_id", + "description": "

The ID corresponding to a cost center. An ID of 'none' will target usage not associated to any cost center.

", + "in": "query", + "required": false, + "schema": { + "type": "string" + } } ], "bodyParameters": [], - "descriptionHTML": "

Gets a report of premium request usage for a user.

\n

Note: Only data from the past 24 months is accessible via this endpoint.

", + "descriptionHTML": "

Gets a report of premium request usage for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise.

\n

Note: Only data from the past 24 months is accessible via this endpoint.

", "codeExamples": [ { "key": "default", @@ -128090,7 +127028,7 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "username": "USERNAME" + "enterprise": "ENTERPRISE" } }, "response": { @@ -128101,7 +127039,7 @@ "timePeriod": { "year": 2025 }, - "user": "monalisa", + "enterprise": "GitHub", "usageItems": [ { "product": "Copilot", @@ -128141,9 +127079,17 @@ "year" ] }, + "enterprise": { + "type": "string", + "description": "The unique identifier of the enterprise." + }, "user": { "type": "string", - "description": "The unique identifier of the user." + "description": "The name of the user for the usage report." + }, + "organization": { + "type": "string", + "description": "The name of the organization for the usage report." }, "product": { "type": "string", @@ -128153,6 +127099,23 @@ "type": "string", "description": "The model for the usage report." }, + "costCenter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the cost center." + }, + "name": { + "type": "string", + "description": "The name of the cost center." + } + }, + "required": [ + "id", + "name" + ] + }, "usageItems": { "type": "array", "items": { @@ -128221,7 +127184,7 @@ }, "required": [ "timePeriod", - "user", + "enterprise", "usageItems" ] } @@ -128256,27 +127219,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, + "userToServerRest": false, "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage", - "title": "Get billing usage report for a user", + "requestPath": "/enterprises/{enterprise}/settings/billing/usage", + "title": "Get billing usage report for an enterprise", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { - "name": "username", - "description": "

The handle for the GitHub user account.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { @@ -128309,10 +127268,19 @@ "schema": { "type": "integer" } + }, + { + "name": "cost_center_id", + "description": "

The ID corresponding to a cost center. The default value is no cost center.

", + "in": "query", + "required": false, + "schema": { + "type": "string" + } } ], "bodyParameters": [], - "descriptionHTML": "

Gets a report of the total usage for a user.

\n

Note: This endpoint is only available to users with access to the enhanced billing platform.

", + "descriptionHTML": "

Gets a report of usage by cost center for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default this endpoint will return usage that does not have a cost center.

\n

Note: This endpoint is only available to enterprises with access to the enhanced billing platform. For more information, see \"About the enhanced billing platform for enterprises.\"

", "codeExamples": [ { "key": "default", @@ -128320,7 +127288,7 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "username": "USERNAME" + "enterprise": "ENTERPRISE" } }, "response": { @@ -128339,7 +127307,8 @@ "grossAmount": 0.8, "discountAmount": 0, "netAmount": 0.8, - "repositoryName": "user/example" + "organizationName": "GitHub", + "repositoryName": "github/example" } ] }, @@ -128387,6 +127356,10 @@ "type": "number", "description": "Net amount of the usage line item." }, + "organizationName": { + "type": "string", + "description": "Name of the organization." + }, "repositoryName": { "type": "string", "description": "Name of the repository." @@ -128401,7 +127374,8 @@ "pricePerUnit", "grossAmount", "discountAmount", - "netAmount" + "netAmount", + "organizationName" ] } } @@ -128434,27 +127408,23 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, + "userToServerRest": false, "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] + "fineGrainedPat": false, + "permissions": [] } }, { "serverUrl": "https://api.github.com", "verb": "get", - "requestPath": "/users/{username}/settings/billing/usage/summary", - "title": "Get billing usage summary for a user", + "requestPath": "/enterprises/{enterprise}/settings/billing/usage/summary", + "title": "Get billing usage summary for an enterprise", "category": "billing", - "subcategory": "enhanced-billing", + "subcategory": "usage", "parameters": [ { - "name": "username", - "description": "

The handle for the GitHub user account.

", + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", "in": "path", "required": true, "schema": { @@ -128488,6 +127458,15 @@ "type": "integer" } }, + { + "name": "organization", + "description": "

The organization name to query usage for. The name is not case sensitive.

", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, { "name": "repository", "description": "

The repository name to query for usage in the format owner/repository.

", @@ -128514,10 +127493,19 @@ "schema": { "type": "string" } + }, + { + "name": "cost_center_id", + "description": "

The ID corresponding to a cost center. An ID of 'none' will target usage not associated to any cost center.

", + "in": "query", + "required": false, + "schema": { + "type": "string" + } } ], "bodyParameters": [], - "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Gets a summary report of usage for a user.

\n

Note: Only data from the past 24 months is accessible via this endpoint.

", + "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Gets a summary report of usage for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default, this endpoint will return usage across all cost centers in the enterprise.

\n

Note: Only data from the past 24 months is accessible via this endpoint.

", "codeExamples": [ { "key": "default", @@ -128525,7 +127513,7 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "username": "USERNAME" + "enterprise": "ENTERPRISE" } }, "response": { @@ -128536,7 +127524,7 @@ "timePeriod": { "year": 2025 }, - "user": "monalisa", + "enterprise": "GitHub", "usageItems": [ { "product": "Actions", @@ -128575,9 +127563,13 @@ "year" ] }, - "user": { + "enterprise": { + "type": "string", + "description": "The unique identifier of the enterprise." + }, + "organization": { "type": "string", - "description": "The unique identifier of the user." + "description": "The name of the organization for the usage report." }, "repository": { "type": "string", @@ -128591,6 +127583,23 @@ "type": "string", "description": "The SKU for the usage report." }, + "costCenter": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the cost center." + }, + "name": { + "type": "string", + "description": "The name of the cost center." + } + }, + "required": [ + "id", + "name" + ] + }, "usageItems": { "type": "array", "items": { @@ -128654,7 +127663,7 @@ }, "required": [ "timePeriod", - "user", + "enterprise", "usageItems" ] } @@ -128674,10 +127683,6 @@ "httpStatusCode": "403", "description": "

Forbidden

" }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - }, { "httpStatusCode": "500", "description": "

Internal Error

" @@ -128689,14 +127694,10 @@ ], "previews": [], "progAccess": { - "userToServerRest": true, + "userToServerRest": false, "serverToServer": false, - "fineGrainedPat": true, - "permissions": [ - { - "\"Plan\" user permissions": "read" - } - ] + "fineGrainedPat": false, + "permissions": [] } } ] @@ -297837,2293 +296838,234 @@ "type": "string", "name": "domain", "description": "

Domain of Splunk instance.

", - "isRequired": true - }, - { - "type": "integer", - "name": "port", - "description": "

The port number for connecting to Splunk.

", - "isRequired": true - }, - { - "type": "string", - "name": "key_id", - "description": "

Key ID obtained from the audit log stream key endpoint used to encrypt secrets.

", - "isRequired": true - }, - { - "type": "string", - "name": "encrypted_token", - "description": "

Encrypted Token.

", - "isRequired": true - }, - { - "type": "boolean", - "name": "ssl_verify", - "description": "

SSL verification helps ensure your events are sent to your Splunk endpoint securely.

", - "isRequired": true - } - ] - }, - { - "type": "object", - "name": "HecConfig", - "description": "

Hec Config for Audit Log Stream Configuration

", - "isRequired": [ - "domain", - "encrypted_token", - "path", - "key_id", - "port", - "ssl_verify" - ], - "childParamsGroups": [ - { - "type": "string", - "name": "domain", - "description": "

Domain of Hec instance.

", - "isRequired": true - }, - { - "type": "integer", - "name": "port", - "description": "

The port number for connecting to HEC.

", - "isRequired": true - }, - { - "type": "string", - "name": "key_id", - "description": "

Key ID obtained from the audit log stream key endpoint used to encrypt secrets.

", - "isRequired": true - }, - { - "type": "string", - "name": "encrypted_token", - "description": "

Encrypted Token.

", - "isRequired": true - }, - { - "type": "string", - "name": "path", - "description": "

Path to send events to.

", - "isRequired": true - }, - { - "type": "boolean", - "name": "ssl_verify", - "description": "

SSL verification helps ensure your events are sent to your HEC endpoint securely.

", - "isRequired": true - } - ] - }, - { - "type": "object", - "name": "GoogleCloudConfig", - "description": "

Google Cloud Config for audit log streaming configuration.

", - "isRequired": [ - "bucket", - "key_id", - "encrypted_json_credentials" - ], - "childParamsGroups": [ - { - "type": "string", - "name": "bucket", - "description": "

Google Cloud Bucket Name

", - "isRequired": true - }, - { - "type": "string", - "name": "key_id", - "description": "

Key ID obtained from the audit log stream key endpoint used to encrypt secrets.

", - "isRequired": true - }, - { - "type": "string", - "name": "encrypted_json_credentials", - "description": "", - "isRequired": true - } - ] - }, - { - "type": "object", - "name": "DatadogConfig", - "description": "

Datadog Config for audit log streaming configuration.

", - "isRequired": [ - "encrypted_token", - "site", - "key_id" - ], - "childParamsGroups": [ - { - "type": "string", - "name": "encrypted_token", - "description": "

Encrypted Splunk token.

", - "isRequired": true - }, - { - "type": "string", - "name": "site", - "description": "

Datadog Site to use.

", - "isRequired": true, - "enum": [ - "US", - "US3", - "US5", - "EU1", - "US1-FED", - "AP1" - ] - }, - { - "type": "string", - "name": "key_id", - "description": "

Key ID obtained from the audit log stream key endpoint used to encrypt secrets.

", - "isRequired": true - } - ] - } - ], - "oneOfObject": true - } - ], - "descriptionHTML": "

Updates an existing audit log stream configuration for an enterprise.

\n

When using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"

", - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "enabled": false, - "stream_type": "Azure Event Hubs", - "vendor_specific": { - "namespace": "newnamespace", - "shared_access_key_name": "newaccesskeyname", - "shared_access_key": "newaccesskey", - "event_hub_name": "neweventhub" - } - }, - "parameters": { - "enterprise": "ENTERPRISE", - "stream_id": "STREAM_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Successful update

", - "example": { - "id": 1, - "stream_type": "Splunk", - "stream_details": "US", - "enabled": true, - "created_at": "2024-06-06T08:00:00Z", - "updated_at": "2024-06-06T08:00:00Z", - "paused_at": null - }, - "schema": { - "title": "Get an audit log streaming configuration", - "description": "Get an audit log streaming configuration for an enterprise.", - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "stream_type": { - "type": "string" - }, - "stream_details": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "paused_at": { - "type": [ - "string", - "null" - ], - "format": "date-time" - } - }, - "required": [ - "id", - "stream_type", - "stream_details", - "enabled", - "created_at", - "updated_at" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Successful update

" - }, - { - "httpStatusCode": "422", - "description": "

Validation error

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/enterprises/{enterprise}/audit-log/streams/{stream_id}", - "title": "Delete an audit log streaming configuration for an enterprise", - "category": "enterprise-admin", - "subcategory": "audit-log", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "stream_id", - "description": "

The ID of the audit log stream configuration.

", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Deletes an existing audit log stream configuration for an enterprise.

\n

When using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE", - "stream_id": "STREAM_ID" - } - }, - "response": { - "statusCode": "204", - "description": "

The audit log stream configuration was deleted successfully.

" - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "204", - "description": "

The audit log stream configuration was deleted successfully.

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - } - ], - "billing": [ - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/actions", - "title": "Get GitHub Actions billing for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the summary of the free and paid GitHub Actions minutes used.

\n

Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".

\n

The authenticated user must be an enterprise admin.

\n

Note

\n

\nThis endpoint is available to enterprise customers who are using the legacy billing platform.

\n
", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_minutes_used": 305, - "total_paid_minutes_used": 0, - "included_minutes": 3000, - "minutes_used_breakdown": { - "UBUNTU": 205, - "MACOS": 10, - "WINDOWS": 90 - } - }, - "schema": { - "type": "object", - "properties": { - "total_minutes_used": { - "type": "integer", - "description": "The sum of the free and paid GitHub Actions minutes used." - }, - "total_paid_minutes_used": { - "type": "integer", - "description": "The total paid GitHub Actions minutes used." - }, - "included_minutes": { - "type": "integer", - "description": "The amount of free GitHub Actions minutes available." - }, - "minutes_used_breakdown": { - "type": "object", - "properties": { - "UBUNTU": { - "type": "integer", - "description": "Total minutes used on Ubuntu runner machines." - }, - "MACOS": { - "type": "integer", - "description": "Total minutes used on macOS runner machines." - }, - "WINDOWS": { - "type": "integer", - "description": "Total minutes used on Windows runner machines." - }, - "ubuntu_4_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 4 core runner machines." - }, - "ubuntu_8_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 8 core runner machines." - }, - "ubuntu_16_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 16 core runner machines." - }, - "ubuntu_32_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 32 core runner machines." - }, - "ubuntu_64_core": { - "type": "integer", - "description": "Total minutes used on Ubuntu 64 core runner machines." - }, - "windows_4_core": { - "type": "integer", - "description": "Total minutes used on Windows 4 core runner machines." - }, - "windows_8_core": { - "type": "integer", - "description": "Total minutes used on Windows 8 core runner machines." - }, - "windows_16_core": { - "type": "integer", - "description": "Total minutes used on Windows 16 core runner machines." - }, - "windows_32_core": { - "type": "integer", - "description": "Total minutes used on Windows 32 core runner machines." - }, - "windows_64_core": { - "type": "integer", - "description": "Total minutes used on Windows 64 core runner machines." - }, - "macos_12_core": { - "type": "integer", - "description": "Total minutes used on macOS 12 core runner machines." - }, - "total": { - "type": "integer", - "description": "Total minutes used on all runner machines." - } - } - } - }, - "required": [ - "total_minutes_used", - "total_paid_minutes_used", - "included_minutes", - "minutes_used_breakdown" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": false, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ], - "disabledForPatV2": true - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "advanced_security_product", - "in": "query", - "description": "

The security product to get GitHub Advanced Security active committers for.

\n

For standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.

", - "required": false, - "schema": { - "type": "string", - "enum": [ - "code_security", - "secret_protection" - ] - } - }, - { - "name": "per_page", - "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Success

", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Success

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers", - "title": "Get all cost centers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "state", - "in": "query", - "description": "

Set to active or deleted to only list cost centers in a specific state.

", - "required": false, - "schema": { - "type": "string", - "enum": [ - "active", - "deleted" - ] - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets a list of all the cost centers for an enterprise.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when getting cost centers

", - "example": { - "costCenters": [ - { - "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", - "name": "Cost Center Name", - "state": "active", - "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", - "resources": [ - { - "type": "User", - "name": "Monalisa" - }, - { - "type": "Repo", - "name": "octocat/hello-world" - } - ] - }, - { - "id": "3ffb9ffe-6903-11ee-8c99-0242ac120003", - "name": "Another Cost Center", - "state": "active", - "resources": [ - { - "type": "User", - "name": "Octocat" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "costCenters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID of the cost center." - }, - "name": { - "type": "string", - "description": "Name of the cost center." - }, - "state": { - "type": "string", - "description": "State of the cost center.", - "enum": [ - "active", - "deleted" - ] - }, - "azure_subscription": { - "type": [ - "string", - "null" - ], - "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." - }, - "resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of the resource." - }, - "name": { - "type": "string", - "description": "Name of the resource." - } - }, - "required": [ - "type", - "name" - ] - } - } - }, - "required": [ - "id", - "name", - "resources" - ] - } - } - } - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Response when getting cost centers

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "post", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers", - "title": "Create a new cost center", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [ - { - "type": "string", - "name": "name", - "in": "body", - "description": "

The name of the cost center (max length 255 characters)

", - "isRequired": true - } - ], - "descriptionHTML": "

Creates a new cost center for an enterprise. The authenticated user must be an enterprise admin.

", - "codeExamples": [ - { - "key": "example-1", - "request": { - "contentType": "application/json", - "description": "Example request to create a cost center", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "name": "Engineering Team" - }, - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Example response for a created cost center

", - "example": { - "id": "abc123", - "name": "Engineering Team", - "resources": [] - }, - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the cost center" - }, - "name": { - "type": "string", - "description": "Name of the cost center" - }, - "azure_subscription": { - "type": [ - "string", - "null" - ], - "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." - }, - "state": { - "type": "string", - "description": "State of the cost center.", - "enum": [ - "active", - "deleted" - ] - }, - "resources": { - "type": "array", - "description": "List of resources assigned to this cost center", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of resource (User, Org, or Repo)" - }, - "name": { - "type": "string", - "description": "Name/login of the resource" - } - } - } - } - } - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Cost center created successfully

" - }, - { - "httpStatusCode": "400", - "description": "

Bad request

" - }, - { - "httpStatusCode": "409", - "description": "

Conflict

" - }, - { - "httpStatusCode": "500", - "description": "

Internal server error

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", - "title": "Get a cost center by ID", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "

The ID corresponding to the cost center.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets a cost center by ID. The authenticated user must be an enterprise admin.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when getting a cost center

", - "example": { - "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", - "name": "Cost Center Name", - "state": "active", - "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", - "resources": [ - { - "type": "User", - "name": "Monalisa" - }, - { - "type": "Repo", - "name": "octocat/hello-world" - } - ] - }, - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID of the cost center." - }, - "name": { - "type": "string", - "description": "Name of the cost center." - }, - "azure_subscription": { - "type": [ - "string", - "null" - ], - "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." - }, - "state": { - "type": "string", - "description": "State of the cost center.", - "enum": [ - "active", - "deleted" - ] - }, - "resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of the resource." - }, - "name": { - "type": "string", - "description": "Name of the resource." - } - }, - "required": [ - "type", - "name" - ] - } - } - }, - "required": [ - "id", - "name", - "resources" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Response when getting a cost center

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "patch", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", - "title": "Update a cost center name", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "

The slug version of the enterprise name

" - }, - { - "name": "cost_center_id", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "

The unique identifier of the cost center

" - } - ], - "bodyParameters": [ - { - "type": "string", - "name": "name", - "in": "body", - "description": "

The new name for the cost center

", - "isRequired": true - } - ], - "descriptionHTML": "

Updates an existing cost center name.

", - "codeExamples": [ - { - "key": "update-cost-center", - "request": { - "contentType": "application/json", - "description": "Update cost center name example", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "name": "New Cost Center Name" - }, - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when updating a cost center

", - "example": { - "id": "2eeb8ffe-6903-11ee-8c99-0242ac120002", - "name": "Cost Center Name", - "state": "active", - "azure_subscription": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", - "resources": [ - { - "type": "User", - "name": "Monalisa" - }, - { - "type": "Repo", - "name": "octocat/hello-world" - } - ] - }, - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID of the cost center." - }, - "name": { - "type": "string", - "description": "Name of the cost center." - }, - "azure_subscription": { - "type": [ - "string", - "null" - ], - "description": "Azure subscription ID associated with the cost center. Only present for cost centers linked to Azure subscriptions." - }, - "state": { - "type": "string", - "description": "State of the cost center.", - "enum": [ - "active", - "deleted" - ] - }, - "resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type of the resource." - }, - "name": { - "type": "string", - "description": "Name of the resource." - } - }, - "required": [ - "type", - "name" - ] - } - } - }, - "required": [ - "id", - "name", - "resources" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Response when updating a cost center

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - }, - { - "httpStatusCode": "409", - "description": "

Conflict

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}", - "title": "Delete a cost center", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "

The ID corresponding to the cost center.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Archieves a cost center by ID. The authenticated user must be an enterprise admin.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when deleting a cost center

", - "example": { - "message": "Cost center successfully deleted.", - "id": "2066deda-923f-43f9-88d2-62395a28c0cdd", - "name": "cc3", - "costCenterState": "CostCenterArchived" - }, - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "A message indicating the result of the deletion operation" - }, - "id": { - "type": "string", - "description": "The unique identifier of the deleted cost center" - }, - "name": { - "type": "string", - "description": "The name of the deleted cost center" - }, - "costCenterState": { - "type": "string", - "enum": [ - "CostCenterArchived" - ], - "description": "The state of the cost center after deletion" - } - }, - "required": [ - "message", - "id", - "name", - "costCenterState" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Response when deleting a cost center

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "post", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource", - "title": "Add resources to a cost center", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "

The ID corresponding to the cost center.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [ - { - "type": "array of strings", - "name": "users", - "in": "body", - "description": "

The usernames of the users to add to the cost center.

" - }, - { - "type": "array of strings", - "name": "organizations", - "in": "body", - "description": "

The organizations to add to the cost center.

" - }, - { - "type": "array of strings", - "name": "repositories", - "in": "body", - "description": "

The repositories to add to the cost center.

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

Adds resources to a cost center.

\n

The usage for the resources will be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.

", - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "users": [ - "monalisa" - ] - }, - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when adding resources to a cost center

", - "example": { - "message": "Resources successfully added to the cost center.", - "reassigned_resources": [ - { - "resource_type": "user", - "name": "monalisa", - "previous_cost_center": "old-cost-center" - }, - { - "resource_type": "organization", - "name": "octo-org", - "previous_cost_center": "another-cost-center" - }, - { - "resource_type": "repository", - "name": "octo-repo", - "previous_cost_center": "yet-another-cost-center" - } - ] - }, - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reassigned_resources": { - "type": [ - "array", - "null" - ], - "items": { - "type": "object", - "properties": { - "resource_type": { - "type": "string", - "description": "The type of resource that was reassigned." - }, - "name": { - "type": "string", - "description": "The name of the resource that was reassigned." - }, - "previous_cost_center": { - "type": "string", - "description": "The previous cost center of the resource." - } - } - } - } - } - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Response when adding resources to a cost center

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "409", - "description": "

Conflict

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "delete", - "requestPath": "/enterprises/{enterprise}/settings/billing/cost-centers/{cost_center_id}/resource", - "title": "Remove resources from a cost center", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "

The ID corresponding to the cost center.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [ - { - "type": "array of strings", - "name": "users", - "in": "body", - "description": "

The usernames of the users to remove from the cost center.

" - }, - { - "type": "array of strings", - "name": "organizations", - "in": "body", - "description": "

The organizations to remove from the cost center.

" - }, - { - "type": "array of strings", - "name": "repositories", - "in": "body", - "description": "

The repositories to remove from the cost center.

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

Remove resources from a cost center.

\n

The usage for the resources will no longer be charged to the cost center's budget. The authenticated user must be an enterprise admin in order to use this endpoint.

", - "codeExamples": [ - { - "key": "default", - "request": { - "contentType": "application/json", - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "bodyParameters": { - "users": [ - "monalisa" - ] - }, - "parameters": { - "enterprise": "ENTERPRISE", - "cost_center_id": "COST_CENTER_ID" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when removing resources from a cost center

", - "example": { - "message": "Resources successfully removed from the cost center." - }, - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - } - } - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Response when removing resources from a cost center

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/packages", - "title": "Get GitHub Packages billing for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the free and paid storage used for GitHub Packages in gigabytes.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

The authenticated user must be an enterprise admin.

\n

Note

\n

\nThis endpoint is available to enterprise customers who are using the legacy billing platform.

\n
", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response

", - "example": { - "total_gigabytes_bandwidth_used": 50, - "total_paid_gigabytes_bandwidth_used": 40, - "included_gigabytes_bandwidth": 10 - }, - "schema": { - "type": "object", - "properties": { - "total_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Sum of the free and paid storage space (GB) for GitHuub Packages." - }, - "total_paid_gigabytes_bandwidth_used": { - "type": "integer", - "description": "Total paid storage space (GB) for GitHuub Packages." - }, - "included_gigabytes_bandwidth": { - "type": "integer", - "description": "Free storage space (GB) for GitHub Packages." - } - }, - "required": [ - "total_gigabytes_bandwidth_used", - "total_paid_gigabytes_bandwidth_used", - "included_gigabytes_bandwidth" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": false, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ], - "disabledForPatV2": true - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/premium_request/usage", - "title": "Get billing premium request usage report for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "year", - "description": "

If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "month", - "description": "

If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "day", - "description": "

If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "organization", - "description": "

The organization name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "user", - "description": "

The user name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "model", - "description": "

The model name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "product", - "description": "

The product name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "

The ID corresponding to a cost center. An ID of 'none' will target usage not associated to any cost center.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets a report of premium request usage for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise.

\n

Note: Only data from the past 24 months is accessible via this endpoint.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when getting a billing premium request usage report

", - "example": { - "timePeriod": { - "year": 2025 - }, - "enterprise": "GitHub", - "usageItems": [ + "isRequired": true + }, { - "product": "Copilot", - "sku": "Copilot Premium Request", - "model": "GPT-5", - "unitType": "requests", - "pricePerUnit": 0.04, - "grossQuantity": 100, - "grossAmount": 4, - "discountQuantity": 0, - "discountAmount": 0, - "netQuantity": 100, - "netAmount": 4 + "type": "integer", + "name": "port", + "description": "

The port number for connecting to Splunk.

", + "isRequired": true + }, + { + "type": "string", + "name": "key_id", + "description": "

Key ID obtained from the audit log stream key endpoint used to encrypt secrets.

", + "isRequired": true + }, + { + "type": "string", + "name": "encrypted_token", + "description": "

Encrypted Token.

", + "isRequired": true + }, + { + "type": "boolean", + "name": "ssl_verify", + "description": "

SSL verification helps ensure your events are sent to your Splunk endpoint securely.

", + "isRequired": true } ] }, - "schema": { + { "type": "object", - "properties": { - "timePeriod": { - "type": "object", - "properties": { - "year": { - "type": "integer", - "description": "The year for the usage report." - }, - "month": { - "type": "integer", - "description": "The month for the usage report." - }, - "day": { - "type": "integer", - "description": "The day for the usage report." - } - }, - "required": [ - "year" - ] + "name": "HecConfig", + "description": "

Hec Config for Audit Log Stream Configuration

", + "isRequired": [ + "domain", + "encrypted_token", + "path", + "key_id", + "port", + "ssl_verify" + ], + "childParamsGroups": [ + { + "type": "string", + "name": "domain", + "description": "

Domain of Hec instance.

", + "isRequired": true }, - "enterprise": { + { + "type": "integer", + "name": "port", + "description": "

The port number for connecting to HEC.

", + "isRequired": true + }, + { "type": "string", - "description": "The unique identifier of the enterprise." + "name": "key_id", + "description": "

Key ID obtained from the audit log stream key endpoint used to encrypt secrets.

", + "isRequired": true }, - "user": { + { "type": "string", - "description": "The name of the user for the usage report." + "name": "encrypted_token", + "description": "

Encrypted Token.

", + "isRequired": true }, - "organization": { + { "type": "string", - "description": "The name of the organization for the usage report." + "name": "path", + "description": "

Path to send events to.

", + "isRequired": true }, - "product": { + { + "type": "boolean", + "name": "ssl_verify", + "description": "

SSL verification helps ensure your events are sent to your HEC endpoint securely.

", + "isRequired": true + } + ] + }, + { + "type": "object", + "name": "GoogleCloudConfig", + "description": "

Google Cloud Config for audit log streaming configuration.

", + "isRequired": [ + "bucket", + "key_id", + "encrypted_json_credentials" + ], + "childParamsGroups": [ + { "type": "string", - "description": "The product for the usage report." + "name": "bucket", + "description": "

Google Cloud Bucket Name

", + "isRequired": true }, - "model": { + { "type": "string", - "description": "The model for the usage report." + "name": "key_id", + "description": "

Key ID obtained from the audit log stream key endpoint used to encrypt secrets.

", + "isRequired": true }, - "costCenter": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier of the cost center." - }, - "name": { - "type": "string", - "description": "The name of the cost center." - } - }, - "required": [ - "id", - "name" + { + "type": "string", + "name": "encrypted_json_credentials", + "description": "", + "isRequired": true + } + ] + }, + { + "type": "object", + "name": "DatadogConfig", + "description": "

Datadog Config for audit log streaming configuration.

", + "isRequired": [ + "encrypted_token", + "site", + "key_id" + ], + "childParamsGroups": [ + { + "type": "string", + "name": "encrypted_token", + "description": "

Encrypted Splunk token.

", + "isRequired": true + }, + { + "type": "string", + "name": "site", + "description": "

Datadog Site to use.

", + "isRequired": true, + "enum": [ + "US", + "US3", + "US5", + "EU1", + "US1-FED", + "AP1" ] }, - "usageItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU name." - }, - "model": { - "type": "string", - "description": "Model name." - }, - "unitType": { - "type": "string", - "description": "Unit type of the usage line item." - }, - "pricePerUnit": { - "type": "number", - "description": "Price per unit of the usage line item." - }, - "grossQuantity": { - "type": "number", - "description": "Gross quantity of the usage line item." - }, - "grossAmount": { - "type": "number", - "description": "Gross amount of the usage line item." - }, - "discountQuantity": { - "type": "number", - "description": "Discount quantity of the usage line item." - }, - "discountAmount": { - "type": "number", - "description": "Discount amount of the usage line item." - }, - "netQuantity": { - "type": "number", - "description": "Net quantity of the usage line item." - }, - "netAmount": { - "type": "number", - "description": "Net amount of the usage line item." - } - }, - "required": [ - "product", - "sku", - "model", - "unitType", - "pricePerUnit", - "grossQuantity", - "grossAmount", - "discountQuantity", - "discountAmount", - "netQuantity", - "netAmount" - ] - } + { + "type": "string", + "name": "key_id", + "description": "

Key ID obtained from the audit log stream key endpoint used to encrypt secrets.

", + "isRequired": true } - }, - "required": [ - "timePeriod", - "enterprise", - "usageItems" ] } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Response when getting a billing premium request usage report

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "404", - "description": "

Resource not found

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": false, - "serverToServer": false, - "fineGrainedPat": false, - "permissions": [] - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/shared-storage", - "title": "Get shared storage billing for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } + ], + "oneOfObject": true } ], - "bodyParameters": [], - "descriptionHTML": "

Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.

\n

Paid minutes only apply to packages stored for private repositories. For more information, see \"Managing billing for GitHub Packages.\"

\n

The authenticated user must be an enterprise admin.

\n

Note

\n

\nThis endpoint is available to enterprise customers who are using the legacy billing platform.

\n
", + "descriptionHTML": "

Updates an existing audit log stream configuration for an enterprise.

\n

When using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"

", "codeExamples": [ { "key": "default", "request": { + "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "enabled": false, + "stream_type": "Azure Event Hubs", + "vendor_specific": { + "namespace": "newnamespace", + "shared_access_key_name": "newaccesskeyname", + "shared_access_key": "newaccesskey", + "event_hub_name": "neweventhub" + } + }, "parameters": { - "enterprise": "ENTERPRISE" + "enterprise": "ENTERPRISE", + "stream_id": "STREAM_ID" } }, "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

Successful update

", "example": { - "days_left_in_billing_cycle": 20, - "estimated_paid_storage_for_month": 15, - "estimated_storage_for_month": 40 + "id": 1, + "stream_type": "Splunk", + "stream_details": "US", + "enabled": true, + "created_at": "2024-06-06T08:00:00Z", + "updated_at": "2024-06-06T08:00:00Z", + "paused_at": null }, "schema": { + "title": "Get an audit log streaming configuration", + "description": "Get an audit log streaming configuration for an enterprise.", "type": "object", "properties": { - "days_left_in_billing_cycle": { - "type": "integer", - "description": "Numbers of days left in billing cycle." + "id": { + "type": "integer" }, - "estimated_paid_storage_for_month": { - "type": "integer", - "description": "Estimated storage space (GB) used in billing cycle." + "stream_type": { + "type": "string" }, - "estimated_storage_for_month": { - "type": "integer", - "description": "Estimated sum of free and paid storage space (GB) used in billing cycle." + "stream_details": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "paused_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" } }, "required": [ - "days_left_in_billing_cycle", - "estimated_paid_storage_for_month", - "estimated_storage_for_month" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

OK

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": false, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ], - "disabledForPatV2": true - } - }, - { - "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/usage", - "title": "Get billing usage report for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "year", - "description": "

If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "month", - "description": "

If specified, only return results for a single month. The value of month is an integer between 1 and 12. If no year is specified the default year is used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "day", - "description": "

If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "cost_center_id", - "description": "

The ID corresponding to a cost center. The default value is no cost center.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets a report of usage by cost center for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default this endpoint will return usage that does not have a cost center.

\n

Note: This endpoint is only available to enterprises with access to the enhanced billing platform. For more information, see \"About the enhanced billing platform for enterprises.\"

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when getting a billing usage report

", - "example": { - "usageItems": [ - { - "date": "2023-08-01", - "product": "Actions", - "sku": "Actions Linux", - "quantity": 100, - "unitType": "minutes", - "pricePerUnit": 0.008, - "grossAmount": 0.8, - "discountAmount": 0, - "netAmount": 0.8, - "organizationName": "GitHub", - "repositoryName": "github/example" - } + "id", + "stream_type", + "stream_details", + "enabled", + "created_at", + "updated_at" ] - }, - "schema": { - "type": "object", - "properties": { - "usageItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "date": { - "type": "string", - "description": "Date of the usage line item." - }, - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU name." - }, - "quantity": { - "type": "integer", - "description": "Quantity of the usage line item." - }, - "unitType": { - "type": "string", - "description": "Unit type of the usage line item." - }, - "pricePerUnit": { - "type": "number", - "description": "Price per unit of the usage line item." - }, - "grossAmount": { - "type": "number", - "description": "Gross amount of the usage line item." - }, - "discountAmount": { - "type": "number", - "description": "Discount amount of the usage line item." - }, - "netAmount": { - "type": "number", - "description": "Net amount of the usage line item." - }, - "organizationName": { - "type": "string", - "description": "Name of the organization." - }, - "repositoryName": { - "type": "string", - "description": "Name of the repository." - } - }, - "required": [ - "date", - "product", - "sku", - "quantity", - "unitType", - "pricePerUnit", - "grossAmount", - "discountAmount", - "netAmount", - "organizationName" - ] - } - } - } } } } @@ -300131,23 +297073,11 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

Response when getting a billing usage report

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" + "description": "

Successful update

" }, { - "httpStatusCode": "503", - "description": "

Service unavailable

" + "httpStatusCode": "422", + "description": "

Validation error

" } ], "previews": [], @@ -300160,11 +297090,11 @@ }, { "serverUrl": "https://api.github.com", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/usage/summary", - "title": "Get billing usage summary for an enterprise", + "verb": "delete", + "requestPath": "/enterprises/{enterprise}/audit-log/streams/{stream_id}", + "title": "Delete an audit log streaming configuration for an enterprise", "category": "enterprise-admin", - "subcategory": "billing", + "subcategory": "audit-log", "parameters": [ { "name": "enterprise", @@ -300176,80 +297106,17 @@ } }, { - "name": "year", - "description": "

If specified, only return results for a single year. The value of year is an integer with four digits representing a year. For example, 2025. Default value is the current year.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "month", - "description": "

If specified, only return results for a single month. The value of month is an integer between 1 and 12. Default value is the current month. If no year is specified the default year is used.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "day", - "description": "

If specified, only return results for a single day. The value of day is an integer between 1 and 31. If no year or month is specified, the default year and month are used.

", - "in": "query", - "required": false, + "name": "stream_id", + "description": "

The ID of the audit log stream configuration.

", + "in": "path", + "required": true, "schema": { "type": "integer" } - }, - { - "name": "organization", - "description": "

The organization name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "repository", - "description": "

The repository name to query for usage in the format owner/repository.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "product", - "description": "

The product name to query usage for. The name is not case sensitive.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sku", - "description": "

The SKU to query for usage.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "cost_center_id", - "description": "

The ID corresponding to a cost center. An ID of 'none' will target usage not associated to any cost center.

", - "in": "query", - "required": false, - "schema": { - "type": "string" - } } ], "bodyParameters": [], - "descriptionHTML": "

Note

\n

\nThis endpoint is in public preview and is subject to change.

\n
\n

Gets a summary report of usage for an enterprise. To use this endpoint, you must be an administrator or billing manager of the enterprise. By default, this endpoint will return usage across all cost centers in the enterprise.

\n

Note: Only data from the past 24 months is accessible via this endpoint.

", + "descriptionHTML": "

Deletes an existing audit log stream configuration for an enterprise.

\n

When using this endpoint, you must encrypt the credentials following the same encryption steps as outlined in the guide on encrypting secrets. See \"Encrypting secrets for the REST API.\"

", "codeExamples": [ { "key": "default", @@ -300257,183 +297124,20 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "parameters": { - "enterprise": "ENTERPRISE" + "enterprise": "ENTERPRISE", + "stream_id": "STREAM_ID" } }, "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Response when getting a billing usage summary

", - "example": { - "timePeriod": { - "year": 2025 - }, - "enterprise": "GitHub", - "usageItems": [ - { - "product": "Actions", - "sku": "actions_linux", - "unitType": "minutes", - "pricePerUnit": 0.008, - "grossQuantity": 1000, - "grossAmount": 8, - "discountQuantity": 0, - "discountAmount": 0, - "netQuantity": 1000, - "netAmount": 8 - } - ] - }, - "schema": { - "type": "object", - "properties": { - "timePeriod": { - "type": "object", - "properties": { - "year": { - "type": "integer", - "description": "The year for the usage report." - }, - "month": { - "type": "integer", - "description": "The month for the usage report." - }, - "day": { - "type": "integer", - "description": "The day for the usage report." - } - }, - "required": [ - "year" - ] - }, - "enterprise": { - "type": "string", - "description": "The unique identifier of the enterprise." - }, - "organization": { - "type": "string", - "description": "The name of the organization for the usage report." - }, - "repository": { - "type": "string", - "description": "The name of the repository for the usage report." - }, - "product": { - "type": "string", - "description": "The product for the usage report." - }, - "sku": { - "type": "string", - "description": "The SKU for the usage report." - }, - "costCenter": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The unique identifier of the cost center." - }, - "name": { - "type": "string", - "description": "The name of the cost center." - } - }, - "required": [ - "id", - "name" - ] - }, - "usageItems": { - "type": "array", - "items": { - "type": "object", - "properties": { - "product": { - "type": "string", - "description": "Product name." - }, - "sku": { - "type": "string", - "description": "SKU name." - }, - "unitType": { - "type": "string", - "description": "Unit type of the usage line item." - }, - "pricePerUnit": { - "type": "number", - "description": "Price per unit of the usage line item." - }, - "grossQuantity": { - "type": "number", - "description": "Gross quantity of the usage line item." - }, - "grossAmount": { - "type": "number", - "description": "Gross amount of the usage line item." - }, - "discountQuantity": { - "type": "number", - "description": "Discount quantity of the usage line item." - }, - "discountAmount": { - "type": "number", - "description": "Discount amount of the usage line item." - }, - "netQuantity": { - "type": "number", - "description": "Net quantity of the usage line item." - }, - "netAmount": { - "type": "number", - "description": "Net amount of the usage line item." - } - }, - "required": [ - "product", - "sku", - "unitType", - "pricePerUnit", - "grossQuantity", - "grossAmount", - "discountQuantity", - "discountAmount", - "netQuantity", - "netAmount" - ] - } - } - }, - "required": [ - "timePeriod", - "enterprise", - "usageItems" - ] - } + "statusCode": "204", + "description": "

The audit log stream configuration was deleted successfully.

" } } ], "statusCodes": [ { - "httpStatusCode": "200", - "description": "

Response when getting a billing usage summary

" - }, - { - "httpStatusCode": "400", - "description": "

Bad Request

" - }, - { - "httpStatusCode": "403", - "description": "

Forbidden

" - }, - { - "httpStatusCode": "500", - "description": "

Internal Error

" - }, - { - "httpStatusCode": "503", - "description": "

Service unavailable

" + "httpStatusCode": "204", + "description": "

The audit log stream configuration was deleted successfully.

" } ], "previews": [], @@ -305621,14 +302325,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/enterprises/{enterprise}/consumed-licenses", "title": "List enterprise consumed licenses", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [ { "name": "enterprise", @@ -305882,7 +302586,7 @@ "requestPath": "/enterprises/{enterprise}/license-sync-status", "title": "Get a license sync status", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [ { "name": "enterprise", @@ -305987,6 +302691,214 @@ ], "disabledForPatV2": true } + }, + { + "serverUrl": "https://api.github.com", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "advanced_security_product", + "in": "query", + "description": "

The security product to get GitHub Advanced Security active committers for.

\n

For standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.

", + "required": false, + "schema": { + "type": "string", + "enum": [ + "code_security", + "secret_protection" + ] + } + }, + { + "name": "per_page", + "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success

", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

Success

" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "network-configurations": [ diff --git a/src/rest/data/ghes-3.14-2022-11-28/schema.json b/src/rest/data/ghes-3.14-2022-11-28/schema.json index 7b25516ec9a0..5a158e19b5e6 100644 --- a/src/rest/data/ghes-3.14-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.14-2022-11-28/schema.json @@ -207008,203 +207008,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "per_page", - "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Success

", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Success

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -208944,14 +208747,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -209027,6 +208830,201 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success

", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

Success

" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ 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 a4484ffb3463..70878a796e1f 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 @@ -211231,203 +211231,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "per_page", - "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Success

", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Success

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -213183,14 +212986,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -213266,6 +213069,201 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success

", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

Success

" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/data/ghes-3.16-2022-11-28/schema.json b/src/rest/data/ghes-3.16-2022-11-28/schema.json index c5b75e2e9162..ae00d04f5346 100644 --- a/src/rest/data/ghes-3.16-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.16-2022-11-28/schema.json @@ -216331,203 +216331,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "per_page", - "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Success

", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Success

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -218283,14 +218086,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -218366,6 +218169,201 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success

", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

Success

" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/data/ghes-3.17-2022-11-28/schema.json b/src/rest/data/ghes-3.17-2022-11-28/schema.json index 1461a02bc3b7..b18082ae46a7 100644 --- a/src/rest/data/ghes-3.17-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.17-2022-11-28/schema.json @@ -217120,216 +217120,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "advanced_security_product", - "in": "query", - "description": "

The security product to get GitHub Advanced Security active committers for.

\n

For standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.

", - "required": false, - "schema": { - "type": "string", - "enum": [ - "code_security", - "secret_protection" - ] - } - }, - { - "name": "per_page", - "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Success

", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Success

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -219085,14 +218875,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -219168,6 +218958,214 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "advanced_security_product", + "in": "query", + "description": "

The security product to get GitHub Advanced Security active committers for.

\n

For standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.

", + "required": false, + "schema": { + "type": "string", + "enum": [ + "code_security", + "secret_protection" + ] + } + }, + { + "name": "per_page", + "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success

", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

Success

" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/data/ghes-3.18-2022-11-28/schema.json b/src/rest/data/ghes-3.18-2022-11-28/schema.json index abdcc94ff3ed..dba94751cf9f 100644 --- a/src/rest/data/ghes-3.18-2022-11-28/schema.json +++ b/src/rest/data/ghes-3.18-2022-11-28/schema.json @@ -218246,216 +218246,6 @@ } } ], - "billing": [ - { - "serverUrl": "http(s)://HOSTNAME/api/v3", - "verb": "get", - "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", - "title": "Get GitHub Advanced Security active committers for an enterprise", - "category": "enterprise-admin", - "subcategory": "billing", - "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "advanced_security_product", - "in": "query", - "description": "

The security product to get GitHub Advanced Security active committers for.

\n

For standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.

", - "required": false, - "schema": { - "type": "string", - "enum": [ - "code_security", - "secret_protection" - ] - } - }, - { - "name": "per_page", - "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 30 - } - }, - { - "name": "page", - "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", - "in": "query", - "schema": { - "type": "integer", - "default": 1 - } - } - ], - "bodyParameters": [], - "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", - "codeExamples": [ - { - "key": "default", - "request": { - "description": "Example", - "acceptHeader": "application/vnd.github.v3+json", - "parameters": { - "enterprise": "ENTERPRISE" - } - }, - "response": { - "statusCode": "200", - "contentType": "application/json", - "description": "

Success

", - "example": { - "total_advanced_security_committers": 2, - "total_count": 2, - "maximum_advanced_security_committers": 4, - "purchased_advanced_security_committers": 4, - "repositories": [ - { - "name": "octocat-org/Hello-World", - "advanced_security_committers": 2, - "advanced_security_committers_breakdown": [ - { - "user_login": "octocat", - "last_pushed_date": "2021-11-03", - "last_pushed_email": "octocat@github.com" - }, - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-25", - "last_pushed_email": "octokitten@github.com" - } - ] - }, - { - "name": "octocat-org/server", - "advanced_security_committers": 1, - "advanced_security_committers_breakdown": [ - { - "user_login": "octokitten", - "last_pushed_date": "2021-10-26", - "last_pushed_email": "octokitten@github.com" - } - ] - } - ] - }, - "schema": { - "type": "object", - "properties": { - "total_advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "total_count": { - "type": "integer", - "examples": [ - 2 - ] - }, - "maximum_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", - "examples": [ - 4 - ] - }, - "purchased_advanced_security_committers": { - "type": "integer", - "description": "The total number of GitHub Advanced Security licences purchased", - "examples": [ - 4 - ] - }, - "repositories": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "examples": [ - "octocat/Hello-World" - ] - }, - "advanced_security_committers": { - "type": "integer", - "examples": [ - 25 - ] - }, - "advanced_security_committers_breakdown": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_login": { - "type": "string" - }, - "last_pushed_date": { - "type": "string", - "examples": [ - "2021-11-03" - ] - }, - "last_pushed_email": { - "type": "string", - "examples": [ - "monalisa@github.com" - ] - } - }, - "required": [ - "user_login", - "last_pushed_date", - "last_pushed_email" - ] - } - } - }, - "required": [ - "name", - "advanced_security_committers", - "advanced_security_committers_breakdown" - ] - } - } - }, - "required": [ - "repositories" - ] - } - } - } - ], - "statusCodes": [ - { - "httpStatusCode": "200", - "description": "

Success

" - } - ], - "previews": [], - "progAccess": { - "userToServerRest": true, - "serverToServer": true, - "fineGrainedPat": true, - "permissions": [ - { - "\"Enterprise administration\" enterprise permissions": "write" - } - ] - } - } - ], "code-security-and-analysis": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -221402,14 +221192,14 @@ } } ], - "license": [ + "licensing": [ { "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "get", "requestPath": "/enterprise/settings/license", "title": "Get license information", "category": "enterprise-admin", - "subcategory": "license", + "subcategory": "licensing", "parameters": [], "bodyParameters": [], "descriptionHTML": "", @@ -221485,6 +221275,214 @@ "fineGrainedPat": false, "permissions": [] } + }, + { + "serverUrl": "http(s)://HOSTNAME/api/v3", + "verb": "get", + "requestPath": "/enterprises/{enterprise}/settings/billing/advanced-security", + "title": "Get GitHub Advanced Security active committers for an enterprise", + "category": "enterprise-admin", + "subcategory": "licensing", + "parameters": [ + { + "name": "enterprise", + "description": "

The slug version of the enterprise name.

", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "advanced_security_product", + "in": "query", + "description": "

The security product to get GitHub Advanced Security active committers for.

\n

For standalone Code Scanning or Secret Protection products, this parameter is required to specify which product you want committer information for. For other plans this parameter cannot be used.

", + "required": false, + "schema": { + "type": "string", + "enum": [ + "code_security", + "secret_protection" + ] + } + }, + { + "name": "per_page", + "description": "

The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "page", + "description": "

The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"

", + "in": "query", + "schema": { + "type": "integer", + "default": 1 + } + } + ], + "bodyParameters": [], + "descriptionHTML": "

Gets the GitHub Advanced Security active committers for an enterprise per repository. The authenticated user must be an enterprise admin or billing manager.

\n

Each distinct user login across all repositories is counted as a single Advanced Security seat, so the total_advanced_security_committers is not the sum of active_users for each repository.

\n

The total number of repositories with committer information is tracked by the total_count field.

", + "codeExamples": [ + { + "key": "default", + "request": { + "description": "Example", + "acceptHeader": "application/vnd.github.v3+json", + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success

", + "example": { + "total_advanced_security_committers": 2, + "total_count": 2, + "maximum_advanced_security_committers": 4, + "purchased_advanced_security_committers": 4, + "repositories": [ + { + "name": "octocat-org/Hello-World", + "advanced_security_committers": 2, + "advanced_security_committers_breakdown": [ + { + "user_login": "octocat", + "last_pushed_date": "2021-11-03", + "last_pushed_email": "octocat@github.com" + }, + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-25", + "last_pushed_email": "octokitten@github.com" + } + ] + }, + { + "name": "octocat-org/server", + "advanced_security_committers": 1, + "advanced_security_committers_breakdown": [ + { + "user_login": "octokitten", + "last_pushed_date": "2021-10-26", + "last_pushed_email": "octokitten@github.com" + } + ] + } + ] + }, + "schema": { + "type": "object", + "properties": { + "total_advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "total_count": { + "type": "integer", + "examples": [ + 2 + ] + }, + "maximum_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences required if all repositories were to enable GitHub Advanced Security", + "examples": [ + 4 + ] + }, + "purchased_advanced_security_committers": { + "type": "integer", + "description": "The total number of GitHub Advanced Security licences purchased", + "examples": [ + 4 + ] + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "examples": [ + "octocat/Hello-World" + ] + }, + "advanced_security_committers": { + "type": "integer", + "examples": [ + 25 + ] + }, + "advanced_security_committers_breakdown": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_login": { + "type": "string" + }, + "last_pushed_date": { + "type": "string", + "examples": [ + "2021-11-03" + ] + }, + "last_pushed_email": { + "type": "string", + "examples": [ + "monalisa@github.com" + ] + } + }, + "required": [ + "user_login", + "last_pushed_date", + "last_pushed_email" + ] + } + } + }, + "required": [ + "name", + "advanced_security_committers", + "advanced_security_committers_breakdown" + ] + } + } + }, + "required": [ + "repositories" + ] + } + } + } + ], + "statusCodes": [ + { + "httpStatusCode": "200", + "description": "

Success

" + } + ], + "previews": [], + "progAccess": { + "userToServerRest": true, + "serverToServer": true, + "fineGrainedPat": true, + "permissions": [ + { + "\"Enterprise administration\" enterprise permissions": "write" + } + ] + } } ], "manage-ghes": [ diff --git a/src/rest/lib/config.json b/src/rest/lib/config.json index 392009efc126..50e1e2bada15 100644 --- a/src/rest/lib/config.json +++ b/src/rest/lib/config.json @@ -47,5 +47,5 @@ ] } }, - "sha": "caa08e081cdd82b4b570a381822a00639cfda6f2" + "sha": "dafe0f9ac291168cb41ccc752fbdde576ae44f63" } \ No newline at end of file diff --git a/src/webhooks/lib/config.json b/src/webhooks/lib/config.json index 1fb5be9ecf7d..4c0b862cfe7f 100644 --- a/src/webhooks/lib/config.json +++ b/src/webhooks/lib/config.json @@ -1,3 +1,3 @@ { - "sha": "caa08e081cdd82b4b570a381822a00639cfda6f2" + "sha": "dafe0f9ac291168cb41ccc752fbdde576ae44f63" } \ No newline at end of file